web-dev-qa-db-fra.com

Menus de navigation non affichés en raison d'un filtre de type de message personnalisé

J'utilise ce filtre pour afficher le contenu de tous les types de publication personnalisés dans la page d'archivage des balises

function tagFilter($query) {
    $post_type = $_GET['type'];
    if (is_tag()){
        if (!$post_type) {
            $post_type = 'any';
        }
        $query->set('post_type', $post_type);
    }
    return $query;
};
add_filter('pre_get_posts','tagFilter');

mais en quelque sorte, la fonction wp_nav_menu est arrêtée et les menus de navigation n'apparaissent pas dans les pages d'archives des balises. Je ne peux pas comprendre où est le conflit entre les deux.

Des idées?

1
Nojan

Ce:

if (is_tag()){

sera vrai pour toute requête sur une page d'archive de balises, y compris la requête faite par WordPress pour charger des éléments de menu.

Vous voulez vérifier si la requête actuelle est à la fois la requête principale et la requête de balise:

if ($query->is_main_query() && $query->is_tag()){
4
Milo