我试图使用下面的代码删除wordpress定制器中的菜单面板,但它不工作.有人请指导我.谢谢
$wp_customize->remove_panel( 'nav_menus' );
Run Code Online (Sandbox Code Playgroud)
有2张Trac门票可以解决这个问题.完整的解决方案是
add_action( 'customize_register', function( $wp_customize ) {
/** @var WP_Customize_Manager $wp_customize */
remove_action( 'customize_controls_enqueue_scripts', array( $wp_customize->nav_menus, 'enqueue_scripts' ) );
remove_action( 'customize_register', array( $wp_customize->nav_menus, 'customize_register' ), 11 );
remove_filter( 'customize_dynamic_setting_args', array( $wp_customize->nav_menus, 'filter_dynamic_setting_args' ) );
remove_filter( 'customize_dynamic_setting_class', array( $wp_customize->nav_menus, 'filter_dynamic_setting_class' ) );
remove_action( 'customize_controls_print_footer_scripts', array( $wp_customize->nav_menus, 'print_templates' ) );
remove_action( 'customize_controls_print_footer_scripts', array( $wp_customize->nav_menus, 'available_items_template' ) );
remove_action( 'customize_preview_init', array( $wp_customize->nav_menus, 'customize_preview_init' ) );
}, 10 );
Run Code Online (Sandbox Code Playgroud)
更多细节:
https://core.trac.wordpress.org/ticket/33552
https://core.trac.wordpress.org/ticket/33411
在旧版本的wordpress(<4.3)中,这有效,但现在不行:
function your_customizer( $wp_customize ) {
$wp_customize->remove_panel( 'widgets' );
}
add_action( 'customize_register', 'your_customizer' );
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
726 次 |
| 最近记录: |