Outils pour utilisateurs

Outils du site


webdev:wordpress:menus

Différences

Ci-dessous, les différences entre deux révisions de la page.

Lien vers cette vue comparative

Les deux révisions précédentesRévision précédente
webdev:wordpress:menus [06/10/2017 12:02] dolowebdev:wordpress:menus [06/10/2017 12:03] (Version actuelle) dolo
Ligne 1: Ligne 1:
 +====== Menus Wordpress ======
 +[[https://codex.wordpress.org/Function_Reference/add_theme_support]]
 +
 +[[https://codex.wordpress.org/Function_Reference/wp_nav_menu]]
 +
 +functions.php
 +<Code>add_theme_support('menus');</Code>
 +
 +
 +Appeler le menu :
 +<Code><?php 
 +                    $params = array(
 +                        'theme_location'  => '',
 +                        'menu'            => 'Navigation',
 +                        'container'       => '',
 +                        'container_class' => '',
 +                        'container_id'    => '',
 +                        'menu_class'      => '',
 +                        'menu_id'         => '',
 +                        'echo'            => true,
 +                        'fallback_cb'     => 'wp_page_menu',
 +                        'before'          => '',
 +                        'after'           => '',
 +                        'link_before'     => '<div class="table-cell">',
 +                        'link_after'      => '</div>',
 +                        'items_wrap'      => '%3$s',
 +                        'depth'           => 0,
 +                        'walker'          => ''
 +                    );
 +                    wp_nav_menu($params); ?></Code>
 +
 +<WRAP center round important 60%>
 +Les liens sont toujours dans des <li>, penser à les mettre dans un <ul>
 +</WRAP>
 +
 +CSS utile :
 +<Code:css>nav.menu-main-container > ul {
 +    margin:0;
 +    padding:0;
 +}
 +
 +nav.menu-main-container li {
 +    list-style-type: none;
 +}</Code>
 +
 +===== Ajouter un sous-menu taxonomy à un menu custom non lié =====
 +<code linenums>
 +add_action( 'admin_menu', array($this, 'adminMenu') );
 +
 + public function adminMenu()
 + {
 + add_menu_page(
 + 'Service technique', // le titre de la page
 + 'Service technique', // le nom de la page dans le menu d'admin
 + 'administrator', // le rôle d'utilisateur requis pour voir cette page
 + 'service-technique-page', // un identifiant unique de la page
 + array($this, 'displayPage'), // le nom d'une fonction qui affichera la page
 + 'dashicons-category', // dashicons
 + 22 // Position ID
 + );
 +
 + add_submenu_page(
 + 'service-technique-page',
 + 'Catégories',
 + 'Catégories',
 + 'administrator', // le rôle d'utilisateur requis pour voir cette page
 + 'edit-tags.php?taxonomy=service_technique_taxonomy' // c'est ici qu'on redirige, si le paramètre suivant n'est pas défini
 + );
 + }
 +
 +</code>