Pre_get_posts exclua categorias quebra itens listados por página

Ao usar pre_get_posts () e definir a consulta para excluir uma determinada categoria, os itens listados em uma página de listview do blog não mostram o número de postagens conforme definido nas configurações de leitura quando uma dessas postagens que devem ser listadas faz parte da categoria excluída .

Vamos assumir na primeira página que deve listar 10 itens, há 3 itens parte da categoria excluída. Agora vejo apenas 7 itens listados. Mas eu quero ver 10. Todos não fazem parte da categoria excluída.

O ciclo continua contando até 10, incluindo os posts que são ignorados. Como resolver isso?

Quando é usar query_posts ($ query_string. “& Cat =”. Implode (“,”, $ exclude_cats)); Isso funciona fora da checkbox. Mas em todos os lugares, eles recomendam usar pre_get_post.

Aqui está a minha ação para excluir uma categoria.

function exclude_blog_category( $query ) { if (!is_admin() ) { if (is_archive()) { $exclude_cats = theme_get_option('blog','exclude_categorys'); foreach ($exclude_cats as $key => $value) { $exclude_cats[$key] = -$value; } if(is_array($exclude_cats)){ $exclude = implode(",",$exclude_cats); } if (!empty($exclude)) { $query->set( 'cat', $exclude ); } } } 

}

O loop que estou usando é um loop normal.

 if ( have_posts() ) while ( have_posts() ) : the_post(); display the post ! endwhile; 

O que estou perdendo aqui?

leituras

Ansioso para uma solução para este problema.

Solutions Collecting From Web of "Pre_get_posts exclua categorias quebra itens listados por página"