響き

BARとボサノヴァ、ローカルな旅、響きあう時間

  1. TOP
  2. プロフィールと近況
  3. カテゴリごとにサイドバーを変えたい

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

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

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

  1. サイドバーは1つで、カテゴリごとに表示を動的に変える
  2. カテゴリごとにサイドバーを用意する

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

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

functions.phpの以下の部分

register_sidebar();

を以下のように変更します。

register_sidebars(5, array());

register_sidebarでなくregister_sidebarsなのでお間違えのないよう。

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

次に、どのサイドバーをどのカテゴリで使うのかを指定する必要があります。

sidebar-***.php作成

まずはカテゴリ数分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();
}
?>

これで、各エントリが属するカテゴリのサイドバーが表示されるようになります。