it-swarm.com.ru

Как удалить раздел меню из настройщика тем WordPress

Я пытался удалить Меню из настройщика WordPress (см. Изображение)  enter image description here 

Я попробовал следующий код в файле functions.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');

но не сработало, я что-то упустил. Заранее благодарен за помощь.

1
user5323957

Попробуйте nav_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 );

Надеюсь, это поможет вам.

Спасибо!

5
AddWeb Solution Pvt Ltd

Правильный способ отключить навигационные меню в настройщике - через фильтр customize_loaded_components, как описано на его странице ссылки ловушки :

/**
 * 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' );

Важно: этот фильтр должен быть добавлен в плагин, поскольку он должен быть добавлен до действия setup_theme, которое срабатывает непосредственно перед загрузкой functions.php темы.

Для получения дополнительной информации см. Эти билеты Trac:

  • # 33552 : Облегчить плагины для переопределения функций настройщика
  • # 37003 : Удаление поддержки темы menus не удаляет раздел "Меню" в Customizer

В соответствующей заметке о коде, который сбрасывает настройщик на чистый лист, чтобы вы могли добавлять только свои собственные элементы, см. Сброс настройщика на чистый лист .

5
Weston Ruter