falsches wp_nav_menu angezeigt

Lesezeit: 2 Minuten

meine url sieht so aus:
http://domain.com/?s=Suchanfrage&post_type=qa_faqs

diese Seite listet Suchergebnisse für “Suchanfrage” auf.

Ich bekomme dann den Beitragstyp mit

$post_type = $_GET['post_type'];

es hallt richtig

echo $post_type;
// Provides: qa_faqs

Ich mache dann ein if/else, um ein anderes Menü über wp_nav_menu anzuzeigen, wenn $post_type qa_faqs ist.

if ( $post_type == 'qa_faqs' ) {
  echo 'we got qa_faqs over here';
  wp_nav_menu(array('menu' => 'meta_menu', 'items_wrap' => '<dl id="%1$s" class="nice tabs vertical %2$s">%3$s</dl>', 'walker' => new sidenav_walker ));
} else {
  echo 'no qa_faqs in da house';
  wp_nav_menu(array('menu' => 'service_menu', 'items_wrap' => '<dl id="%1$s" class="nice tabs vertical %2$s">%3$s</dl>', 'walker' => new sidenav_walker ));
}

nun zum lustigen teil:

obwohl auf der Seite „wir haben qa_faqs hier drüben“ widerhallt, zeigt sie das service_menu an.

warum ist das?

  • Beide Menüs aus der Logik nehmen und nach außen ausgeben, sind sie gleich?

    – SMacFadyen

    12. Oktober 2012 um 8:25 Uhr

  • Sie sind nicht gleich, deshalb möchte ich meta_menu zeigen, wenn $post_type ‘qa_faqs’ ist und service_menu, wenn $post_type nicht ‘qa_faqs’ ist.

    – joko13

    12. Oktober 2012 um 9:01 Uhr

  • Ich habe das gleiche Problem (pastebin.com/H0GzFJz2) beide geben das soziale Menü aus, wenn das obere das Kopfmenü ausgeben sollte, sehr seltsam.

    – Nero

    3. November 2012 um 1:39 Uhr

  • Das hat mich echt in den Wahnsinn getrieben =)

    – Zykloncode

    10. Februar 2017 um 21:12 Uhr

Fand es – http://codex.wordpress.org/Navigation_Menus

Das gleiche Problem hat mich auch verrückt gemacht.

Verwenden Sie „theme_location“ anstelle von „menu“, um auf das Menü zu zeigen, das Sie ausgeben möchten.

  • Das hat mir geholfen, danke! Können Sie erklären, warum es funktioniert hat?

    – David Fang

    13. Februar 2015 um 11:18 Uhr

  • Es ist eine Weile her, also weiß ich nicht, ob ich mich richtig erinnere, aber ich denke, „Menü“ ist der Name des Menüs, das Sie verwenden möchten, und „Theme_Location“ ist der Ort, an dem Sie dieses Menü platzieren möchten

    – Nero

    13. Februar 2015 um 21:29 Uhr

  • Über dieses Problem bin ich auch gestolpert. Ich glaube, es hat ungefähr 1 Stunde gedauert, bis ich es tatsächlich gelöst hatte. +1

    – Zykloncode

    10. Februar 2017 um 21:03 Uhr

  • Ich benutzte 'menu' => 'menu_name'. Erscheint logisch! 'theme_location' => 'menu_name' funktioniert perfekt.

    – Tau

    17. Juli 2018 um 14:04 Uhr

  • Danke Herr, das hat mir geholfen.

    – zen_1991

    18. Oktober 2018 um 8:49 Uhr

Versuchen Sie, das spezifische Menü mit etwas wie:

<?php wp_nav_menu( array('menu' => 'Your Menu Name' )); ?>

Ich denke, Sie haben keine Elemente im meta_menu. Bitte erstellen Sie ein Menü im Abschnitt Aussehen und weisen Sie es zu. 🙂

  • Sowohl service_menu als auch meta_menu sind im Backend richtig eingerichtet und funktionieren wie erwartet in anderen Vorlagendateien.

    – joko13

    12. Oktober 2012 um 9:02 Uhr

1401660cookie-checkfalsches wp_nav_menu angezeigt

This website is using cookies to improve the user-friendliness. You agree by using the website further.

Privacy policy