我正在开发WooCommerce,该产品附带自定义字段(字段名称:年份)。我想为我的商店做一个自定义的分类,产品应按年份排序,然后按最高价格进行分类。
例如
商店页面应该像这样订购 B。一个 。 ç
我从互联网上的很多来源搜索过,我找到了一些有用的文章,但我不知道如何在查询中添加多元meta_key
参考链接:http://dominykasgel.com/how-to-add-custom-product-sorting-options-in-woocommerce/
我在代码中看到了
$args['meta_key'] = '_sale_price';
$args['orderby'] = 'meta_value_num';
$args['order'] = 'DESC';
请有人告诉我如何添加更多$ args [' meta_key']以及如何将它们组合在一起运行排序工作? (在我的案例中,更多meta_key是我的自定义字段,名为' year')。
非常感谢。
答案 0 :(得分:0)
要按多个元值排序,您需要使用meta_query。 来自Wordpress CODEX:
如果您希望通过两个不同的postmeta(例如,City first和State second)进行排序,则需要使用命名的元查询将元查询与您的orderby数组合并链接到#order;'。请参阅以下示例:
$q = new WP_Query( array(
'meta_query' => array(
'relation' => 'AND',
'state_clause' => array(
'key' => 'state',
'value' => 'Wisconsin',
),
'city_clause' => array(
'key' => 'city',
'compare' => 'EXISTS',
),
),
'orderby' => array(
'city_clause' => 'ASC',
'state_clause' => 'DESC',
),
) );
所以你需要在meta_query数组中添加所有的order_clauses ...