web-dev-qa-db-fra.com

Woocommerce - Filtrer les produits variables par variations Attributs et variations Prix régulier

J'ai des produits variables et il a un attribut nommé: "Quantité" qui a des variations comme "100", "200", "500". Toutes ces variations ont des prix réguliers. Je souhaite filtrer et afficher les produits variables dont la variation de quantité est "200" et dont le prix est régulier 10.

J'utilise ce code, mais il affiche tous les produits dont la variation de quantité est "200" mais ne filtre pas par le prix normal de la variation.

        $query = array(
            'post_status' => 'publish',
            'post_type' => array('product', 'product_variation'),
            'posts_per_page' => 10,
            'tax_query' => array(
                'relation' => 'AND',
                array(
                    'taxonomy' => 'pa_quantity',
                    'field' => 'term_id',
                    'terms' => '67',
                ),
            'meta_query' => array(
                array(
                    'key' => '_regular_price',
                    'value' => 10,
                    'compare' => '=',
                    'type' => 'NUMERIC'
                ),
            ),
            )
        );

Par exemple, j'utilise l'identifiant 200 de l'attribut Quantity, qui est 67.

1
Murtaza Zoaib

Alors, j'ai finalement trouvé la réponse ... Cela pourrait aider quelqu'un à l'avenir.

Voici la requête qui va d’abord filtrer les produits variables pour l’attribut Quantity ayant le terme id 75 et ensuite filtrer les résultats pour les variations dont le prix est 500.

            $query = array(
                'post_status' => 'publish',
                'post_type' => array('product', 'product_variation'),
                'posts_per_page' => 10,
                'tax_query' => array(
                    'relation' => 'AND',
                    array(
                    'taxonomy' => 'pa_quantity',
                    'field' => 'term_id',
                    'terms' => '75',
                    ),
                ),
                'meta_key' => '_price',
                'meta_value' => 500,
            );

            $wc_query = new WP_Query($query);
1
Murtaza Zoaib