我正在制作一个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');
提前感谢。
答案 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>',
) );
}