ページごとにアピールエリアのエリア画像を切り替え表示する方法

Cocoonカスタマイズ集
この記事は約3分で読めます。
記事内に広告が含まれています。

はじめに

以下で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');
    }

さいごに

今回紹介した方法を使えば、アピールエリアのエリア画像をページごとに柔軟に切り替えられるようになります。
アピールエリアを活用することで、訪問者に印象的なデザインを提供できるでしょう。

タイトルとURLをコピーしました