添加附加边栏到Wordpress

时间:2011-05-14 02:16:39

标签: php wordpress

我正在尝试为我的Wordpress主题添加另一个侧边栏(Titan - http://wordpress.org/extend/themes/titan),但它似乎比教程中使用的主题更先进。

我一直在关注本指南 http://www.blogohblog.com/adding-extra-sidebar-to-your-wordpress-theme/

My Functions.php看起来像这样

<?php
    locate_template( array( 'functions' . DIRECTORY_SEPARATOR . 'titan-extend.php' ), true );

我一直在攻击的相关块titan-extend.php文件看起来像这样

    /*---------------------------------------------------------
        6. Register Sidebars
    ------------------------------------------------------------ */
    function registerSidebars() {
        register_sidebar(array(
            'name' => __( 'Sidebar', 'titan' ),
            'id' => 'normal_sidebar',
            'before_widget' => '<li id="%1$s" class="widget %2$s">',
            'after_widget' => '</li>',
            'before_title' => '<h2 class="widgettitle">',
            'after_title' => '</h2>',
        ));
        register_sidebar(array(
            'name' => 'sidebar2'));
            'id' => 'sidebar2'
            'before_widget' => '<li id="%1$s" class="widget %2$s">',
            'after_widget' => '</li>',
            'before_title' => '<h2 class="widgettitle">',
            'after_title' => '</h2>',
    ));

    }

我得到的当前错误是 致命错误:无法重新声明第121行/wp-content/themes/titan/functions/titan-extend.php中的Titan :: registerSidebars()

这就是我拥有的所有信息,感谢任何和所有帮助

1 个答案:

答案 0 :(得分:1)

您所指的教程已过时,不会使用WordPress最佳做法。

注册侧边栏的正确方法是创建一个寄存器功能,然后将其挂钩到widgets_init

在你的functions.php文件中

添加:

add_action( 'widgets_init', 'sydeberz_register_sidebar' );
function sydeberz_register_sidebar() {
 register_sidebar(
    array(
        'name' => 'sidebar2',
        'id' => 'sidebar2',
        'before_widget' => '<li id="%1$s" class="widget %2$s">',
        'after_widget' => '</li>',
        'before_title' => '<h2 class="widgettitle">',
        'after_title' => '</h2>',
));

}

见Justin Tadlock的Sidebars in WordPress帖子。