我正在尝试消除调试中的以下错误:
Notice: register_sidebar was called <strong>incorrectly</strong>.
No <code>id</code> was set in the arguments array for the "Header" sidebar.
因此,当我注册侧栏时,我添加了id参数,如下所示:
register_sidebar(array(
\'id\' => \'header-sidebar\',
\'name\' => \'Header\',
\'before_widget\' => \'<div class="widget">\',
\'after_widget\' => \'</div>\',
\'before_title\' => \'<h3 class="widget-title">\',
\'after_title\' => \'</h3>\',
));
现在不管我是使用name字段还是id字段
dynamic_sidebar
始终返回false。
我尝试过:
dynamic_sidebar( \'Header\' );
以及
dynamic_sidebar( \'header-sidebar\' );
我的理解是以上两项都应该有效。注意如果我在register\\u侧栏调用中注释掉id参数并使用
dynamic_sidebar( \'Header\' );
一切正常。我错过了什么?
这是WP 4.2.2。
因此,根据这些指示:List all sidebar names? 我能够列出所有侧栏名称,当我用register_sidebar
名称列表中的id会更改。我现在使用的特定提要栏在设置id之前是“提要栏-5”,之后是“提要栏jsp”。一旦设置了id字段,我就无法使用dynamic_sidebar
名称为“Sidebar”、原始id为“Sidebar-5”或新id为“Sidebar jsp”。
根据s\\u ha\\u dum的建议,我在一个函数中包装了一个侧栏,以便在“widgets\\u init”之后实现。这不起作用。
function register_header_sidebar_jsp() {
register_sidebar(array(
\'name\' => \'Sidebar\',
\'id\' => \'sidebar-jsp\',
\'before_widget\' => \'<div class="widget">\',
\'after_widget\' => \'</div>\',
\'before_title\' => \'<h3 class="widget-title">\',
\'after_title\' => \'</h3>\',
));
}
add_action( \'widgets_init\', \'register_header_sidebar_jsp\' );
我现在给它打电话:
<?php var_dump(dynamic_sidebar(\'sidebar-jsp\')); ?>
我不知道发生了什么事,但我没有一整天的时间来处理这件事。谢谢大家的建议。