WordPressで一覧でなく、投稿の中に入ると、content-single.phpやsingle.phpが使用されるのでR。
そのphpが使用されている時、ある特定のカテゴリーだけに何らかの処理をする場合には、その方法の条件分岐を試さないといけないのでR。
基本的には、
無難に、
if ある特定のカテゴリー
なんかの文字を出力
endif
としてみるのでR。これで特定のカテゴリーでのcontent-single.phpやsingle.phpで、なんらかの文字が出力されるはずでR。
そこで、
<?php if(is_category(1)) :?> <?php echo 'あたり'; ?> <?php endif; ?>
として、カテゴリーIDが1の時、あたり という文字が出るはずなのでRが、でないのでR。
調べると、is_categoryとin_categoryという似たような関数があるようなので、次に、
<?php if(in_category(1)) :?> <?php echo 'あたり'; ?> <?php endif; ?>
とすると、出たのでR。
is_categoryとin_categoryの違いは、ここに分かりやすく書かれていて、
is_categoryは、カテゴリーの属するアーカイブページであるか判定
に使われ、
in_categoryは、特定のカテゴリーに属する記事であるか判定
に使われるようでR。そのため、上のphpでは、in_categoryで正しかったようでR。
ちなみに、カテゴリーIDの調べ方は、ここの記事に書いたのでR。
さらに、
カテゴリーが2つ以上ある場合は、
<?php if(in_category(array('1','2','3')) :?> <?php echo 'あたり'; ?> <?php endif; ?>
のようにin_categoryの中に配列で指定するのでR。これについては、ここを参考にしたのでR。




この記事をシェアできます。