WORDPRESS カスタム投稿ページごとにサイドバーを作りたい

WORDPRESSマルチサイトを止めてカスタム投稿に移行したい
異なるジャンルのサイトを複数持つときに
マルチサイトは、別ブログという認識なので、サイドバーもデザインもほぼ自由に出来たんですが、
カスタム投稿にするとサイドバーが普通のサイドバーのまま表示されるので、
カスタム投稿、それぞれの専用のサイドバーを作りたかったわけです。

やっと出来たので、ちょっとメモを。
プラグインは使っていません
WORDPRESSのフォーラムには親切な人がたくさん。
いろんな人の情報を組み合わせて出来ました。

それぞれウィジェットを追加しカスタムに読み込む方式

今回の方法はカスタム投稿ごとにウィジェットを作って、
カスタム投稿のサイドバーに読み込む方法です。(テーマはTwentyTwelveです。)

まずは、<?php get_sidebar(); ?>を何とかするんだろうなと予測。
私はカスタム投稿が複数だったので
仮にカスタム投稿が 「WOOD」と「PLASTIC」だったとして

get_sidebar(カスタム投稿)を追加

参考にしたページ:複数のカスタム投稿のサイドーバー設置について

下記のコードをアーカイブarchive.phpやシングルsingle.phpなど
<?phpget_sidebar(); ?>
表記があるところに入れ替え。

WoodのときはWood用のサイドバーを、
PlasticのときはPlastic用のサイドバーをgetしてください
そうじゃなければDEFAULTでいいです。
とお願い。
(< >が全角になっています)

<?php
$post_type = $post -> post_type;
switch ($post_type) {
case ‘Wood’:
get_sidebar(‘Wood’);
break;
case ‘Plastic’:
get_sidebar(‘Plastic’);
break;
default:
get_sidebar();
}
?>

管理画面にウィジェットを作る

function.phpの中に
Registers our main widget area and the front page widget areas.
・・・と言うところがあります。

この下にあるコードをつかって追加します。
デフォルトのサイドバーが「’id’ => ‘sidebar-1’,」なわけです。
多分、sidebar-2 sidebar-3は先約があるので今回
sidebar-4
sidebar-5
を新たに追加するため、青字の部分をコピーして、sidebar-3の下に追加
(ペーストwood plastic 2つあるので2回ペーストします)
名前と数字を置き換えるのを忘れずに。

function twentytwelve_widgets_init() {
register_sidebar( array(
‘name’ => __( ‘Main SidebarWood‘, ‘twentytwelve’ ),
‘id’ => ‘sidebar-14‘,
‘description’ => __( ‘Appears on posts and pages except the optional Front Page template, which has its own widgets’, ‘twentytwelve’ ),
‘before_widget’ => ‘<aside id=”%1$s” class=”widget %2$s”>’,
‘after_widget’ => ‘</aside>’,
‘before_title’ => ‘<h3 class=”widget-title”>’,
‘after_title’ => ‘</h3>’,
) );

カスタム投稿のsidebar-“*”.phpを追加(作成)

wordpressから離れて、サーバーのtheme>twenty twelveデータがあるところに行って
sidebar.phpを元に
sidebar-wood.php
sidebar-plastic.php
のファイルを追加して作成しておく。
中身が空っぽなので、sidebar.phpの中身をそれぞれコピーするんですが、

<?php if ( is_active_sidebar( ‘sidebar-1’ ) ) : ?>
<div id=”secondary” class=”widget-area” role=”complementary”>
<?php dynamic_sidebar( ‘sidebar-1’ ); ?>

さっきのsidebar-1がデフォルトなので、
sidebar-wood.php → sidebar-4 に変更
sidebar-plastic.php → sidebar-5 に変更

管理画面にウィジェットを追加

それから・・・wordpress管理画面のWidgetsに行くと、なんということでしょう。
ウィジェットが登録できるようになっています。
私はタクソノミーが出ればよかったので、
タクソノミーを入れました。

細かく言うと、もっといろいろしたいんですけどw
素人にはとりあえずタクソノミーが表示できただけでいいのです。