Yoast SEOのメインカテゴリーを取得する
プラグイン「Yoast SEO」をインストールすると使用できるようになる「メインカテゴリ」。
そのメインに設定されているカテゴリーを取得するのに、色々調べた結果をご紹介します。
カテゴリーによって変化するものを作りたい
わたしが個人的に運用するブログは以下の図のように、
カテゴリーを複数設定するとなかなか思い通りの結果が得らず、この方法に辿り着きました。
料理の記事なのでタイトルも画像も「Foods」にしたいところですが、「Others」が表示されてしまいます。
理由はもちろん、カテゴリーが「料理」と共に を同時に設定しているからですよね。
そこで、WordPressのプラグイン「Yoast SEO」の機能「 」を使って、
上の画像の2枚目のようにメインに設定したカテゴリーをトップ画像のタイトルと画像に反映させようと考えました。
メインに設定されたカテゴリを取得する
メインに設定されたカテゴリを取得するには、
new WPSEO_Primary_Term($taxonomy_name, $post_id)
を生成して関連する値をとることができます。方法は以下の通りです。
参考サイト:
Using Yoast’s “Primary” Category in Your WordPress Theme – JWinn Development
例:固定ページは固定ページのスラッグ名、個別ページはメインに設定されたカテゴリーのスラッグを表示
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 |
<?php if(!is_front_page()){ //固定ページだったら固定ページのスラッグ名を出力 if(is_page()) { $page = get_post(get_the_ID()); $cat_slug = $page->post_name; //固定ページのスラッグ名 } else { //メインカテゴリー(Yoast)取得 if (class_exists('WPSEO_Primary_Term')) { $wpseo_primary_term = new WPSEO_Primary_Term('category', get_the_ID()); $wpseo_primary_term = $wpseo_primary_term->get_primary_term(); $term = get_term($wpseo_primary_term); $cat_slug = $term->slug; //メインに設定されたカテゴリーのスラッグ名 } } // 処理 } ?> |
これで取得したメインカテゴリに応じて、画像やタイトルが変わるように設定すればOK。
この記事へのコメントはこちら