Kaori Aihara | Web & Graphic Designer

Yoast SEOのメインカテゴリーを取得する

プラグイン「Yoast SEO」をインストールすると使用できるようになる「メインカテゴリ」。
そのメインに設定されているカテゴリーを取得するのに、色々調べた結果をご紹介します。

カテゴリーによって変化するものを作りたい

わたしが個人的に運用するブログは以下の図のように、カテゴリーによってトップ画像が変わる仕様にしているのですが、
カテゴリーを複数設定するとなかなか思い通りの結果が得らず、この方法に辿り着きました。


投稿記事に付けたカテゴリーによって、トップ画像とその上に配置されたタイトル(h2)が変化します。
しかし、この画像は修正後ですが、最初は「Others」の画像が表示されてしまいました。

上の画像の「Foods」のページは、カテゴリー名「料理」(スラッグ名「foods」)が設定されていると
それに応じた写真が表示されるよう、クラスで定義してあります。

料理の記事なのでタイトルも画像も「Foods」にしたいところですが、「Others」が表示されてしまいます。
理由はもちろん、カテゴリーが「料理」と共に「その他」の子カテゴリーである「健康」を同時に設定しているからですよね。
そこで、WordPressのプラグイン「Yoast SEO」の機能「メインにする」を使って、
上の画像の2枚目のようにメインに設定したカテゴリーをトップ画像のタイトルと画像に反映させようと考えました。

メインに設定されたカテゴリを取得する

メインに設定されたカテゴリを取得するには、
new WPSEO_Primary_Term($taxonomy_name, $post_id)
を生成して関連する値をとることができます。方法は以下の通りです。

参考サイト:

WPSEO_Primary_Term::__construct • Yoast Developer Portal

Using Yoast’s “Primary” Category in Your WordPress Theme – JWinn Development

例:固定ページは固定ページのスラッグ名、個別ページはメインに設定されたカテゴリーのスラッグを表示

これで取得したメインカテゴリに応じて、画像やタイトルが変わるように設定すればOK。

この記事へのコメントはこちら

メールアドレスは公開されませんのでご安心ください。
また、* が付いている欄は必須項目となりますので、必ずご記入をお願いします。

内容に問題なければ、下記の「コメント送信」ボタンを押してください。