こっちをメインって言ったよね なんでメインじゃないカテゴリーが表示されるの!?(●`ε´●)

 

こうして、[Post – 記事投稿]をメインとしているのだから、当然、記事リストやシングルページでも、メインのカテゴリーを表示(もしくは全カテゴリーを表示)されるでしょう。普通は…

と思っていたのですが、ところが実際は →

あれれ、メインカテゴリーじゃない

しかも、指摘されるまでず〜っと気がついていなかった(;´Д`)

さらにさらに、これってWordPressの標準の機能だとばかり思っていたら、なんと、Yoast SEO プラグインの機能だったんですねぇ

で、一般的にテンプレートでは、最初のカテゴリーを表示させるようにしていることが多いので、いくらメインを設定していても無視されていたのでした。

例えば、テーマ内でこんなふうに書かれています

これだと、$terms[0]->term_id と最初のカテゴリーを見ているので、(WordPressでは登録順に設定されてしまうため)いくらメインを設定しても反映されないわけです。

Yoast SEO には、WPSEO_Primary_Term()なんて関数が用意されているので、それを使って以下の様に(あくまで一例です)書き換えてやればメインカテゴリーが表示されるようになります。

あとは、パンくずについても修正する必要があるかもしれませんね。