web-dev-qa-db-fra.com

Comment supprimer une section de menus du personnalisateur de thème WordPress

J'ai essayé de supprimer les menus du personnalisateur WordPress (voir image) enter image description here

J'ai essayé le code suivant sur le fichier functions.php et chaque section a été supprimée à l'exception des menus

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

J'ai même essayé

$wp_customize->remove_panel( 'menus');

mais ça n'a pas marché, il me manque quelque chose ici. J'apprécie votre aide, merci d'avance.

1
user5323957

Essayez nav_menus au lieu de menus avec 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 );

J'espère que cela vous aidera.

Je vous remercie!

5

La façon correcte de désactiver les menus de navigation dans le personnalisateur consiste à utiliser le filtre customize_loaded_components, comme indiqué sur la page de référence de son hook :

/**
 * 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: ce filtre doit être ajouté dans un plugin, car il doit être ajouté avant l'action setup_theme, qui se déclenche juste avant le chargement du functions.php du thème.

Pour plus d'informations, voir ces tickets Trac:

  • # 33552 : Facilitez les plugins pour remplacer les fonctionnalités du Customizer.
  • # 37003 : La suppression de la prise en charge de menus pour un thème ne supprime pas la section Menus de Customizer.

Sur une note connexe, pour le code qui réinitialise le personnalisateur sur une ardoise vierge afin que vous puissiez ajouter uniquement vos propres éléments, voir Réinitialisation du personnalisateur sur une ardoise vierge .

5
Weston Ruter