2017-03-07 62 views
1

我正在制作wordpress模板,需要注册一个侧边栏。我使用函数register_sidebar()来做到这一点,它的作品,但它似乎与WordPress的默认侧边栏冲突。默认侧边栏显示为非活动状态。我如何注册默认的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

嗯,你是什么意思“默认侧边栏的WordPress的表现为无效”? –

+0

@L L你知道什么时候你有一个主题,你去的小部件,并有一个小工具边栏充满?该侧栏显示为无效,无法使用它。即时通讯不是非常有经验的wordpress,所以这可能是一个愚蠢的问题。 – eskimopest

+1

嘿,它看起来像'wpb_init_widgets()'是WP Bootstrap主题使用的相同功能:https://git.io/vy0Hq。如果这是您使用引用代码的主题,它将与现有函数冲突。尝试命名它别的东西。 – Leland

回答

1

尝试编辑这样的代码:

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。

+0

做了你所要求的并且问题仍然存在。我删除了我的主题并使用更改后的功能再次上传,结果相同。当我前往Appearence> Widgets时,我的自定义边栏就在那里,但在可用的小部件下方有一个不错的侧边栏。该消息表示:“此边栏不再可用,并且不会显示在您网站上的任何地方......”帮助? – eskimopest

+0

你使用什么主题? –

+0

我正在制作自己的主题。 – eskimopest

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>', 
    )); 

}