Support » Allgemeine Fragen » Hauptmenu flexibel mit anderem Menu speisen

  • Gelöst radarin

    (@radarin)


    Moin.

    Ich hab meine Theme um ein zusätzliches Menu erweitert. Die Ausgabe an der gewünschten Stelle funktioniert auch.

    <?php wp_nav_menu( array( 'theme_location' => 'header-menu' ) ); ?>

    Nun möchte ich auf Grund der Subdomain in der URL die die Hauptnavigation austauschen. Dafür habe ich auch weitere Menus erstellt. Die Subdomain steht in der Variablen $subdomain.

    So wird das originale Menu geladen:

    <?php
       if ( $subdomain == "www" ){
          if ( has_nav_menu( 'primary' ) ) {
             wp_nav_menu( $menu_args ); 
           } else {
             wp_list_pages( $list_pages_args );
          }
       }
    ?>

    Nun soll, wenn ich die Domain mit der Subdomain ‘blog’ aufrufe, das Menu mit der Position ‘blog-menu’ angezeigt werden. Natürlich identisch formatiert. Mit meinem Lösungsansatz bleib der Platz allerdings leer.

    <?php 
       if ( $subdomain == “blog” ){
          if ( has_nav_menu( 'gallery-menu' ) ) {
              wp_nav_menu( array( 'theme_location' => ‘blog-menu' ) );
           } else {
              wp_list_pages( $list_pages_args );
          }}
    ?>

    Der Originalcode für das Hauptmenu schaut so anders aus als der Code für Zusatzmenus. Da blick ich nicht durch.

    Ein weiteres Problem ist noch, das Hauptmenu generiert mir absolute Links. Wenn ich eine Seite aufrufe, sollte die Subdomain ‘blog’ bleiben, aber es geht zurück auf ‘www’.

    Das Theme ist ‚lovecraft‘.

    Gruß René

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

Ansicht von 5 Antworten - 1 bis 5 (von insgesamt 5)
  • Wenn $subdomain nicht exakt „blog“ oder „www“ ist, wird die if-anweisung nicht erfüllt.

    Gebe einmal per echo die Variable $subdomain aus. Was steht dann dort?

    Ein weiteres Problem ist noch, das Hauptmenu generiert mir absolute Links. Wenn ich eine Seite aufrufe, sollte die Subdomain ‘blog’ bleiben, aber es geht zurück auf ‘www’.

    –> 1 WordPress-Install gleich 1 Hauptdomain. Du vermischt da 2 Domains in eine Install (?) Das geht so nicht.

    Thread-Starter radarin

    (@radarin)

    Ich hab die Domains darin.ch, http://www.darin.ch, blog.darin.ch, rad.darin.ch und gallery.darin.ch eingerichtet. Alle verweisen sie auf das selbe Root-Verzeichnis.

    Auf der Seite oben rechts neben dem Menu wird zur Kontrolle die Subdomain angezeigt. Klicke ich jetzt im unteren Menü auf einen beliebigen Eintrag, bleibt in der URL die Subdomain nicht erhalten und es wird wieder www, da ich im Menu absolute Links habe, die wahrscheinlich auf dem Eintrag in Einstellungen > Allgemein beruhen.

    Dazu kommt, jede Subdomain soll ein anderes unteres Menu haben.

    Ist ev. das Stichwort Multi Netzwerk Seite ein Lösungsansatz dafür? Jede Seite hat die eigenen Seiten und Menüs, aber alle ein und das selbe Child Theme?

    Thread-Starter radarin

    (@radarin)

    1 WordPress-Install gleich 1 Hauptdomain. Du vermischt da 2 Domains in eine Install (?) Das geht so nicht.

    Das was ich anstellen wollte, hätte durchaus funktionieren können, wenn auch etwas unkonventionell. Mittels $_SERVER['HTTP_HOST'] und strtok() ist es ein Einfaches mir die Subdomain in einer Variablen zu merken. An der Stelle des Menus im Template weitere Menus mit unterschiedlichen Namen in if() verpacken, so dass das Menu entsprechend der Subdomain angezeigt wird. Mein Problem war wie anfänglich beschrieben, dass der Code im Template so komplett anders aufgebaut ist als ich es für zusätzliche Menus in Erfahrung gebracht habe, und ich somit die identische Darstellung nicht mehr hingekriegt habe.

    Stichwort Beiträge und Seiten für die unterschiedlichen Subdomains, ja, ich weiss, ist nicht zu Ende gedacht und wäre wohl sehr unübersichtlich geworden.

    Die Lösung ist eigentlich recht einfach. Sie lautet

    Multisites

    Nachdem ich es eingerichtet und die Anwendung so halbwegs durchschaut habe, finde ich jetzt für jede Subdomain ein eigenes Dashboard vor, mit eigenen Beiträgen und Seiten. Einzig die Darstellung des Child Themes werden auf den zusätzlichen Seiten noch nicht alle übernommen. Aber das wird noch.

    Danke @espiat.

    Gruß René

    Einzig die Darstellung des Child Themes werden auf den zusätzlichen Seiten noch nicht alle übernommen.

    Beachte, dass du in dem Child-Theme reine absoluten Pfade verwendest. Also relative Pfade. Dann sollte das klappen.

    Gruss

    Thread-Starter radarin

    (@radarin)

    Der CSS Customizer ist ganz praktisch zum rum probieren, stand aber nur der Hauptdomain zur Verfügung. Wenn das CSS passt, kommt es in eine zentrale Datei, gibt am wenigsten Aufwand bei Änderungen oder Ergänzungen.

Ansicht von 5 Antworten - 1 bis 5 (von insgesamt 5)
  • Das Thema „Hauptmenu flexibel mit anderem Menu speisen“ ist für neue Antworten geschlossen.