我使用它按名称在两个类别上搜索产品:
<ul class="products">
<?php
$paged = ( get_query_var( \'paged\' ) ) ? absint( get_query_var( \'paged\' ) ) : 1;
// Request is empty, view all products based url cat ID
if($tmp == \'\')
{
$args = array(
\'post_type\' => \'product\',
\'s\' => $tmp,
\'posts_per_page\' => \'8\',
\'paged\' => $paged,
\'author\' => $store_user->ID,
\'orderby\' => \'menu_order\',
\'order\' => \'ASC\',
\'tax_query\' => array(
array(
\'taxonomy\' => \'product_cat\',
\'field\' => \'term_id\',
\'terms\' => $product_cat_id,
),
)
);
}
else // search all product on categorie 18 & 25
{
$args = array(
\'post_type\' => \'product\',
\'s\' => $tmp,
\'posts_per_page\' => \'8\',
\'paged\' => $paged,
\'author\' => $store_user->ID,
\'orderby\' => \'menu_order\',
\'order\' => \'ASC\',
\'tax_query\' => array(
array(
\'relation\' => \'OR\',
array(
\'taxonomy\' => \'product_cat\',
\'field\' => \'term_id\',
\'terms\' => 18,
),
array(
\'taxonomy\' => \'product_cat\',
\'field\' => \'term_id\',
\'terms\' => 25,
),
),
)
);
}
$loop = new WP_Query( $args );
//var_dump($loop);
if ( $loop->have_posts() )
{}
如何添加查询参数以查看品牌产品?
因为当我在搜索栏中写下品牌名称时,找不到任何产品。
谢谢
SO网友:ilanb
Founded:
$filter_group_a = array(
\'relation\' => \'OR\',
array(
\'taxonomy\' => \'product_cat\',
\'field\' => \'term_id\',
\'terms\' => 18,
),
array(
\'taxonomy\' => \'product_cat\',
\'field\' => \'term_id\',
\'terms\' => 25,
),
);
$filter_group_b = array(
array(
\'taxonomy\' => \'product_brand\',
\'field\' => \'description\',
\'value\' => $tmp,
),
);
$args = array(
\'post_type\' => \'product\',
\'s\' => $tmp,
\'posts_per_page\' => \'8\',
\'paged\' => $paged,
\'author\' => $store_user->ID,
\'orderby\' => \'menu_order\',
\'order\' => \'ASC\',
\'tax_query\' => array(
array(
\'relation\' => \'OR\',
$filter_group_a,
$filter_group_b,
),
)
);
}