Excluir post format feed rss WordPress
Como ves, he actualizado el diseño de mi web (aunque todavía se encuentra en desarrollo, pero tenía tantas ganas de publicar este nuevo diseño…) y, entre las cosas que he incluído en esta nueva etapa están los Post formats o Formato de artículos.

¿Que son los Post Formats o Formato de artículo?

Los formatos de artículo o post formats son una funcionalidad de los temas de WordPress que se introdujeron allá por la versión 3.1.

De manera poco técnica, podemos decir que los post format son unos metaboxes que se utilizan para personalizar la presentación de un artículo.

Como siempre se entiende mejor con un ejemplo, disponemos de los siguientes tipos de formato para artículos:

  • aside: Normalmente mostrado sin título, como las actualizaciones del muro de Facebook.
  • gallery: Galería de imágenes. (Qué obvio, ¿verdad?)
  • link: Un enlace a otro sitio. Los temas usarán (al menos es lo que se pretendía) la primera etiqueta <a> para enlazar el contenido del artículo.
  • image: Una imagen solo. La primera etiqueta img será considerada la imagen del artículo. El título del artículo será utilizado como título de la imagen.
  • quote: Probablemente es de los más utilizados en los blogs personales (aparte del artículo convencional). Permite introducir una cita como artículo.
  • status: Similar a la actualización de Twitter.
  • video: Un vídeo o playlist de vídeos. La primera etiqueta video, object o embed en el artículo será tomada el vídeo en sí.
  • audio: igual que con el vídeo, pero con audio. Se utiliza con frecuencia para los sitios con podcast, por ejemplo.
  • chat: Una transcripción de una conversación de chat.

Aunque los temas de WordPress no tiene por qué incluir soporte para formatos de entrada, la verdad es que para un blog personal es bastante útil.

¿Qué usos tienen los Post Formats o Formatos de artículo?

Básicamente cumplen la función de diferenciar los contenidos. No es lo mismo un tutorial con código, que una foto de mi nuevo ordenador o que una cita de Winston Churchil.

Esto, entre otras cosas, permite hacer cosas chulas como mostrar de manera diferente los artículos convencionales de las galerías de fotos, fotos y vídeos.

Cómo lo uso yo

Aunque todavía no he comenzado a compartir cosas como me gustaría, he preparado mi blog para hacerlo más personal sin dañar a los suscriptores; ¿Recuerdas cuando hace unos meses pregunté sobre las suscripciones?

Digamos que quiero compartir más cosas (sobre mis gustos, además de los artículos que normalmente comparto) sin perjudicar a los suscriptores ni mezclar las cosas.

He utilizado los post formats precisamente para esto. Más tipos de contenidos, mismo blog, diferentes funciones.

Ahora, mi lista de correo (a la que puedes apuntarte desde aquí) seguirá recibiendo los mismos contenidos y artículos y yo podré compartir todo lo que quiera (fotos de gatitos incluídas) sin molestarles o privarles del contenido que realmente vale la pena.

¿Cómo excluimos los post formats del Feed RSS?

Para excluir de forma permanente los tipos de entrada del Feed RSS tenemos que incluir las siguientes lineas en el fichero functions.php de nuestro tema:

// Oculta los post formats que le digamos de los Feed RSS:
function exclude_post_formats_from_feeds( $wp_query ) {
 
	// Sólo aplicamos si es una consulta del feed:
	if ( $wp_query->is_feed() ) {
 
		// Array que contiene los post formats que queremos omitir del feed, 
		// por slug. -> ejemplo "post-format-{formato}"
		$post_formats_to_exclude = array(
			'post-format-status',
			'post-format-aside',
			'post-format-quote'
		);
 
		// Consulta extra para pulir el objeto wp_query:
		$extra_tax_query = array(
			'taxonomy' => 'post_format',
			'field' => 'slug',
			'terms' => $post_formats_to_exclude,
			'operator' => 'NOT IN'
		);
 
		$tax_query = $wp_query->get( 'tax_query' );
		if ( is_array( $tax_query ) ) {
			$tax_query = $tax_query + $extra_tax_query;
		} else {
			$tax_query = array( $extra_tax_query );
		}
		$wp_query->set( 'tax_query', $tax_query );
	}
}
 
// Llamamos a la función de arriba antes de cualquier consulta de WordPress
add_action( 'pre_get_posts', 'exclude_post_formats_from_feeds' );

Y con esto, hemos excluído todos los post formats que hemos querido de nuestro Feed RSS, así no molestamos a nuestros subscriptores con contenidos no relevantes.

En el futuro hablaré más detenidamente de cómo añadir formatos de entrada y configurarlos adecuadamente en nuestro tema de WordPress.

Este artículo está inspirado en el de Joss Crowcroft.

Imagen de Adrian Wallett, con licencia Creative Commons.

Deja un comentario

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