Si estamos utilizando custom post types con taxonomías (categorías o etiquetas) personalizadas, es posible que en algún momento necesitemos poder filtrarlos por una de ellas.
Cuando trabajamos con las entradas nativas, podemos utilizar como argumentos ‘cat’ y ‘tag’ directamente:
$query = new WP_Query( array( 'tag' => 'cooking' ) );
$query = new WP_Query( array( 'cat' => 4 ) );
Y las diferentes opciones como tag_id, category_name, etc…
En la documentación oficial tienes todas las opciones para los argumentos de WP_Query
Pero cuando se trata de taxonomías personalizadas, la forma de pasar los parámetros para filtrar los resultados es diferente, ya que debemos utilizar tax_query, pasándole el array con los argumentos necesarios:
- Relation: la relación lógica para cuando hay más de una taxonomia (AND, OR…)
- Un array con el detalle de la taxonomía: taxonomy, field, terms, include_children y el operador.
En este ejemplo podemos ver cómo utiizarlo:
De entrada puede parecer algo confuso, sobretodo porque los argumentos incluye un array de array, pero una vez conoces la estructura y el funcionamiento te permite mucha flexibilidad a la hora de poder filtrar y mostrar el contenido que necesitas.
¿Eres implementador o desarrollador WordPress?
En la Zona DPW encontrarás más recursos, tutoriales, plantillas, y una biblioteca de snippets para poder utilizar en tu día a día y ganar tiempo en tu trabajo:
ACCEDER AHORA