Tengo un código en mi complemento que consulta todos los productos que están agotados:
$args = array(
'post_type' => 'product',
'nopaging' => true,
'fields' => 'ids',
'tax_query' => array( array(
'taxonomy' => 'product_visibility',
'field' => 'name',
'terms' => 'outofstock',
'operator' => 'IN',
) ),
);
$out_of_stock_product_ids = get_posts( $args );
Sin embargo, también muestra productos que tienen product_visibility “instock”. Puedo validar esto agregando el siguiente código justo después de esto:
foreach ($out_of_stock_product_ids as $product_id) {
$product = wc_get_product($product_id);
echo $product_id . " - " . $product->get_stock_status() . "<br>";
}
Y el resultado es este:
118823 - outofstock
118536 - instock
118534 - instock
118121 - outofstock
117859 - outofstock
117350 - outofstock
116879 - outofstock
116877 - outofstock
¿Por qué muestra productos con el estado de stock “en stock”, aunque estoy consultando productos que solo están “agotados”?
.