Navigation menus not showing because of custom post type filter

I use this filter to show content from all custom post types in tags archive page

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

but somehow it stops the wp_nav_menu function and navigation menus do not appear in tags archive pages.
I can’t figure out where is the conflict between the two.

Read More

Any ideas?

Related posts

1 comment

  1. This:

    if (is_tag()){
    

    will be true for any query on a tag archive page, including the query WordPress makes to load menu items.

    You want to check if the current query is both the main query and tag query:

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

Comments are closed.