wake-up-neo.net

Eine Site, zwei verschiedene Bereiche: zwei verschiedene Navigationsmenüs?

Ich habe eine Website, die in zwei verschiedenen Hälften ist. Ich möchte, dass dieselbe Vorlage auf die gesamte Website angewendet wird (aus der Sicht von Look & Feel), aber dass jede "Hälfte" der Website über ein eigenes Navigationsmenü verfügt. Es werden keine Nebenmenüs verwendet.

Die Homepage wird eine benutzerdefinierte Seite sein, die den Benutzer zu der einen oder anderen der beiden Seiten weiterleitet.

Wie könnte ich das erreichen?

Danke vielmals

Austen

3
Austen Osborne

Die einfachste Lösung wäre, ein Cookie zu setzen. Überprüfen Sie dann, welche Cookies der Benutzer hat, bevor Sie das Menü ausdrucken.

Eine andere Lösung wäre, eine Abfragevariable hinzuzufügen, damit die beiden Hälften unterschiedliche URLs haben, z. B. mysite.com/?half=A und mysite.com/?half=B. Dann überprüfen Sie die Abfrage var, bevor Sie das Menü drucken. Diese Lösung würde es mit Permalinks für die zwei verschiedenen Hälften ermöglichen. (und du kannst die URLs hübsch machen, wenn du willst)

1
offroff

Verwenden Sie ein benutzerdefiniertes Menü mit wp_nav_menu() . Überprüfen Sie dann, ob Sie Teil eins oder Teil zwei sind:

if ( ! is_home() || is_front_page() )
{
    $args = array(); // Define your menu here
    $query_string = explode( '/', $_SERVER['REQUEST_URI'] );

    // You need to var_dump( $query_string ); 
    // to see which index/key is matching your requested query string part
    if ( 'PART_ONE' === $query_string[0] )
    {
        wp_nav_menu( array_merge( $args, array( 'menu' => 'MENU PART ONE' ) ) );
    }
    else
    {
        wp_nav_menu( array_merge( $args, array( 'menu' => 'MENU PART TWO' ) ) );
    }
}
1
kaiser

Ich glaube, die einfachste Lösung wäre, zwei Navigationsmenüs im Wordpress-Backend zu erstellen und dann je nach der Seite, auf der sich der Besucher befindet, unterschiedliche Header zu laden.

Beginnen Sie, indem Sie Ihre header.php 2-mal kopieren und Ihre drei Header-Dateien angeben. Beispiel: header.php, headerA.php, headerB.php

Öffne nun deine ursprüngliche header.php und ersetze den gesamten Code durch etwas wie diesen:

<?php
if (is_page('contact')){
    <?php include(TEMPLATEPATH.'/headerA.php'); ?>
}
elseif (is_page('gallery')){
    <?php include(TEMPLATEPATH.'/headerB.php'); ?>
}
else {
    <?php include(TEMPLATEPATH.'/headerA.php'); ?>
}
?>

Dies teilt Wordress mit, welcher Header geladen werden soll, basierend auf dem Seitentyp, auf dem sich der Besucher befindet.

Stellen Sie außerdem sicher, dass Sie das richtige Menü in jede Header-Datei laden, indem Sie Folgendes verwenden:

<?php wp_nav_menu( array('menu' => 'Menu A )); ?>
1
Travis Pflanz