特定のカテゴリに記事がある場合のみ、トップページで表示する

WordPressの特定のカテゴリに記事がある場合のみ、そのカテゴリに属している記事のみをトップページ( front-page.php )に新着表示する仕組みを作ろうとしました。
最初、 in_category で行けるかと思っていました。
以前にもin_category を使用した処理を書いたことはあったけど、まあ回数は少なかったので忘れてメモがてら説明を。

WordPress Codex 日本語版の説明には、

現在の投稿(あるいは指定した任意の投稿)に、指定したカテゴリーが割り当てられているか調べます。

関数リファレンス/in category
とあります。
「指定した任意の投稿」という表現に惑わされます。

この他、in_category の説明をしているブログなどでも、考えが「トップページに表示したい」という頭になっていると、思い込みも含めて、ちょっと分かりづらい説明になってしまっています。
「トップページに表示させたい」と思いながら下記のような記事を読むと、「正しいはずなのに表示されない!」となってしまいます…。

【備忘録】in_categoryの条件分岐【WordPress】

in_category は、「今自分がどこにいるか」で挙動が変わってきます。
たとえば、「news」というカテゴリと「information」というカテゴリがあったとして、

という書き方をしたときは、自分が information カテゴリにいるときしか機能しないものになります。

私のように、「特定のカテゴリの新着情報をトップページに表示させたい」という場合には、次のような書き方をすればOKです。
なんだかスッキリしない書き方だけど、今の私にはこれが限界。
アクションフックなんかが使えればカッコイイんだけどなぁ。

参考リンク

[WordPress] 特定のカテゴリに属する記事の数を取得する – かちびと.net

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です