Comment puis-je ajouter le support à mon thème pour les menus personnalisés?

wordpress.stackexchange https://wordpress.stackexchange.com/questions/9

  •  16-10-2019
  •  | 
  •  

Question

J'ai lu quelques tutoriels sur la façon d'ajouter la fonctionnalité des menus personnalisés ajoutés dans la version 3.0 à mon thème, mais ils semblent tous différer quelque peu, et je ne suis pas sûr si elles contiennent du code superflu. De plus je lis que le code pour enregistrer votre thème modifié comme menu compatible entre le RC et la version publique.

Quelle est la façon la plus simple d'ajouter le support pour les menus personnalisés à mon thème?

Était-ce utile?

La solution

Le plus simple est d'utiliser les function.This de register_nav_menus devrait être accroché dans 'after_setup_theme':

function my_cool_menu_function(){
  register_nav_menus( array(
    'primary' => 'Primary Navigation'
  ));
}

add_action( 'after_setup_theme', 'my_cool_menu_function' );

Ensuite, dans votre thème, il suffit d'appeler la position de ce menu:

wp_nav_menu( array( 'theme_location' => 'primary' ) );

Autres conseils

Ajoutez ceci à functions.php de votre thème. Si vous ne l'avez pas, créez-le:.

<?php
add_theme_support('menus');
function register_my_menus() {
    $args = array( 
        'menu-1' => __( 'Main Menu' )
    );
    register_nav_menus( $args );
}
add_action( 'init', 'register_my_menus' );
?>

Et cela peut aller nulle part, je l'ai header.php (voir wp_nav_menu ( ) docs ):

<?php
$args = array(
    'menu' => 'Main Menu',
    'sort_column' => 'menu_order',
    'container' => 'div',
);
wp_nav_menu( $args ); ?>

Cette façon d'inclure la navigation personnalisée dans sa forme la plus simple, je crois qu'il prend la navigation avec pas identifiant:

<div class="access">
  <?php wp_nav_menu(); ?>
</div>

Il y a aussi des options de base qui peuvent être transmis à la fonction, voici ce que j'utilise généralement:

$navArgs=array(
    'menu_id' => 'nav',    // target the nav menu
    'container' => '',     // don't wrap the menu in <ul>
);
Licencié sous: CC-BY-SA avec attribution
Non affilié à wordpress.stackexchange
scroll top