Excluir una categoria en la Home en Genesis

[…]


por

Si utilizas Genesis Framework, en las opciones del tema tienes la posibilidad de mostrar o excluir categorías específicas de la página del blog.

Sin embargo, si en nuestra home mostramos también los últimos artículos, Genesis no ofrece la posiblidad de hacer lo mismo desde los ajustes del tema.

Para poder excluir o mostrar sólo las categorias que queremos en la front page o home de nuestra web, podemos utilizar la siguiente función en el archivo functions.php de nuestro child theme:

/** Exclude certain category from posts */
add_action( 'pre_get_posts', 'be_exclude_category_from_blog' );
function be_exclude_category_from_blog( $query ) {
if( $query->is_main_query() && $query->is_home() ) {
 $query->set( 'cat', '-7' );
 }
}

Del código anterior, deberemos sustituir en la línea $query->set( ‘cat’, ‘-7’ ); el «-7» por el ID de la categoría que corresponda, y en caso de querer excluir más de una, las pondremos todas separadas por comas: $query->set( ‘cat’, ‘-7, -14, -25’ );

Si utilizando el mismo código, no añadimos el simbolo «-» delante del ID, lo que haremos es indicarle sólo las categorías de entradas que queremos mostrar en la Home, y de esta forma excluirá todas la restantes.

Recuerda que para saber el ID de una categoría, podemos editarla desde Entradas -> Categorías  y editando la que nos interese nos fijaremos en la barra de dirección, que será algo similar a:

/wp-admin/edit-tags.php?action=edit&taxonomy=category&tag_ID=5&post_type=post&wp_http_referer=%2Fwp-admin%2Fedit-tags.php%3Ftaxonomy%3Dcategory

La variable tag_ID es la que nos muestra el identificador de la categoría.

Esta función ha sido extraída del artículo: http://www.wpstuffs.com/exclude-posts-category-front-page-genesis/