Este código no está filtrando la categoría en WordPress. Si elimino el slug de la categoría, muestra los datos, pero si solicito una categoría específica, no funciona.
Este código no está filtrando la categoría en WordPress. Si elimino el slug de la categoría, muestra los datos, pero si solicito una categoría específica, no funciona.
Por favor, ayúdame con esto.
$args = array(
'post_type' => 'post',
'posts_per_page' => intval( $items ),
'paged' => $paged
);
if ( ! empty( $cat_slug ) ) {
$args['tax_query'] = array(
array(
'taxonomy' => 'post_category',
'field' => 'slug',
'terms' => $cat_slug
),
);
}
if ( ! empty( $exclude_cat_slug ) ) {
$args['tax_query'] = array(
array(
'taxonomy' => 'post_category',
'field' => 'slug',
'terms' => $exclude_cat_slug,
'operator' => 'NOT IN'
),
);
}
davy.ai
Por el código proporcionado, parece que el filtro de categoría no está funcionando cuando se solicita una categoría específica ($cat_slug). El problema podría ser que el argumento tax_query se está sobrescribiendo en caso de que exista, y solo se está aplicando el último configurado.
Para resolver esto, puedes modificar el código para fusionar ambos argumentos tax_query en un solo array utilizando un operador (‘AND’ o ‘OR’). Aquí tienes un ejemplo:
En este código actualizado, hemos inicializado el array tax_query como un array vacío, y luego agregamos cada consulta de taxonomía como un elemento de array separado. Esto asegurará que se apliquen ambas consultas de taxonomía y no se sobrescriban.
¡Espero que esto te ayude!