はじめに
通知エリアに表示される通知メッセージと通知URLを、カテゴリーページごとに変更します。
この記事では、この方法について説明します。
| 設定 | 大項目 | 項目 | 設定値 |
|---|---|---|---|
| 通知 | 通知表示 | 通知エリアの表示 | オン |
| 通知メッセージ | メッセージを入力 | ||
| 通知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'];
});
さいごに
今回紹介した方法を使えば、カテゴリーページごとに通知メッセージとリンク先を簡単に切り替えることができます。
特定のカテゴリーページに合わせた誘導リンクを設置したい場合に、ぜひ活用してください。

