Encontrando posts sem categoria

À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!

Deixe um comentário