
サイトやカテゴリーによっては、アイキャッチ画像はさほど重要でなく同じような画像を使い回すこともあると思います。
当サイトでも「カスタマイズ」「DIVER」タグは画像を使い回していますが、投稿する度にアイキャッチ画像を探して設定するのは面倒。
そこで、「カスタマイズ」「DIVER」タグの記事でアイキャッチ画像を手動設定していない場合は、公開時に自動設定するようにしました。
特に「カスタマイズ」タグは記事も多いので、7種類のアイキャッチ画像を作ってランダムに自動設定させています。
アイキャッチ画像を自動で設定させるコード
使用中の「functions.php」に下のコードを追記して下さい。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 |
function default_taxonomy_eyecatch() { global $post; $has_eyecatch = has_post_thumbnail($post->ID); if (!$has_eyecatch) { //アイキャッチ画像が設定されていない場合 if (in_category('カテゴリー名')) { //○○カテゴリーの場合 set_post_thumbnail($post->ID, '画像ID'); //指定した画像を設定 } elseif (has_tag('タグ名')) { //○○タグの場合 set_post_thumbnail($post->ID, '画像ID'); //指定した画像を設定 } else { //どれにも当てはまらない場合 $imageIDs = array('画像ID','画像ID','画像ID','画像ID','画像ID'); //この中からランダムに選択 $arrKey = array_rand($imageIDs,1); //ランダムに選んだ画像のキーを1つ返す set_post_thumbnail($post->ID, $imageIDs[$arrKey]); //選択した画像を設定 } } } add_action('the_post', 'default_taxonomy_eyecatch'); |
条件分岐部分は説明のための例です。サイト運用に合わせて組み合わせて下さい。
ランダムに選択させる場合、候補画像はなるべく多く用意しましょう。