1. Herzlich willkommen bei WPDE.org, dem grössten und ältesten deutschsprachigen Community-Forum rund um das Thema WordPress. Du musst angemeldet oder registriert sein, um Beiträge verfassen zu können.
    Information ausblenden

2 Hauptnavigationen in einer Wordpress Installation

Dieses Thema im Forum "Konfiguration" wurde erstellt von A_C, 10. Februar 2016.

  1. A_C

    A_C Member

    Registriert seit:
    3. Februar 2016
    Beiträge:
    6
    Zustimmungen:
    1
    Hallo Zusammen,

    ich habe ein Problem mit meiner Main Navigation. Ich verwende das Theme Sydney und habe die Hauptnavigation so eingestellt wenn man auf einen Link klickt, fährt die Frontpage zu entsprechender stellen nach unten. Dort kann man bei entsprechendem Thema auf weiter klicken bzw. auf mehr erfahren. Dann wird man zu entsprechender Seite weiter geleitet.

    Klickt man dann aber auf der Unterseite wieder auf einen Link in der Main Navigation kommt man da nicht mehr hin, da die Navigation in Design->Menü über Links mit #pg-209-1 usw. aufgebaut ist. Das ist mir auch alles klar.

    So was ich aber nun gerne hätte ist eine if else Bedingung bei der ich für meine Frontpage/ Hauptseite eine andere Main Navigation anzeigen lassen kann wie für alle anderen Seiten. Wichtig dabei ist mir das ich nicht ein zweites zusätzliches Menü über eine Sidebar anzeigen lassen möchte.

    Kann mir da jemand sagen ob das 1. so funktioniert wie ich mir das vorstelle und 2. was ich da genau tun müsste?

    Ich bin für alle Hinweise und tips sehr dankbar.:)
     
  2. maltino

    maltino Well-Known Member

    Registriert seit:
    19. Juni 2015
    Beiträge:
    108
    Zustimmungen:
    0
    Das geht ganz einfach.

    Ich würde es so machen. zwei Naviagtionen erstellen und dann mit php if abfragen.

    if frontpage dann soll die navigation a und wenn nicht frontpage dann navigation b.


    if ( is_front_page() && is_home() ) {
    navigation a
    } else {
    navigation b
    }
    der php stimmt jetzt nicht aber so geht es aufjedenfall ;) ob jetzt if home oder if frontpage .. da habe ich keine ahnung.

    leg zwei navigationen an und dann einmal die eine ausgeben und wenn nicht die andere. normal if else abfrage


    Du könntest es mit Conditional-Tags versuchen: https://codex.wordpress.org/Conditional_Tags
    z.B. mit if(is_page()) https://codex.wordpress.org/Conditio...gs#A_PAGE_Page
     
  3. A_C

    A_C Member

    Registriert seit:
    3. Februar 2016
    Beiträge:
    6
    Zustimmungen:
    1
    Hi! Erstmal Danke für deine Antwort.
    So habe ich auch gedacht, mit einer if Abfrage, funktioniert aber nicht.
    Ich glaube aber inzwischen, dass es nicht an der if Abfrage liegt sonder daran, dass ich meine frontpage bzw. homepage nicht ansprechen kann.
    Denn es gibt hinter meiner Domain keinen slug etc. also es kommt lediglich www.domain.com/
    Wenn ich auf Seite bearbeiten gehe dann sehe ich in der Adresszeile nocht das .../post=209&action=edit ... also dachte ich normal ist ja 209 die ID aber die spricht es auch nicht an. Inzwischen bin ich richtig verzweifelt.

    Mit folgenden Codes hab ich es schon probiert:
    Conditional Tag
    function.php

    <?php
    // Add a extra menus
    register_nav_menus( array(
    'primary' => __( 'Erstes Menü', 'mytheme' ),
    'secondary' => __( 'Zweites Menü', 'mytheme')
    ) );
    ?>


    header.php

    <?php
    if ( is_page(array( 'Mypage1','Mypage3','Mypage2' ) ) ) { ?>
    <!-- Begin primary menu #menu1 -->
    <div id="menu1" role="navigation">
    <?php // This is where the menu is added
    wp_nav_menu( array('container_class' => 'menu-top',
    'theme_location' => 'primary', 'fallback_cb' => '') ); ?>
    </div><!-- end of #menu1 -->
    <?php } ?>


    Und dann habe ich noch die Möglichkeit über einen Filter versucht mit folgendem Code (ist aber nur ein Beispiel)

    function change_wp_nav_menu_args($args = '')
    {
    $pageID = get_the_id();
    if($pageID == '52') //custom menu for site with id 52
    {
    $args['menu'] = 'impressum-menu';
    }
    return $args;
    }
    add_filter( 'wp_nav_menu_args', 'change_wp_nav_menu_args' );

    Die page-id habe ich wieder mit 209 angegeben, bei $args['menu'] = habe ich mein in der functions.php angelegtes 2. Menü eingegeben.
    Ging aber auch nicht. Vielleicht fällt dir oder auch anderen noch eine Idee ein.
     
  4. maxe

    maxe Well-Known Member
    Ehrenmitglied

    Registriert seit:
    1. Mai 2008
    Beiträge:
    19.581
    Zustimmungen:
    277
    Für eine statische Startseite ist is_front_page() und für die Blog Startseite ist is_home() zuständig.
     
  1. Diese Seite verwendet Cookies, um Inhalte zu personalisieren, diese deiner Erfahrung anzupassen und dich nach der Registrierung angemeldet zu halten.
    Wenn du dich weiterhin auf dieser Seite aufhältst, akzeptierst du unseren Einsatz von Cookies.
    Information ausblenden
  1. Diese Seite verwendet Cookies, um Inhalte zu personalisieren, diese deiner Erfahrung anzupassen und dich nach der Registrierung angemeldet zu halten.
    Wenn du dich weiterhin auf dieser Seite aufhältst, akzeptierst du unseren Einsatz von Cookies.
    Information ausblenden