O filtro de categoria prepress_press_press_presspress remove itens de menu personalizados

Então eu tenho esse site onde você pode ver que há dois menus, um ao lado do logotipo, o outro no canto superior direito;

http://www.ducklingfarm.com

Eles são criados usando este código em functions.php;

function register_my_menus() { register_nav_menus( array( 'header-menu' => __( 'Header Menu' ), 'extra-menu' => __( 'Extra Menu' ) ) ); } add_action( 'init', 'register_my_menus' ); 

e este é o meu código para usar os menus;

   

E os menus funcionam bem, exceto quando você vai às categorias na barra lateral, como “Artigos” ou “Eventos” na página “Blog”;

http://www.ducklingfarm.com/blog/

A página do blog é um tipo de postagem personalizado e para que a categoria funcione, eu adicionei algum código em functions.php e os menus não estão funcionando corretamente desde então. Esse código é;

 add_filter('pre_get_posts', 'query_post_type'); function query_post_type($query) { if(is_category() || is_tag()) { $post_type = get_query_var('post_type'); if($post_type) $post_type = $post_type; else $post_type = array('post','Blog'); $query->set('post_type',$post_type); return $query; } } 

Então, acho que há algo de errado com o código. Por favor me ajude! Eu realmente apreciaria isso.

Melhor, Jaeeun

Resolvi alterando o último código para isso;

 add_filter('pre_get_posts', 'query_post_type'); function query_post_type($query) { if(is_category() && $query->is_main_query()) { $post_type = get_query_var('post_type'); if($post_type) $post_type = $post_type; else $post_type = array('post','Blog'); $query->set('post_type',$post_type); return $query; } } 

Você pode tentar isso (Não há necessidade de múltiplos if e $post_type = $post_type; )

 add_filter('pre_get_posts', 'query_post_type'); function query_post_type($query) { if(is_category() && $query->is_main_query()) { $query->set( 'post_type', array( 'post', 'Blog' ) ); } return $query; }