Tendo páginas após especificar post post

Quero fazer um loop para todas as postagens na categoria 4, mas por que há páginas ainda no resultado depois de especificar post post_type?

$homeNeWs = new WP_Query(array( 'post_type' => 'post', 'posts_per_page' => 6, 'cat' => 4 )); while ($homeNeWs->have_posts()) : $homeNeWs->the_post(); 

<a href="https://wordpress.stackexchange.com//questions/210164/having-pages-after-specifying-post-type-post/">

Eu adicionei uma function para que as páginas tenham categorias e tags, base em http://spicemailer.com/wordpress/add-categories-tags-pages-wordpress/

 function taxo_for_page() { register_taxonomy_for_object_type('post_tag', 'page'); register_taxonomy_for_object_type('category', 'page'); } add_action('init', 'taxo_for_page'); if (! is_admin()) { add_action('pre_get_posts', 'cat_n_tag_archives'); } function cat_n_tag_archives($wp_query) { $ary_one = array('post', 'page'); if ($wp_query->get('category_name') || $wp_query->get('cat')) $wp_query->set('post_type', $ary_one); if ($wp_query->get('tag')) $wp_query->set( 'post_type', $ary_one ); } 

Preciso adicionar mais coisas para o código acima?

Solutions Collecting From Web of "Tendo páginas após especificar post post"

Sua function cat_n_tag_archives() é adicionar páginas a todos os resultados da categoria e tag indiscriminadamente. O que você provavelmente quer (e adivinho um pouco) é restringir esse filtro somente à consulta principal:

 function cat_n_tag_archives($wp_query) { if (!$wp_query->is_main_query()) return; // This bit checks for the main query $ary_one = array('post', 'page'); if ($wp_query->get('category_name') || $wp_query->get('cat')) $wp_query->set('post_type', $ary_one); if ($wp_query->get('tag')) $wp_query->set( 'post_type', $ary_one ); }