cocoonフック調査~get_category_meta_descriptionの使い方と活用例
タナビーの高梨です。
WordPressのテーマ「Cocoon」には、テーマ改変なしでデザインや動作を拡張できる豊富なアクション・フィルターフックが用意されています。
分かる範囲で内容を調査したのでブログにまとめていこうと思います。
今回はカテゴリーアーカイブページのメタディスクリプションの内容を変更できるフィルターフック
👉get_category_meta_description
です
フックの概要
| フック名 | 発火タイミング |
|---|---|
| get_category_meta_description | カテゴリーアーカイブページ描画時 |
発火条件
カテゴリーアーカイブページ描画時に無条件に1回発火します。
使いどころ
正直、通常運用での使いどころは思い浮かびません。
カテゴリーアーカイブページのメタディスクリプションは、
ダッシュボード>投稿>カテゴリー
で設定できる「メタディスクリプション」に入力した内容がそのまま使用されます。
実際のアーカイブページでは、以下のような形で出力されます。
<meta property="og:description" content="ダッシュボードで設定したメタディスクリプションの内容">
これを 動的に書き換えたいケースがあまり想定しづらい ため、SEO調整をかなり細かく行う場合や、特殊な要件がある場合向けのフックと言えそうです。
引数
$desc:(string)metaタグのcontentに設定される内容
apply_filters呼び出し元のソースコード
lib/seo.php
return apply_filters('get_category_meta_description', $desc);
カスタマイズコード例
無条件にメタディスクリプションに「modified description」という内容を設定する例です。
<meta property=”og:description” content=”modified description”>というタグになります。
function customize_get_category_meta_description ( $desc ) {
$desc = 'modified description';
return $desc;
}
add_filter('get_category_meta_description', 'customize_get_category_meta_description' );
条件分岐を追加すれば、特定のカテゴリーのみディスクリプションを差し替えるなども可能です。
注意点
・無条件で発火するため、条件分岐なしで変更すると すべてのカテゴリーに影響 する
・管理画面で設定したメタディスクリプションは 上書きされる
・特殊構成以外では、基本的に触る必要がないと思われる
まとめ
・get_category_meta_description は、カテゴリーアーカイブページのメタディスクリプションを変更できるフィルターフック
・管理画面で設定した値の 最終出力を上書きできる
・通常運用では使いどころが限定的