WordPress: obtener todas las publicaciones incluidas en dos taxonomías (relación AND en WP_Query tax_query)
Por supuesto, esto puede considerarse un duplicado, pero no puedo vencer esta tarea de ninguna manera, solo estoy aprendiendo)
Hay varias taxonomías, por ejemplo, location
y set
. Necesito mostrar el número de publicaciones incluidas en ambas taxonomías. Mi función se ve así:
function get_all_property_count($id, $setid)
{
$count = new WP_Query(array(
'nopaging' => true,
'post_type' => 'property',
'post_status' => 'publish',
'tax_query' => array(
'relation' => 'OR',
array(
'taxonomy' => 'location',
'field' => 'id',
'fields' => 'ids',
'terms' => $id,
),
array(
'relation' => 'AND',
array(
'taxonomy' => 'set',
'field' => 'id',
'fields' => 'ids',
'terms' => $setid,
'include_children' => true,
)
)
),
));
return $count->post_count;
}
Luego lo utilizo para obtener un contador de publicaciones publicadas en la taxonomía actual y otra por id (no estoy seguro de si lo estoy explicando correctamente).
<div class="count_property">
<div class="sell">
<span class="strong">Sell:</span> <?php echo get_all_property_count($term->term_id, 30); ?>
</div>
<div class="rent">
<span class="strong">Rent:</span> <?php echo get_all_property_count($term->term_id, 31); ?>
</div>
</div>
Donde $term->term_id
, es el ID de categoría de la taxonomía location
. 30
y 31
son las categorías de venta y alquiler de la taxonomía set
.
Al obtener el resultado, obtengo uno más en “sell”. Por ejemplo, “Sell: 2” (aunque debería ser 0 en general), “Rent: 1” (eso está bien).
davy.ai
Para mostrar el número de publicaciones incluidas en ambas taxonomías, debes modificar la función
get_all_property_count
cambiando el parámetrorelation
en la consulta de impuestos deOR
aAND
. Esto asegurará que solo se incluyan las publicaciones que tengan ambas taxonomías. La función modificada se vería así:Con este cambio, el recuento de
Sell
ahora debería mostrarse correctamente como0
si no hay publicaciones con ambas taxonomías.