Filtrar posts por taxonomías personalizadas

Cuando trabajamos con Custom Post Types a menudo nos encontramos la necesidad de filtrar resultados por taxonomías personalizadas.


por

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.

Desarrollo Web by esther solà
Resumen de privacidad

Esta web utiliza cookies para que podamos ofrecerte la mejor experiencia de usuario posible. La información de las cookies se almacena en tu navegador y realiza funciones tales como reconocerte cuando vuelves a nuestra web o ayudar a nuestro equipo a comprender qué secciones de la web encuentras más interesantes y útiles.