【发布时间】:2016-06-21 16:02:57
【问题描述】:
我向 Woocommerce 添加了一个新的排序选项,它将按最低价格排序。我所有的价格以及其他一些序列化数据都存储在自定义属性中。我想要的是有一个回调函数来反序列化这些数据,检查最低价格并按该价格排序。
我看到的每篇关于自定义排序选项的帖子都使用 woocommerce_get_catalog_ordering_args 过滤器将 orderby 参数添加到 WP_Query,但我还没有看到任何通过回调函数对返回的查询结果进行排序的方法。
有什么方法可以实现吗?我正在根据名称查看woocommerce_after_product_ordering,但找不到太多关于它的信息。任何帮助将不胜感激!
function my_woocommerce_product_sorting($orderby) {
$orderby['price_asc'] = "Sort by cheapest";
$orderby['price_desc'] = "Sort by most expensive";
return $orderby;
}
add_filter("woocommerce_catalog_orderby", "my_woocommerce_product_sorting", 20);
【问题讨论】:
-
WooCommerce 已经按价格排序,包括升序和降序。 “我的所有价格都存储在自定义属性中”是什么意思?为什么价格不存储在
_price元数据中?据我所知,没有办法通过回调函数对查询结果进行排序。查询根据order和orderby参数对自身进行排序。
标签: wordpress woocommerce