はじめに
以下でSWELL風のコンテンツヘッダーを追加する方法を紹介しました。
同様にアピールエリアのエリア画像をページごとにアイキャッチ画像に切り替えて表示します。
この記事では、この方法について説明します。
完成イメージ

実装手順
以下の手順で実装します。
- ラベルCocoon設定
表1に示す項目を設定します。
Cocoon設定 設定 大項目 項目 設定値 アピールエリア アピールエリアの表示 投稿・固定ページのみで表示する - ラベルPHPを追加
以下のコードをfunctions.cssに追加します。
add_filter('theme_mod_appeal_area_image_url', function($mod) { $url = null; // カテゴリーページの場合 if (is_category()) { $id = get_query_var('cat'); $url = get_the_category_eye_catch_url($id); } // タグページの場合 elseif (is_tag() || is_tax()) { $id = get_queried_object_id(); $url = get_the_tag_eye_catch_url($id); } // 投稿・固定ページの場合 elseif (is_singular()) { $url = wp_get_attachment_url(get_post_thumbnail_id()); } if ($url) { $mod = $url; } return $mod; });
参考:CSSだけで実装
以下の手順で実装します。
- ラベルCocoon設定
表3に示す項目を設定します。
Cocoon設定 設定 大項目 項目 設定値 アピールエリア アピールエリアの表示 投稿・固定ページのみで表示する - ラベルCSSを追加
以下のコードをstyle.cssに追加します。
該当ページごとに背景画像を定義します。/* 投稿 */ .postid-投稿ID .appeal { background-image: url('背景画像URL'); } /* 固定ページ */ .page-id-固定ページID .appeal { background-image: url('背景画像URL'); }
さいごに
今回紹介した方法を使えば、アピールエリアのエリア画像をページごとに柔軟に切り替えられるようになります。
アピールエリアを活用することで、訪問者に印象的なデザインを提供できるでしょう。