是不是已经厌倦了每页千篇一律的页面了呢?是不是想让你的侧边栏更加丰富多彩?是不是想让你的侧边栏更加充实? index.php、page.php、archive.php、single.php…… 每个页面都调用着同一个 sidebar.php,其实我们完全可以为不同的页面调用各自独立的不同的侧边栏。
实现不同页面调用不同侧边栏的想法很简单:注册一个新的侧边栏 sidebar2.php,然后在需要调用 sidebar2 的页面代替原来的 sidebar。
步骤:
1、注册一个新的侧边栏 sidebar2。
在主题文件夹下的 function.php 中找到类似以下代码:
if ( function_exists('register_sidebar') )
register_sidebar(array(
'before_widget' => ' <div class= "widget" > ',
'after_widget' => ' </div> ',
'before_title' => ' <h3> ',
'after_title' => ' </h3> ',
));
register_sidebar(array(
'before_widget' => ' <div class= "widget" > ',
'after_widget' => ' </div> ',
'before_title' => ' <h3> ',
'after_title' => ' </h3> ',
));
然后以相同的格式再注册添加一个 sidebar2。例如:
if ( function_exists('register_sidebar') )
register_sidebar(array(
'name' => 'sidebar2',
'before_widget' => ' <div class= "widget" > ',
'after_widget' => ' </div> ',
'before_title' => ' <h3> ',
'after_title' => ' </h3> ',
));
register_sidebar(array(
'name' => 'sidebar2',
'before_widget' => ' <div class= "widget" > ',
'after_widget' => ' </div> ',
'before_title' => ' <h3> ',
'after_title' => ' </h3> ',
));
2、新建 sidebar2.php 调用新注册的 sidebar2。
在 sidebar.php 中找到以下代码:
<div
class=
"sidebar"
>
<?php include_once( "tab.php"); ?>
<?php if ( function_exists( 'dynamic_sidebar') && dynamic_sidebar() ) : else : ?>
<?php endif; ?>
</div>
<?php include_once( "tab.php"); ?>
<?php if ( function_exists( 'dynamic_sidebar') && dynamic_sidebar() ) : else : ?>
<?php endif; ?>
</div>
然后以相同的格式新建 sidebar2.php 文件调用 sidebar2。例如:
<div
class=
"sidebar"
>
<?php include_once( "tab.php"); ?>
<?php if ( function_exists( 'dynamic_sidebar') && dynamic_sidebar( sidebar2) ) : else : ?>
<?php endif; ?>
</div>
<?php include_once( "tab.php"); ?>
<?php if ( function_exists( 'dynamic_sidebar') && dynamic_sidebar( sidebar2) ) : else : ?>
<?php endif; ?>
</div>
3、最后,在需要的页面调用 sidebar2.php 文件。
这里以 page.php 为例调用 sidebar2.php。在 page.php 中找到如下代码:
<?php
get_sidebar();
?>
修改为:
<?php
include_once(
"sidebar2.php");
?>
如果以上操作步骤都正确的话,会在小工具里多一个名为 sidebar2 的 Widget,你可以拖动添加你所需要的 Widget,如果你想要更多不同的侧边栏,还可以用相同的方法注册 sidebar3、sidebar4……