繁体   English   中英

在Wordpress中,如何从边栏中删除搜索小部件

[英]In wordpress, how remove search widget from sidebar

$ registered_sidebars = wp_get_sidebars_widgets(); 得到这样的输出

Array
    (
         [sidebar] => Array
            (
                [0] => search-2
                [1] => recent-posts-2
                [2] => recent-comments-2
                [3] => archives-2
                [4] => categories-2
                [5] => meta-2
                [6] => advanced_sidebar_menu_category-2
                [7] => advanced_sidebar_menu-3
            )

    )

我想从数组中删除search-2,尝试这样

unregister_sidebar( 'search-2' ); 

但不起作用

unregister_sidebar取消注册边栏,而不是边栏小部件。 “ search-2”不是侧边栏,而是小部件。

wp_get_sidebars_widgets列出活动的窗口小部件。 如果要从wp_get_sidebars_widgets返回的数组中删除“ search-2”,只需转到仪表板中的“外观”>“小部件”,然后从边栏中“删除”搜索小部件。

编辑:要在特定页面上隐藏小部件,您可以使用显示小部件小部件逻辑Jetpack之类的插件。

以编程方式,有几种选择。

您可以对不同页面使用不同的侧边栏。 您可以使用模板页面上的get_sidebar .function包含特定的侧边栏。 只需输入备用侧边栏名称。

您也可以使用“ sidebars_widgets”过滤器。

add_filter( 'sidebars_widgets', 'disable_search_widget' );

function disable_search_widget( $sidebars_widgets ) {

    if ( is_home() && is_array($sidebars_widgets['primary-widget-area']) ) {
            foreach($sidebars_widgets['primary-widget-area'] as $i => $widget) {
                if(strpos($widget, 'search-2') !== false) {
                    unset($sidebars_widgets['primary-widget-area'][$i]);
                }
            }

    }

    return $sidebars_widgets;
}

编辑2稍微更改上面的代码。 应该防止错误。

上面的解决方案很棒,但是如果您不方便使用php,实际上最简单的方法是使用css并隐藏搜索小部件:

.widget.widget_search{ display:none; }

因此,如果您只想将其隐藏在首页上,则可以使用以下方法:

body.home .widget.widget_search{ display:none; }

希望这会对您有所帮助;)

干杯,phpbits

这个对我有用。 从侧边栏中注销所有小部件。 您必须调用一次,例如在after_switch_theme操作中

add_action('after_switch_theme', 'deregister_sidebar_widgets');
function deregister_sidebar_widgets () {   
    $sidebar_widgets = wp_get_sidebars_widgets();
    if (isset($sidebar_widgets['sidebar'])) {
       foreach($sidebar_widgets['sidebar'] as $i => $widget) {
           unset($sidebars_widgets['sidebar'][$i]);
        }
        wp_set_sidebars_widgets($sidebar_widgets);
    }
}

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM