WordPress: 本文に画像がない場合の「いいね用代替え画像」を指定するコードを書いた
本文に画像がない場合の「いいね用代替え画像」を指定するコードを書いた。
2年ほど前に書いた「WordPress: facebookの「いいね」に使われる画像を指定するコード書いた | Hinemosu」の機能縮小版です。
「いいね!」用代替え画像指定コード
「いいね用代替え画像」を指定するには、個別記事のHTMLヘッダー生成処理を行うブロックに以下のコードを追加してください。
<?php $str = $post->post_content; $searchPattern = '/<img.*?src=(["\'])(.+?)\1.*?>/i'; if ( !preg_match( $searchPattern, $str ) ) { echo '<meta property="og:image" content="IMAGE_URL"/>'; } ; ?>
上記のコードを使用すると、ブログ本文にimgタグがない場合、Facebookの「いいね!」ボタンを押した時に使用されるサムネイル画像として、IMAGE_URLで指定されるURLに存在するファイルが使用されます。
コードを書いた経緯など
ウチのブログでは、OpenGraph用のタグ生成をJetpack for WordPressに任せてるんだけど、本文に画像がない場合はog:imageのタグを生成しないのよね。
で、og:imageがない場合は、facebook側で記事先頭付近にある画像を拾ってくるんだけど、ウチのブログだと「」が表示されて格好悪いのよ。
この問題を解決するために、本文に画像がない場合にのみ代替え画像を指定するコードを書いたって次第です。
そのうちJetpack側で対応手段が出来るんじゃないかと思うけど、それまでは上記コードが便利に使えると思いますよ。
そんな感じで!
ディスカッション
コメント一覧
まだ、コメントがありません