Cómo ocultar algunos artículos del index (WordPress)

Es posible que, por algún que otro motivo, queramos excluir entradas concretas de la portada del blog. Esto puede ser, por ejemplo, si algunos artículos que creas de temas muy concretos pueden no interesar la mayoría de tus visitantes. También puede que hayas vendido alguna que otra reseña de la que te avergüences y no quieras que se vea en portada. Tengas el motivo que tengas…

En este artículo veremos varias opciones diferentes para evitar que estos artículos aparezcan en el sitio (con sus ventajas e inconvenientes):

Como ocultar posts

Ocultar todos los posts de una categoría concreta

Lo primero que tienes que hacer es descubrir el ID de esa categoría que quieres esconder del índex.  Para esto entra en el menú de categorías de la barra lateral del escritorio de WordPress.

CategoríasUna vez dentro, localiza la categoría que NO quieres que se muestre en la página principal de tu blog. Haz clic y en la barra de direcciones podrás comprobar el ID en la propia url. Deberías ver algo tipo tublog.com/wp-admin/edit-tags.php?action=edit&taxonomy=category&tag_ID=321&post_type=post&

Quédate con el número despues de ID= ya que lo vas a utilizar en breve.

Ten en cuenta que si un artículo está en varias categorías pero una de ellas es la que has elegido, ya no se va a mostrar.

Ahora viene el punto que suele dar más miedo.. Entra en Apariencia / Editor y busca el archivo functions.php.

El código de este archivo acaba con un ?>

En la línea anterior a este símbolo deberás pegar el siguiente código (si está ocupada crea una nueva línea en blanco):

function fuera_indice( $query ) {
if ( $query->is_home ) {
$query->set( 'cat', '-1, -2' );
}
return $query;
}
add_filter( 'pre_get_posts', 'fuera_indice' );

Ahora sólo tienes que modificar 1 y 2 por los ID de las categorías que no quieres mostrar. No borres el símbolo -. Puedes añadir tantas como quieras (poniendo una coma en medio y siempre dentro de los ‘ ‘)

Si algún día quieres quitar esta opción te recomiendo que elimines los números de categorías que has excluído y actualices el artículo antes de eliminar las líneas de código añadidas.
Pros: Puedes ocultar del índice muchos artículos de golpe de forma bastante sencilla y sin cargar el sitio.
Contras: Cuando actualices la plantilla del blog o cambies el theme que estás utilizando, volverán a aparecer todos los posts (esto se puede evitar con los child themes o temas hijo).

Crear categoría para los que SI salgan

Igual que antes, también necesitas el ID de la categoría dónde estarán los posts que vas a mostrar en la portada del blog. Puede parecer una tontería mostrar sólo una categoría, pero, si creas una llamada index, portada o algo por el estilo, te será muy fácil elegir todos los artículos que aparecerán en la página principal.

El archivo a editar volverá a ser functions.php y para hacerlo más fácil también nos iremos al final (antes del ?>).

function categoria_indice( $query ) { 
if ( $query->is_home() && $query->is_main_query() ) { 
$query->set( 'cat', '1'); 
} } 
add_action( 'pre_get_posts', 'categoria_indice' );

Ahora cambia 1 por el ID de esa categoría y listos! Si hubiera más de una, sería cuestión de dejarlo tipo ‘cat’, ‘1, 2, 3’).
Pros: Puedes administrar qué artículos mostrar de forma muy sencilla.
Contras: Si sólo utilizas una categoría, muy posiblemente el contenido de la página de la categoría y el del index será duplicado.

Utilizar un plugin

Los plugins que se utilizan para ocultar posts son muy simples y no requieren demasiada aclaración, así que me limitaré a listarlos:

  • Simply Exclude: puedes elegir los artículos de qué categorías, autores o incluso etiquetas no quieres que se muestren en la frontpage o páginas de archivos. Es tan fácil como crear un autor o tag para la ocasión.
  • WP Hide post: plugin con el que puedes elegir qué páginas o entradas concretas no aparecerán en el inicio.

Pros: Es la forma más sencilla de las 3. Si actualizas la plantilla (o la cambias por otra) no perderás el trabajo hecho. Te permiten elegir artículos concretos que eliminar del home.
Contras: El uso de plugins siempre ralentiza y carga más tu sitio que unas líneas de código.

Con cuál de los 3 métodos para evitar que un artículo se muestre en el índex te quedas tú? Te ha quedado alguna duda? Deja un comentario!

4 Comentarios
  1. Yo
    | Responder
  2. Javi
    | Responder

Deja un Comentario!

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

Este sitio usa Akismet para reducir el spam. Aprende cómo se procesan los datos de tus comentarios.