我需要添加四个显示在指定页面上的边栏小部件。当我向函数中添加代码来创建新的小部件时。php,它会禁用其他小部件。
页脚小部件和现有边栏小部件之一停止工作。它们仍然出现在Appearance -> Widgets, 但在网站上,他们停止显示。
下面是我用来添加小部件的代码。
if ( function_exists(\'register_sidebar\') ) {
register_sidebar(array(
\'name\' => \'Sidebar About\',
\'id\' => \'about-sidebar\',
\'description\' => \'Sidebar that shows only on the About page\',
\'before_widget\' => \'<li id="%1$s">\',
\'after_widget\' => \'</li>\',
\'before_title\' => \'<h2>\',
\'after_title\' => \'</h2>\',
));
}
我担心我的客户网站有太多插件,可能会干扰创建新的小部件。
最合适的回答,由SO网友:Mehedi_Sharif 整理而成
你错过了很多东西。您必须在代码中添加add操作挂钩。在下面我给你一个理想的小部件代码。现在试试这个。用我的代码替换你的代码。希望它能起作用。谢谢
function test_widgets_init() {
register_sidebar( array(
\'name\' => esc_html__( \'Sidebar\', \'test\' ),
\'id\' => \'sidebar-1\',
\'description\' => esc_html__( \'Add widgets here.\', \'test\' ),
\'before_widget\' => \'<section id="%1$s" class="widget %2$s">\',
\'after_widget\' => \'</section>\',
\'before_title\' => \'<h2 class="widget-title">\',
\'after_title\' => \'</h2>\',
) );
}
add_action( \'widgets_init\', \'test_widgets_init\' );