向WordPress添加额外的侧边栏


Adding Additional Sidebar To Wordpress

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

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

我的函数.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()

这就是我拥有的所有信息,任何和所有帮助都值得赞赏

您引用的教程已经过时,并且没有使用WordPress最佳实践。

注册

侧边栏的正确方法是创建一个注册函数,然后将其挂接到widgets_init

在您的函数中.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>',
));
}

请参阅WordPress帖子中的Justin Tadlock的侧边栏。