Às vezes, durante uma importação ou mudando o tipo de um post para página e vice-versa, você pode acabar perdendo alguns dados do post como a categoria.
Se você quer procurar todos os posts que não estão anexados a uma categoria, aí vai um código rápido e simples. Basta adicionar no functions.php do seu tema.
function semcategoria(){
global $post;
$semcategoria = get_posts(array(
'post_type' => 'post',
'numberposts' => 500,
'category__not_in' => get_terms('category', array(
'fields' => 'ids')),
));
if ( $semcategoria ) {
$semcat = '<ul>';
foreach ( $semcategoria as $post ) :
$semcat .= '<li><a href="'.get_the_permalink().'">'.get_the_title().'</a></li>';
endforeach;
$semcat = '</ul>';
wp_reset_postdata();
}
else {
$semcat = 'Todos os posts estão em uma categoria.';
}
return $semcat;
}
add_shortcode( 'semcategoria', 'semcategoria' );
O próximo passo é criar uma página e adicionar o shortcode:
[semcategoria]
Agora, basta publicar a página e ver quais posts estão sem categoria!