WordPressでカテゴリー別に異なるバナー等を表示する方法
このブログの各記事の最後(右下)に、記事のタグやカテゴリーに合わせたブログ村のバナーを設置してみました。
ブログランキング・サイト「にほんブログ村」では、ランキング投票用のバナーが種類豊富に用意されていて、カテゴリー毎のランキング・ページに直接リンクを張ることができます。
しかし、ブログのトピックがなかなか1つに絞れないサイトでは、結局、1つのトピックのバナーだけを全ての記事に表示するわけにはいかず、ブログ村トップページへのバナーしか選択できないことになってしまいます。
かといって、1つ1つの記事にカテゴリー毎のバナーを手作業で挿入するのは面倒ですし、後で外したいときに、また手作業で1つ1つ外していくことになるのでは、大変なことになってしまいます。
そこで、WordPressのテンプレート・ファイルをいじることで、記事のカテゴリー毎に異なる内容を表示させることができないものかな、と思って、少し調べてみました。
試行錯誤の結果、in_category というテンプレートタグを利用することで、なんとか意図したとおりに表示することができました。
方法は、以下の通りです。
- 「外観」→「編集」→「単一記事の編集」(single.php)を開く。
- <?php the_content(); ?>の後など、挿入したい箇所に以下の要領で条件分岐の php テンプレート・タグを挿入。
<?php if ( in_category( 'wordpress' ) ){ ?>
"wordpress" というカテゴリーの記事で表示したい内容
<?php }elseif(in_category('internet')){ ?>
"internet" というカテゴリーの記事で表示したい内容
<?php }elseif ( has_tag( 'golf' ) ){ ?>
"golf" というタグがある記事で表示したい内容
<?php }else{ ?>
上記のいずれにも該当しない記事で表示したい内容
<?php }?>
以上です。
上記の例だと、たとえば「wordpress」と「internet」の両方のカテゴリーに属している記事の場合は、最初の条件である「wordpress」の方が優先されて、「internet」で指定した内容は表示されません。
関連ページ: