<Hola> con la finalidad de ignorar una categoría en la página principal de mi sitio realizado en WordPress, me di a la tarea de buscar una solución, lo que se debe realizar es modificar la clase WP_Query.
Como estoy utilizando el template “Activello” la ruta a modificar es el siguiente $path/wp-content/themes/activello/index.php, de este archivo agregue lo siguiente después de la función get_header();
//parametros de la consulta
$args_query = array(
'post_type' => 'post',
'cat' => '-24', // categoria a ignorar
);
//ignorar una categoria
$featured_query = new WP_Query( $args_query );
También aproveche a modificar los widgets que vienen por default, primero el widget de post recientes que se encuentra en la ruta $path/wp-content/themes/activello/inc/widgets/class-activello-recent-posts.php, agregue lo siguiente
$featured_args = array(
'posts_per_page' => $limit,
'ignore_sticky_posts' => 1,
'cat' => '-24', // agregue esta linea para ignorar la cat
);
$featured_query = new WP_Query( $featured_args );
El otro widget que modifique fue el listado de categoría que se encuentra ubicado en la ruta $path/wp-includes/widgets/class-wp-widget-recent-posts.php, agregue lo siguiente
if ( '' != $enable_count ) {
$categoy_args = array(
'echo' => 0,
'show_count' => 1,
'title_li' => '',
'depth' => 1,
'orderby' => 'count',
'order' => 'DESC',
'number' => $limit,
'exclude' => '24', // ignorar la categoría
);
} else {
$categoy_args = array(
'echo' => 0,
'show_count' => 0,
'title_li' => '',
'depth' => 1,
'orderby' => 'count',
'order' => 'DESC',
'number' => $limit,
'exclude' => '24', // ignorar la categoría
);
}
$variable = wp_list_categories( $categoy_args ); //
También se modificó el archivo template-tags.php para que en la paginación no se vean los post de la categoría excluida que se encuentra ubicado en $path/wp-content/themes/activello/inc/template-tags.php
<?php
previous_post_link( '<div class="nav-previous">%link</div>', _x( '<i class="fa fa-chevron-left"></i> %title', 'Previous post link', 'activello' ), false, 24 );
next_post_link( '<div class="nav-next">%link</div>', _x( '%title <i class="fa fa-chevron-right"></i>', 'Next post link', 'activello' ), false, 24 );
?>
Con esto ya no se visualizará la categoría que se desea excluir, en mi caso fue “Portafolio”
</Saludos>