Menu wordpress
Résolu
RomainGA
Messages postés
110
Date d'inscription
Statut
Membre
Dernière intervention
-
RomainGA Messages postés 110 Date d'inscription Statut Membre Dernière intervention - 12 août 2021 à 18:45
RomainGA Messages postés 110 Date d'inscription Statut Membre Dernière intervention - 12 août 2021 à 18:45
A voir également:
- Menu wordpress
- Menu déroulant excel - Guide
- Windows 11 menu démarrer classique - Guide
- Canon quick menu - Télécharger - Utilitaires
- Réinitialiser menu démarrer windows 10 - Guide
- Windows 11 menu contextuel classique - Guide
3 réponses
Bonjour,
L'erreur indique que le paramètre passé à l'instruction foreach est invalide, autrement dit la variable $items n'est pas un tableau.
La variable $items correspond au retour de la fonction wp_get_nav_menu_items(). D'après la doc, cette fonction retourne soit le tableau des éléments du menu, soit le booléen false si aucun menu ne correspond aux paramètres spécifiés.
La fonction wp_get_nav_menu_items() attends en premier paramètre l'identifiant, le slug, le nom ou l'objet correspondant au menu.
Que retourne la fonction get_nav_menu_locations("main-menu")["main-menu"] dans ton code ? Est-ce que ce retour correspond bien au paramètre attendu par la fonction wp_get_nav_menu_items() ?
Bonne journée,
L'erreur indique que le paramètre passé à l'instruction foreach est invalide, autrement dit la variable $items n'est pas un tableau.
La variable $items correspond au retour de la fonction wp_get_nav_menu_items(). D'après la doc, cette fonction retourne soit le tableau des éléments du menu, soit le booléen false si aucun menu ne correspond aux paramètres spécifiés.
La fonction wp_get_nav_menu_items() attends en premier paramètre l'identifiant, le slug, le nom ou l'objet correspondant au menu.
Que retourne la fonction get_nav_menu_locations("main-menu")["main-menu"] dans ton code ? Est-ce que ce retour correspond bien au paramètre attendu par la fonction wp_get_nav_menu_items() ?
Bonne journée,
Bonjour,
Vu le message d'erreur ... es-tu sûr que $items est bien un Array ??
Fais en un var_dump pour voir et assûre toi qu'il n'est pas vide ou null avant d'essayer de boucler dessus.
Vu le message d'erreur ... es-tu sûr que $items est bien un Array ??
Fais en un var_dump pour voir et assûre toi qu'il n'est pas vide ou null avant d'essayer de boucler dessus.
$items=wp_get_nav_menu_items(get_nav_menu_locations("main-menu")["main-menu"]); var_dump($items); if(!empty($items)){ foreach ($items as $menuItem) : ?> <li class="nav-item"> <a class="nav-link active" aria-current="page" href="<?= $menuItem -> url ?>"><?= $menuItem -> title; ?></a> </li> <?php endforeach; } ?>
le tuto que je suis indique :

donc c'est exactement ce que j ai fait:
et la, ya cette erreur:


donc c'est exactement ce que j ai fait:
<?php
$items=wp_get_nav_menu_items(get_nav_menu_locations("main-menu")["main-menu"]);
foreach ($items as $menuItem) :
?>
<li class="nav-item">
<a class="nav-link active" aria-current="page"
href="<?= $menuItem -> url ?>"><?= $menuItem -> title; ?></a>
</li>
<?php endforeach; ?>
et la, ya cette erreur:

Tu as peut-être suivi un tuto .... mais .. ça n'empèche pas que le code contienne des erreurs ...
et nous redonner en boucle le message d'erreur rencontré ne nous aidera pas à avancer sur ton souci !
Comme on te l'a déjà indiqué à plusieurs reprises ..
La commande :
Ne retourne pas, à l'heure actuelle dans ton code, un Array ... mais la valeur "false" .. donc normal que ta boucle ensuite plante !
Alors, il faut que tu trouves pourquoi cette commande ne donne pas ce qui est attendu..
Tu pourrais, pour commencer, découper cette ligne de code et essayer de voir ce que retourne chaque partie pour voir si c'est conforme à ce que ton code attend..
et nous redonner en boucle le message d'erreur rencontré ne nous aidera pas à avancer sur ton souci !
Comme on te l'a déjà indiqué à plusieurs reprises ..
La commande :
$items=wp_get_nav_menu_items(get_nav_menu_locations("main-menu")["main-menu"]);
Ne retourne pas, à l'heure actuelle dans ton code, un Array ... mais la valeur "false" .. donc normal que ta boucle ensuite plante !
Alors, il faut que tu trouves pourquoi cette commande ne donne pas ce qui est attendu..
Tu pourrais, pour commencer, découper cette ligne de code et essayer de voir ce que retourne chaque partie pour voir si c'est conforme à ce que ton code attend..
$nml = get_nav_menu_locations("main-menu"); var_dump($nml); $mainMenu = $nml["main-menu"]; var_dump($mainMenu ); $items=wp_get_nav_menu_items($mainMenu); var_dump($items );
PS: As tu remarqué que le code que je te donne est en couleur et avec la numérotation des lignes ? Pour ça, il faut que tu précises le LANGAGE dans les balises de code.
Explications ( à lire ET A APPLIQUER !! ) disponibles ici : https://codes-sources.commentcamarche.net/faq/11288-les-balises-de-code
Explications ( à lire ET A APPLIQUER !! ) disponibles ici : https://codes-sources.commentcamarche.net/faq/11288-les-balises-de-code
désolé pour le retard de la réponse.
Il faut donc corriger cela