如何注册侧边栏wordpress

时间:2017-03-07 18:49:57

标签: php wordpress

我正在制作一个wordpress模板,需要注册一个侧边栏。我使用函数register_sidebar()来做它并且它工作,但它似乎与wordpress的默认侧边栏冲突。默认侧边栏显示为非活动状态。我如何注册默认的wordpress侧边栏?

我的代码在functios.php

function wpb_init_widgets($id) {
    register_sidebar(array(
        'name' => 'Sidebar-1',
        'id'   => 'sidebar-1',
        'before_widget' => '<div class="sidebar-module">',
        'after_widget' => '</div>',
        'before_title' => '</h4>',
        'after_title' => '</h4>'
    ));
}
add_action('widgets_init','wpb_init_widgets');

提前感谢。

2 个答案:

答案 0 :(得分:2)

尝试编辑您的代码:

function wpb_init_widgets_custom($id) {
    register_sidebar(array(
        'name' => 'Customsidebar-1',
        'id'   => 'customsidebar-id',
        'before_widget' => '<div class="sidebar-module">',
        'after_widget' => '</div>',
        'before_title' => '</h4>',
        'after_title' => '</h4>'
    ));
}
add_action('widgets_init','wpb_init_widgets_custom');

对于ID,您需要使用-id,因为如果您没有设置id参数值,您将在调试模式下获得E_USER_NOTICE消息。 ID sidebar-1也被许多主题所采用,因此可能会引起冲突 让我知道这是否有帮助,以及默认侧边栏是否仍处于非活动状态。

正如Leland建议的那样,也尝试更改功能名称,这可能也是冲突的原因,甚至可能比什么更可能我上面写的。因此新函数名称更改为wpb_init_widgets_custom。

答案 1 :(得分:0)

尝试这样做

add_action( 'widgets_init', 'function_widgets_init' );
function function_widgets_init()
{
  register_sidebar( array (
    'name' => __( 'Sidebar Widget Area', 'textdomain' ),
    'id' => 'primary-widget-area',
    'before_widget' => '<li id="%1$s" class="widget-container %2$s">',
    'after_widget' => "</li>",
    'before_title' => '<h3 class="widget-title">',
    'after_title' => '</h3>',
   ) );

 }