例)
sidebar-aaa.php
sidebar-bbb.php
sidebar-ccc.php
sidebar-ddd.php
新規に作成した4つのサイドバーをカテゴリ別に表示する方法。
category.php(archive.php)に↓を追加します。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 |
<?php if(in_category(array('20','74'))) : get_sidebar('aaa'); elseif(in_category(array('4','6','141'))) : get_sidebar('bbb'); elseif(in_category(array('79','222'))) : get_sidebar('ccc'); elseif(in_category(array('2','282','324'))) : get_sidebar('ddd'); else : get_sidebar(); endif ?> |
- 説明
カテゴリID別にサイドバーを振り分けていますが、どのカテゴリIDにも該当しない場合sidebar.phpが表示されます。 - get_sidebar(‘aaa’)のaaaについては、
sidebar-aaa.phpの部分を記入します。
管理画面のウィジェットと同期させたい場合
functions.phpの/*** WordPress Widgets start right here. */の下に、管理画面のウィジェット関連があるので、そこに↓を追加。
例)管理画面のウィジェットエリアにSidebarAを表示。
1 2 3 4 5 6 7 8 9 10 11 12 13 |
register_sidebar(array( 'name' => __('SidebarA'), 'description' => __('sidebar-aaa.php'), 'id' => 'sidebarA', 'before_title' => ' <div class="widget-title">', 'after_title' => '</div> ', 'before_widget' => ' <div id="%1$s" class="widget-wrapper %2$s">', 'after_widget' => '</div> ' )); |
新規に作成したサイドバー(sidebar-aaa.php)に↓を追加するとウィジェットと同期できます。
1 |
<?php if (!dynamic_sidebar('sidebarA')) : ?> |
投稿ページごとに違うサイドバーを出す場合
単純にsingle.phpに↓を挿入すればOKです。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 |
<?php if(in_category(array('20','74'))) : get_sidebar('aaa'); elseif(in_category(array('4','6','141'))) : get_sidebar('bbb'); elseif(in_category(array('79','222'))) : get_sidebar('ccc'); elseif(in_category(array('2','282','324'))) : get_sidebar('ddd'); else : get_sidebar(); endif ?> |
固定ページごとに違うサイドバーを出す場合
page.phpに↓を挿入すればOK。 is_pageです。
1 2 3 4 5 6 7 8 9 10 11 |
<?php if(is_page(array('3','5'))) : get_sidebar('aaa'); elseif(is_page('10')) : get_sidebar('bbb'); else : get_sidebar(); endif ?> |
コメントを残す