[WordPress][教程] 为模板增加一个侧边栏

前言:

你是否曾经因为心爱的模板具有某些小瑕疵而“纠结”不已呢?我就囧了这么一回。刚刚实现了侧边栏的动态化(跟随屏幕滚动),但是由于侧边栏只有一个,小工具内容又多,屏幕很难整个容下一个狭长的侧边栏。因此,我开始构思,能否增加一个侧边栏,专门存放那些需要跟随滚动的内容呢。

解决方案:

在开始动手之前,我们需要简单了解一下 wordpress 关于 sidebar (侧边栏)的运行原理。

大多数模板的侧边栏文件通常为 sidebar-*.php ,其中“*”为自定义的名字,对于某些单侧边栏的模板,通常只是命名为 sidebar.php 。我们要增加一个新的侧边栏,就需要按照规定的命名规则建立一个新的侧边栏文件。

不同页面对不同 sidebar 的调用都是通过 get_sidebar() 函数进行的, get_sidebar() 的参数为侧边栏文件名中自定义的部分(即为“*”的部分),默认情况下调用 sidebar.php 。例如我需要在模板 index.php 中调用 sidebar-front.php 文件中定义的侧边栏,只需要在 index.php 中的相应位置加上 get_sidebar( ‘front’ ) 即可。

只是新建侧边栏文件和调用还不够,因为此时 wordpress 程序本身还没有意识到有新的侧边栏加入进来,所以还需要我们对其进行注册。侧边栏的注册一般是在 functions.php 中调用 register_sidebars() 函数进行的,函数的参数为整型,表示侧边栏的数量。例如目前的模板有 n 个侧边栏,我需要增加一个侧边栏,那么侧边栏的总数则为 n + 1 ,只需要调用 register_sidebars( n + 1 ) 即可。

做足了功课,就可以动手实践了。下面以 glossy stlyo 1.04 为例进行演示。

新建侧边栏文件:

在 glossy stlyo 的模板根目录下,只有一个 sidebar.php 文件,此模板为单侧边栏模板。我们新建一个侧边栏文件,命名为 sidebar-2.php ,并将 sidebar.php 中的内容原样复制到 sidebar-2.php 中。接着我们要做一些修改,用以让 wordpress 程序区分两个侧边栏。

修改前的部分内容为:

修改后为:


    

dynamic_sidebar() 函数的参数为整型,表示加载第 n 个侧边栏。另外在第一行新增的内容是为了给新侧边栏增加一个标示id,用于制作动态侧边栏用,可以无视。

各页面对侧边栏的调用:

这部分比较简单,只需要在原先调用过 get_sidebar() 的文件里再加上你的调用函数即可。例如 glossy stylo 的 index.php 的部分内容如下:



增加对 sidebar-2.php 的调用,修改后为:




侧边栏的注册:

这里需要修改 functions.php 中的内容,例如 glossy stylo 的 functions.php 的部分内容如下:

if ( function_exists('register_sidebar') ) 
{
    register_sidebar
    (
        array
        (
            'before_widget' => '
  • ', 'after_widget' => '
  • ', 'before_title' => '

    ', 'after_title' => '

    ', ) ); }

    修改为:

    if ( function_exists('register_sidebars') )
        register_sidebars(2);
    

    如此一来,新建侧边栏的任务便大功告成。享受成就感带来的快感之前还要明白一个道理,重要的不是去为 blog 新增一个功能,而是在不断折腾的过程中锻炼自己。

    《[WordPress][教程] 为模板增加一个侧边栏》上有2条评论

    发表回复

    您的邮箱地址不会被公开。 必填项已用 * 标注