WordPressでcontent-single.phpやsingle.phpに対して特定のカテゴリーの時の条件分岐の処理を試すのでR

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。






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

月額900円(税抜)から、高速・多機能・高安定レンタルサーバー『エックスサーバー』
WordPressの運用に特化したレンタルサーバー『wpXレンタルサーバー』