从列表中隐藏定制器的小部件选择

时间:2017-05-03 作者:Caracos

是否有方法隐藏一些选定的小部件(例如:Calendar &;Recent Comment) 使用“我的孩子”主题从自定义列表中functions.phpstyle.css. 请参阅以下屏幕截图:

a busy cat

1 个回复
最合适的回答,由SO网友:Greg36 整理而成

禁止小部件出现在此列表中的唯一方法是注销它。您可以在customizer中执行此操作:

function unregister_customizer_widgets() {
    if ( is_customize_preview() ){
        unregister_widget(\'WP_Widget_Recent_Posts\');
    }
}

add_action( \'widgets_init\', \'unregister_customizer_widgets\' );
But 这将从页面预览和侧栏中删除它。即使它在页面的某个位置使用,也不会显示出来,这不是一个非常有用的解决方案。您可以通过查看sidebars_widgets 选项并仅在未使用时将其隐藏,但这同样不是很好的解决方案。

这里,您最好的选择是使用CSS隐藏它,并仅为自定义程序将样式表排入队列:

function my_customize_preview_style() {
    wp_enqueue_style( \'new_customizer_style\', get_template_directory_uri() . \'/customizer-style.css\' );
}
add_action( \'customize_controls_print_styles\', \'my_customize_preview_style\' );
在其中隐藏所需的小部件并记住!important 因为他们都有内联display: block;.

但是,如果您必须向用户隐藏小部件,那么在一个位置显示和隐藏在另一个位置将令人困惑。

相关推荐

Admin Theme customization

我遵循wordpress codex网站上关于通过插件创建管理主题的说明。我激活了插件,但我的样式表没有包含在<head>.. 这是我的代码:add_action( \'admin_init\', \'kd_plugin_admin_init\' ); add_action( \'admin_menu\', \'kd_plugin_admin_menu\' ); function kd_plugin_admin_init() { /* Register