ひとりごと

【記録】カテゴリー毎にサイドバーを変えた記録

ひとりごと

テンプレートをCocoonに変えて、サイドバーをカテゴリーごとに変えようとあれこれ試した記録。

プラグインでやろうかなーと思ったんだけど、よくわからなかったので直接記述する方法にした。

Fanction.phpに色々書いてウェジットを増やす。

参考にしたサイト→電脳世界|WordPressでページによってサイドバーを出し分ける方法

ここは元々使ってたテンプレからコピーしてきたので苦労せず。
色々方法はあるみたいだけど私はそのままFanctionphpにつけたし。
そのまま持ってきたらウェジットのタイトルが出てこなかったので、スキンに合わせてBefor_titleにちょっと書き足した。
そのままだとソースちゃんと書けなかったのでh3の前にスペースを入れてる。


//サイドバー
if ( function_exists('register_sidebar') ) {
	
 register_sidebar( array(
		'name' => 'FF11',
		'id' => 'ff11-sidebar',
		'before_widget' => '
', 'after_widget' => '
', 'before_title' => '< h3 class="widget-sidebar-title widget-title">', 'after_title' => '< /h3>', ) ); register_sidebar( array( 'name' => 'FF14', 'id' => 'ff14-sidebar', 'before_widget' => '
', 'after_widget' => '
', 'before_title' => '< h3 class="widget-sidebar-title widget-title">', 'after_title' => '< /h3>', ) ); register_sidebar( array( 'name' => 'ゲーム', 'id' => 'game-sidebar', 'before_widget' => '
', 'after_widget' => '
', 'before_title' => '< h3 class="widget-sidebar-title widget-title">', 'after_title' => '< /h3>', ) ); register_sidebar( array( 'name' => 'ネトゲ', 'id' => 'othermmo-sidebar', 'before_widget' => '
', 'after_widget' => '
', 'before_title' => '< h3 class="widget-sidebar-title widget-title">', 'after_title' => '< /h3>', ) ); }

ウェジットをいじる。

ウェジット画面に上記で設定したウェジットが増えてるので色々する。

Sidebar.phpに記述する。

ここで詰まった。
色々見ててもGet_sidebarだかなんかを探してそこにってあったんだけどCocoonはどこにあるんや…と色々調べてここのサイトで漸く解決。

たびびとJINのブログ|トップページだけサイドバーを変えたい!プラグインを使わずにデザインも揃ったサイドバーを簡単に追加する方法

サイドバーをウィジェットで作ってるなら、get_sidebarじゃなくてdynamic_sidebarとりぃさんに教えて貰った。

とりあえずFF11のだけやってみようと思ってブログにあるやつをコピペして入れてみたらうまくいった!
うおお!
で、他のカテゴリーも…と思ったもののうまくいかず。
またりぃさんに泣きついた。

elseifを使えばいいよと教えて貰った。
このサイトがいいよーと教えて貰って睨めっこしてやってみたら出来た!!!
5分で理解できる技術録 | Yuji’s Weblog|5分で理解【PHP入門】条件分岐 if-elseif-else文の書き方を知りたい【if-elseif-else文の書き方徹底解説】

これもphpの前にスペースを入れてある。

< ?php

if ( is_category( 'ff11' ) ){ // ホームの場合 ) {
	dynamic_sidebar( 'ff11-sidebar' ); 
} elseif ( is_category( 'ff14' ) ){  
	 dynamic_sidebar( 'ff14-sidebar' ); 
} elseif ( is_category( 'game' ) ){ 
	 dynamic_sidebar( 'game-sidebar' ); 
} elseif ( is_category( 'othermmo' ) ){ 
	 dynamic_sidebar( 'othermmo-sidebar' ); 
} else {
	 dynamic_sidebar( 'sidebar' ); 
}
?>

ifelseとelseif、前後が入れ替わっただけでこんなにも違うんだな…と勉強になりました。
is_categoryとin_categoryの違いがよく分からなかったけど、りぃさんによるとウェジットをゲットするためのタグはisでいいらしいから今回はisでいいらしい。

りぃさんありがと!!
そして色々と解説して下さったブログの皆様もありがとう!!!

タイトルとURLをコピーしました