Вот рабочий пример запроса, включающего:
- фильтрация по категориям товаров
- фильтрация мета-значений после (мета-запрос)
- фильтрация значений атрибутов продукта (налоговый запрос)
Код:
$products = new WP_Query( array(
'posts_per_page' => 10,
'post_type' => 'product',
'post_status' => 'publish',
// 1. Product category filter
'product_cat' => 'clothing',
// 2. The Post meta query part (filtering by post meta value)
'meta_query' => array( array(
'key' => '_price',
'value' => 5,
'type' => 'numeric',
'compare' => '>',
), ),
// 3. The taxonomy meta query part (filtering by term values)
'tax_query' => array( array(
'taxonomy' => 'pa_color', // Product attribute taxonomy: always start with 'pa_'
'field' => 'slug', // Can be 'term_id', 'slug' or 'name'
'terms' => array('blue'),
), ),
) );
// Testing output
if( $products->have_posts() ) :
echo '<ul>'
while ( $products->have_posts() ) : $products->the_post();
echo '<li class="post-id-' . get_the_id() . '">' . get_the_title() . '</li>';
endwhile;
wp_reset_postdata();
echo '</ul>'
endif;
Проверено и работает:
Официальная справочная документация для Wordpress WP_Query
: