通知エリアのメッセージをカテゴリーページごとに変更する方法

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

はじめに

通知エリアに表示される通知メッセージと通知URLを、カテゴリーページごとに変更します。
この記事では、この方法について説明します。

Cocoon設定
設定大項目項目設定値
通知通知表示通知エリアの表示オン
通知メッセージメッセージを入力
通知URL

実装手順

以下のコードをfunctions.phpに追加します。

/**
 * 現在表示中のカテゴリーに対応する通知情報を取得
 *
 * @return array|null 対応する通知データ
 */
if (!function_exists('get_category_notice_data')) :
function get_category_notice_data() {
  if (!is_category()) {
    return null;
  }

  $cat = get_queried_object();
  if (!$cat || !isset($cat->term_id)) {
    return null;
  }

  // カテゴリーIDごとの通知データ
  $category_data = [
    123 => [
      'url'     => 'https://example.com/news',
      'message' => '最新のお知らせはこちら',
    ],
    456 => [
      'url'     => 'https://example.com/event',
      'message' => 'イベント情報はこちら',
    ],
  ];

  $cat_id = $cat->term_id;

  return $category_data[$cat_id] ?? null;
}
endif;


// Cocoon設定(通知)の通知メッセージを変更
add_filter('get_notice_area_message', function ($mod) {
  $category_notice = get_category_notice_data();
  return $category_notice === null ? $mod : $category_notice['message'];
});


// Cocoon設定(通知)の通知URLを変更
add_filter('get_notice_area_url', function ($mod) {
  $category_notice = get_category_notice_data();
  return $category_notice === null ? $mod : $category_notice['url'];
});

さいごに

今回紹介した方法を使えば、カテゴリーページごとに通知メッセージとリンク先を簡単に切り替えることができます。
特定のカテゴリーページに合わせた誘導リンクを設置したい場合に、ぜひ活用してください。

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