Резервный ЦБ возится с контейнерами


У меня есть следующий код для области пользовательского меню:

$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);

Он отлично работает, когда есть меню на месте и выводит:

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

Однако, когда он отступает , он выводит:

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

Излишне говорить, что это отбрасывает мой дизайн, поскольку он добавляет эти классы (для которых у меня нет стиля) и удаляет suckerfish, но заставляет мою навигацию исчезнуть (несмотря на то, что она отображается в исходном коде).

Кто-нибудь сталкивался с этим раньше?

Спасибо вам!

Author: Noel Tock, 2011-02-24

1 answers

В основном вам не хватает div контейнера, поэтому, если вы измените свой резерв на пользовательскую функцию, вы можете передать параметры в wp_page_menu, которые дадут вам немного контроля над ним, и добавить отсутствующий div, попробуйте:

$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>';
}

Надеюсь, это поможет

 1
Author: Bainternet, 2011-02-24 18:53:58