我需要在天空中为WooCommerce中的特定类别分类产品。尝试了不同的组合,但没有工作。就像我试过吼声一样
$args = array(
'post_type' => 'product',
'post_status' => 'publish',
'ignore_sticky_posts' => 1,
'orderby' => 'sku',
'order' => 'asc',
'posts_per_page' => $atts['per_page'],
'meta_query' => $meta_query,
'tax_query' => array(
'relation' => 'OR',
array(
'taxonomy' => 'product_cat',
'terms' => array_map('sanitize_title', explode(',', $atts['category'])),
'field' => 'slug',
'operator' => $atts['operator']
),
array(
'taxonomy' => 'product_tag',
'terms' => array_map('sanitize_title', explode(',', $atts['tags'])),
'field' => 'slug',
'operator' => $atts['operator']
)
)
);
$products = new WP_Query($args);
$ attrs []数据来自短代码参数。但它没有按sku对产品进行排序?
非常感谢帮助。
答案 0 :(得分:0)
产品sku(_sku)保存为元值,因此您不能简单地说“按sku排序”,您应该按元值排序,并将元键设置为_sku。如果他们没有sku设置,则不会显示产品。
示例:
args = array(
'post_type' => 'product',
'meta_key' => '_sku',
'post_status' => 'publish',
'ignore_sticky_posts' => 1,
'orderby' => 'meta_value_num',
'order' => 'ASC',
'meta_query' => array(
array(
'key' => '_sku',
'compare' => 'EXISTS',
),
),
);
如果你的sku是数字,你应该使用“meta_value_num”如果sku是字符串,那么请使用“meta_value”。
你可以在这里阅读更多相关信息 - > https://codex.wordpress.org/Class_Reference/WP_Query#Order_.26_Orderby_Parameters