響きアラタ|響きボサノバ教室

大阪市北区のボサノバ教室 講師のブログです

カテゴリごとにサイドバーを変えたい

トリコロールな猫さんありがとうございます。 これならできそうです。

Wordpressでカテゴリごとにサイドバーを変える - トリコロールな猫

  1. サイドバーは1つで、カテゴリごとに表示を動的に変える
  2. カテゴリごとにサイドバーを用意する
すべてのカテゴリでデザインを統一させたい場合は1.がいいと思いますが、将来的に各カテゴリの色をつけてみたい気もするので、今回は2.を選びました。

サイドバーを複数作成する

functions.phpの以下の部分
register_sidebar();
を以下のように変更します。
register_sidebars(5, array());
register_sidebarでなくregister_sidebarsなのでお間違えのないよう。

作成したサイドバーとカテゴリを関連づける

次に、どのサイドバーをどのカテゴリで使うのかを指定する必要があります。 まずはカテゴリ数分sidebar.phpを作ります。 各カテゴリのスラッグは次の通り。

single.phpを変更

<?php get_sidebar(); ?>
の記述を以下のように変更します。
<?php
if( in_category('wp') ) {get_sidebar('wp');}
elseif( in_category('iphoneapps') ) {get_sidebar('iphoneapps');}
elseif( in_category('lifehack') ) {get_sidebar('lifehack');}
elseif( in_category('blog') ) {get_sidebar('blog');}
else {
  get_sidebar();
}
?>
これで、各エントリが属するカテゴリのサイドバーが表示されるようになります。