是否有一种方法可以使用我的子主题Calendar或style.css从定制器的列表中隐藏一些选定的小部件(例如:Recent Comment和functions.php )。请参阅下面的截图:

发布于 2017-05-03 16:24:44
禁止Widget出现在此列表中的唯一方法是注销它。您可以在自定义程序中这样做:
function unregister_customizer_widgets() {
if ( is_customize_preview() ){
unregister_widget('WP_Widget_Recent_Posts');
}
}
add_action( 'widgets_init', 'unregister_customizer_widgets' );但这将从页面预览和侧边栏中删除它。即使它在页面的某个地方使用,它也不会被显示,这不是一个非常有用的解决方案。您可以通过查看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;。
但是再考虑一下,如果您必须将小部件隐藏在用户面前,在一个地方显示而在另一个地方显示将使您感到困惑。
https://wordpress.stackexchange.com/questions/265696
复制相似问题