2016-07-17 2 views
0

ANTWORT - Was schließlich arbeitete tat dies:Warum gibt die Ausgabe von Menüelementen eine boolesche Ausgabe aus? (Wordpress)

$menuitems = wp_get_nav_menu_items(2); 
foreach((array)$menuitems as $item) { 

Nur, dass Code allein mir erlaubt, die nav-Menü-Elemente zu erhalten. Zur Ausgabe der Attribute habe ich nur einen Anruf wie folgt aus:

echo $item->url; 

FRAGE -

Ich verstehe nicht, warum mein Code:

<?php 
    $menu_name = 'main'; 
    $locations = get_nav_menu_locations(); 
    $menu = wp_get_nav_menu_object($locations[ $menu_name ]); 
    $menuitems = wp_get_nav_menu_items($menu->term_id, array('order' => 'DESC')); 
?> 

<nav> 
    <ul class="main-nav"> 
     <?php 
      foreach((array)$menuitems as $item){ 
       var_dump($item);   
      } 
     ?> 

    </ul> 
</nav> 

Ausgänge dies und nur dies:

bool (falsch)

Ich hätte den Code oben verstanden, um jedes Element auszugeben, das im Menü mit dem Namen "Haupt" ist.

Wie kann ich das erreichen? Warum bekomme ich diese Ausgabe?

+1

Überprüfen Sie, ob die Werte dieser Variablen sind, was Sie erwarten, dass sie sind. '$ menu-> term_id' und' $ locations [$ menu_name] '. –

+0

@DaveChen sie sind beide null. in der Tat, wenn ich 'var_dump' Orte nach der Definition, gibt es' array (0) {} 'zurück. Ich verstehe nicht, wie ich einfach auf mein Hauptmenü zugreifen und jedes richtig durchlaufen kann. – NoReceipt4Panda

Antwort

0

Wenn es false zurückgibt, bedeutet dies, dass wp_get_nav_menu_items fehlgeschlagen ist, wahrscheinlich, weil der Menüposition "main" kein Menü zugeordnet ist oder "main" keine Menüposition ist. Bitte überprüfen Sie den Kodex:

https://developer.wordpress.org/reference/functions/wp_get_nav_menu_items/

Ich würde vorschlagen, var_dump das Ergebnis von $ locations und $ Menü, ich glaube $ locations [$ menu_name] sollten Sie die ID des Menüs erhalten bereits, so gibt es eigentlich keine Notwendigkeit für das $ menu = wp_get_nav_menu_object ($ locations [$ menu_name]) call

+0

Was schließlich funktionierte, war das Abrufen der Menü-ID und das Aufrufen dieser Funktion in der Menü-ID. Ich werde meine Frage mit der Antwort bearbeiten. Danke für deinen Kopf! – NoReceipt4Panda

Verwandte Themen