Support » Allgemeine Fragen » Menüs von Suche ausschließen

  • Gelöst dpsgulm

    (@dpsgulm)


    Huhu, eine Frage an alle die im Theme gerne rumschrauben:

    Ich habe in unserem Theme (DPSG-Theme – https://dpsg.de/…/o…/vorlagen/vorlagen-online/wordpress.html)

    es eingestellt, dass für bestimmte Seiten unterschiedliche Menüs verwendet werden ( function change_wp_nav_menu_args($args = “)

    {

    Klappt auch soweit prima, allerdings musste ich feststellen, dass bei der WordPress-Suche die jeweiligen Menüs „mitgesucht“ und dann auch als Navigation angezeigt werden – obwohl ich genau das nicht will. Wer sich das nicht vorstellen kann, möge auf dpsg-ulm.de in der Suche „72 Stunden“ oder „Presse“ suchen.

    Ich habe versucht mit $query->set(‚post__not_in‘, array(’19‘,’21‘) );

    auszuschließen; 19 und 21 sind die Menü IDs. Trotzdem funktioniert es nicht…

    Hab ich einen Denkfehler?

    Herzliche Grüße und Dank, Christian

    Die Seite, für die ich Hilfe brauche: [Anmelden, um den Link zu sehen]

Ansicht von 5 Antworten - 1 bis 5 (von insgesamt 5)
  • Moderator espiat

    (@espiat)

    Poste mal bitte den vollständigen Code womit du die Menüs einbindest.

    Hier:

    function change_wp_nav_menu_args($args = “)
    {

    $pageID = get_the_id();
    $postID = get_the_id();
    if($pageID == ‚3294‘or $pageID == ‚3312‘ or $pageID == ‚3302‘or $pageID == ‚3298‘or $pageID == ‚3300‘or $pageID == ‚3383‘ or $pageID == ‚3442‘or $postID == ‚3433‘ or $postID == ‚3413‘or $postID == ‚3410‘or $postID == ‚3396‘or $postID == ‚3393‘or $postID == ‚3497‘)

    {

    $args[‚menu‘] = ‚Sonder1‘;
    }

    if($pageID == ‚3524‘or $pageID == ‚3538‘ or $pageID == ‚3555‘ or $pageID == ‚3527‘ or $pageID == ‚3540‘)

    {

    $args[‚menu‘] = ‚Sonder2‘;
    }

    return $args;

    }

    add_filter( ‚wp_nav_menu_args‘, ‚change_wp_nav_menu_args‘ );

    # Register Theme Menu Locations
    add_theme_support(‚menus‘);
    register_nav_menus(array(
    ‚main-menu’=>__(‚Main Menu‘, ‚dpsg‘),
    ‚extra-menu‘ => __( ‚Sonder1‘, ‚dpsg‘),
    ‚extra-menu1‘ => __( ‚Sonder2‘, ‚dpsg‘),
    ));

    also das läuft alles in der function.php ab, die Einbindung selber erfolgt im Standard über die CSS-Klasse in der header.php

    <nav class=“nav“>
    <div class=“container“>

    Navigation
    <small>
    <span></span>
    <span></span>
    <span></span>
    </small>

    <div class=“bar-nav“>
    <?php wp_nav_menu( array(
    ‚theme_location‘ => ‚main-menu‘,
    ‚container‘ => “,
    ‚menu_class‘ => “,
    ‚fallback_cb‘ => “,

    )); ?>

    </div><!– /.navbar –>
    </div><!– /.container –>
    </nav><!– /.nav –>

    <div class=“container main“>

    Moderator espiat

    (@espiat)

    Problem scheint gelöst zu sein?

    dpsgulm

    (@dpsgulm)

    Hallo,

    sorry für die verspätete Rückmeldung!

    Ja, wir konnten es „unter Kontrolle“ bringen.

    Wir haben in die functions.php ein

    if (is_search() )

    {
    $args[‚menu‘] = ‚Main Menu‘;
    }

    eingebaut, so dass der komplette Code nun lautet:

    function change_wp_nav_menu_args($args = “)
    {

    $pageID = get_the_id();
    $postID = get_the_id();
    if($pageID == ‚3294‘or $pageID == ‚3312‘ or $pageID == ‚3302‘or $pageID == ‚3298‘or $pageID == ‚3300‘or $pageID == ‚3383‘ or $pageID == ‚3442‘or $postID == ‚3433‘ or $postID == ‚3413‘or $postID == ‚3410‘or $postID == ‚3396‘or $postID == ‚3393‘or $postID == ‚3497‘)

    {

    $args[‚menu‘] = ‚Sonder1‘;
    }

    if($pageID == ‚3524‘or $pageID == ‚3538‘ or $pageID == ‚3555‘ or $pageID == ‚3527‘ or $pageID == ‚3540‘)

    {

    $args[‚menu‘] = ‚Sonder2‘;
    }

    if (is_search() )

    {
    $args[‚menu‘] = ‚Main Menu‘;
    }
    return $args;

    }

    add_filter( ‚wp_nav_menu_args‘, ‚change_wp_nav_menu_args‘ );

    Ich glaube, in diesem Forum gibts nicht so viele bis gar keine Leute, die in den Theme-Dateien „rumfummeln“; das ist ja auch beim Durchschnittlichen WP-User auch nicht unbedingt nötig. Aber wir haben halt ein eigenes Template, welches von einer Firma programmiert wurde, aber keine „Gebrauchsanweisung“ dazu…

    Naja, ende gut-alles gut und trotzdem Danke!

    Grüße, Christian

Ansicht von 5 Antworten - 1 bis 5 (von insgesamt 5)
  • Das Thema „Menüs von Suche ausschließen“ ist für neue Antworten geschlossen.