WordPressでカテゴリー別に異なるバナー等を表示する方法

2010年4月24日

このブログの各記事の最後(右下)に、記事のタグやカテゴリーに合わせたブログ村のバナーを設置してみました。

ブログランキング・サイト「にほんブログ村」では、ランキング投票用のバナーが種類豊富に用意されていて、カテゴリー毎のランキング・ページに直接リンクを張ることができます。

しかし、ブログのトピックがなかなか1つに絞れないサイトでは、結局、1つのトピックのバナーだけを全ての記事に表示するわけにはいかず、ブログ村トップページへのバナーしか選択できないことになってしまいます。

かといって、1つ1つの記事にカテゴリー毎のバナーを手作業で挿入するのは面倒ですし、後で外したいときに、また手作業で1つ1つ外していくことになるのでは、大変なことになってしまいます。

そこで、WordPressのテンプレート・ファイルをいじることで、記事のカテゴリー毎に異なる内容を表示させることができないものかな、と思って、少し調べてみました。

試行錯誤の結果、in_category というテンプレートタグを利用することで、なんとか意図したとおりに表示することができました。

方法は、以下の通りです。

  1. 「外観」→「編集」→「単一記事の編集」(single.php)を開く。
  2. <?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」で指定した内容は表示されません。


関連ページ:



0件のコメント