我們在wordpress主題開發過程中,有時候需要對不同的頁面設計不同的側邊欄,我們先看下實現的最終效果如下圖:
在上圖我們可以看到,首頁與文章頁的側邊欄是分開的,這樣我們可以很好的控制想顯示的內容。
那這種效果如何實現呢?方法如下:
1、在主題的functions.php文件中添加如下代碼:
if ( function_exists('register_sidebar') ) { register_sidebar(array( 'name' => '首頁側欄', 'id' => 'widget_homesidebar', 'before_widget' => '<li id="%1$s" class="widget %2$s">', 'after_widget' => '</li>', 'before_title' => '<h2>', 'after_title' => '</h2>', )); register_sidebar(array( 'name' => '文章頁側欄', 'id' => 'widget_postsidebar', 'before_widget' => '<li id="%1$s" class="widget %2$s">', 'after_widget' => '</li>', 'before_title' => '<h2>', 'after_title' => '</h2>', )); }
以上代碼註冊了兩個側邊欄:“首頁側欄”與“文章頁側欄”。
2、在主題的側邊欄文件siderbar.php添加如下代碼:
<?php if(is_home() || is_front_page()) { //首頁顯示“首頁側欄” if (function_exists('dynamic_sidebar') && dynamic_sidebar('widget_homesidebar')){} } ?> <?php if ( is_single() ) {//文章頁顯示 “文章頁側欄” if (function_exists('dynamic_sidebar') && dynamic_sidebar('widget_postsidebar')){} } ?>
OK,到後臺看看效果吧!