如何从WordPress主题定制器中删除菜单部分

时间:2016-12-25 作者:user5323957

我试图从WordPress customizer中删除菜单(见图)enter image description here

我在函数上尝试了以下代码。php文件和除菜单外的所有部分都已删除

  //Theme customizer

function mytheme_customize_register( $wp_customize ) {
   //All our sections, settings, and controls will be added here

   $wp_customize->remove_section( \'title_tagline\');
   $wp_customize->remove_section( \'colors\');
   $wp_customize->remove_section( \'header_image\');
   $wp_customize->remove_section( \'background_image\');
   $wp_customize->remove_section( \'menus\');
   $wp_customize->remove_section( \'static_front_page\');
   $wp_customize->remove_section( \'custom_css\');

}

add_action( \'customize_register\', \'mytheme_customize_register\' );
我甚至试过

$wp_customize->remove_panel( \'menus\');
但没有起作用,我在这里遗漏了一些东西。在此感谢您的帮助,提前感谢。

3 个回复
最合适的回答,由SO网友:AddWeb Solution Pvt Ltd 整理而成

尝试nav_menus 而不是menus 具有remove_panel()

function mytheme_customize_register( $wp_customize ) {
  //All our sections, settings, and controls will be added here

  $wp_customize->remove_section( \'title_tagline\');
  $wp_customize->remove_section( \'colors\');
  $wp_customize->remove_section( \'header_image\');
  $wp_customize->remove_section( \'background_image\');
  $wp_customize->remove_panel( \'nav_menus\');
  $wp_customize->remove_section( \'static_front_page\');
  $wp_customize->remove_section( \'custom_css\');

}
add_action( \'customize_register\', \'mytheme_customize_register\',50 );
希望这对你有帮助。

非常感谢。

SO网友:Weston Ruter

禁用自定义程序中导航菜单的正确方法是通过customize_loaded_components its上记录的过滤器hook reference page:

/**
 * Removes the core \'Menus\' panel from the Customizer.
 *
 * @param array $components Core Customizer components list.
 * @return array (Maybe) modified components list.
 */
function wpdocs_remove_nav_menus_panel( $components ) {
    $i = array_search( \'nav_menus\', $components );
    if ( false !== $i ) {
        unset( $components[ $i ] );
    }
    return $components;
}
add_filter( \'customize_loaded_components\', \'wpdocs_remove_nav_menus_panel\' );
Important: 必须在插件中添加此过滤器,因为它必须在setup_theme 动作,在主题的functions.php 已加载。

有关更多信息,请参阅这些Trac票证:

  • #33552: 帮助插件覆盖自定义程序功能#37003: 正在删除menus 对主题的支持不会删除相关注释中Customizer中的“菜单”部分,有关将Customizer重置为空白状态以便您可以只添加自己的项目的代码,请参阅Resetting the Customizer to a Blank Slate.

SO网友:mxUser127

编辑服务器上admin目录中的文件。即使你可以找到一个插件来完成这项工作。这将帮助您,因为它将有一个UI,并且在更新wordpress或主题时不会恢复您的菜单。

相关推荐