向WordPress添加新的小部件会禁用现有的小部件

时间:2017-05-23 作者:tswedensky87

我需要添加四个显示在指定页面上的边栏小部件。当我向函数中添加代码来创建新的小部件时。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>\',
));
}

我担心我的客户网站有太多插件,可能会干扰创建新的小部件。

1 个回复
最合适的回答,由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\' );

结束