web-dev-qa-db-fra.com

Menu de navigation principal et en bas de page ne figurant pas dans la page catégorie/balise

J'ai essayé de trouver une solution de navigation principale ne figurant pas dans certaines pages, par exemple. archive.php.

J'en ai trouvé un à partir d'ici mais cela me donne toujours des avis.

J'utilise Reverie Theme dans WordPress 3.6-alpha-23288

Ceci est mon code après avoir implémenté le correctif

Plugins/MyMainPlugin.php

add_filter( 'getMainMenu',  array( $this, 'getMainMenu'),           10, 1);
function getMainMenu( $menuLocation ) {
    $locations          = get_nav_menu_locations();

    if ( empty( $menuLocation ) ) {
        $menuLocation   = 'primary_navigation';
    }

    $menuItems          = wp_get_nav_menu_items( $locations[ $menuLocation ] );
    if ( empty( $menuItems ) ) {
        return false;
    } else {
        wp_nav_menu( array(
            'theme_location'    => $menuLocation,
            'container'         => false,
            'menu_class'        => '',
            'echo'              => true,
            'before'            => '',
            'after'             => '',
            'link_before'       => '',
            'link_after'        => '',
            'depth'             => 0,
            'items_wrap'        => '<ul class="nav-bar">%3$s</ul>',
            'walker'            => new reverie_walker() ) );
        return true;
    }
}

Theme/header.php

if ( !apply_filters( 'getMainMenu', 'primary_navigation' ) ) {
    $backup     = $wp_query;
    $wp_query   = NULL;
    $wp_query   = new WP_Query( array( 'post-type' => 'post' ) );
    apply_filters( 'getMainMenu', 'primary_navigation' );
    $wp_query   = $backup;
}

Avis

Remarque: is_category a été appelé de manière incorrecte. Les balises de requête conditionnelles ne fonctionnent pas avant l'exécution de la requête. Avant cela, ils retournent toujours faux. S'il vous plaît voir le débogage dans WordPress pour plus d'informations. (Ce message a été ajouté à la version 3.1.) Dans /var/www/customers/xxx/public_html/wp-includes/functions.php à la ligne 2981 Remarque: is_tag a été appelé de manière incorrecte. Les balises de requête conditionnelles ne fonctionnent pas avant l'exécution de la requête. Avant cela, ils retournent toujours faux. S'il vous plaît voir le débogage dans WordPress pour plus d'informations. (Ce message a été ajouté à la version 3.1.) Dans /var/www/customers/xxx/public_html/wp-includes/functions.php à la ligne 2981

Des idées comment résoudre ceci, et pourrait être la cause? Je n'ai aucune idée de ce qui cause ça.

Mettre à jour
Cela concerne également le pied de page. Donc, je ne vois pas de pied de page sur ma page archive.php non plus.

1
micadelli

Cette ligne a l'air étrange:

$wp_query   = new WP_Query( array( 'post-type' => 'post','page' ) );

vous devriez plutôt essayer:

$wp_query   = new WP_Query( array( 'post_type' => array('post','page') ) );

ps: grâce à @Johannes Pille pour la correction post_type.

1
birgire