it-swarm.com.de

Fallback_cb spielt mit Containern herum

Ich habe den folgenden Code für einen benutzerdefinierten Menübereich:

$wp_nav_header = array( 
    'container' => '',
    'menu_class' => 'sf-menu',
    'fallback_cb' => 'wp_page_menu',
    'theme_location' => 'primaryheader',
    'depth' => 0,);
wp_nav_menu( $wp_nav_header);

Es funktioniert einwandfrei, wenn ein Menü vorhanden ist und Folgendes ausgibt:

<div id="nav-main">
<div class="sf-menu">
<ul><li...

Wenn jedoch zurückfällt , wird Folgendes ausgegeben:

<div id="nav-main">
<ul id="menu-default" class="sf-menu"><li...

Es erübrigt sich zu erwähnen, dass dies mein Design stört, da es diese Klassen hinzufügt (für die ich kein Styling habe) und Suckerfish abstreift, aber mein Navi verschwindet (obwohl es in der Quelle auftaucht).

Hat das schon mal jemand erlebt?

Vielen Dank!

1
Noel Tock

im Grunde fehlt Ihnen das Container-Div. Wenn Sie also Ihr Fallback in eine benutzerdefinierte Funktion ändern, können Sie Parameter an das Menü wp_page_menu übergeben, die Ihnen ein wenig Kontrolle darüber geben und Ihren fehlenden Div-Versuch hinzufügen:

$wp_nav_header = array( 
    'container' => '',
    'menu_class' => 'sf-menu',
    'fallback_cb' => 'my_fallback_menu',
    'theme_location' => 'primaryheader',
    'depth' => 0,);
wp_nav_menu( $wp_nav_header);


function my_fallback_menu(){
    echo '<div class="sf-menu">';
    $args = array(
        'sort_column' => 'menu_order, post_title',
        'menu_class'  => '',
        'include'     => '',
        'exclude'     => '',
        'echo'        => true,
        'show_home'   => false,
        'link_before' => '',
        'link_after'  => '' );
    wp_page_menu($args);
    echo '</div>';
}

Hoffe das hilft

1
Bainternet