gpt4 book ai didi

wordpress - 通过自定义回调函数的 Woocommerce 订单

转载 作者:行者123 更新时间:2023-12-04 19:49:02 29 4
gpt4 key购买 nike

我为 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);

最佳答案

我认为当您使用单独的新元键存储自定义价格时,这将是最好的解决方案,例如 wooocommerce 商店产品价格在帖子元名称 _price 中,以及带有数字价格的值。

mysql order by serialized data?

当您分开存储时,它将更改 wp 查询参数,例如:

function my_woocommerce_get_catalog_ordering_args( $args ){

$order_by = isset( $_GET['orderby'] ) ? wc_clean( $_GET['orderby'] ) : $args['orderby'];

if( $order_by == 'price_desc' || $order_by == 'price_asc' ){ // Check match to custom filter

$args['orderby'] = "meta_value_num ID";
$args['order'] = $order_by == 'price_desc' ? 'DESC' : 'ASC';
$args['meta_key'] = '_my_custom_price'; // Put your price custom post meta price key name

}

return $args;
}

add_filter( 'woocommerce_get_catalog_ordering_args', 'my_woocommerce_get_catalog_ordering_args' );

关于wordpress - 通过自定义回调函数的 Woocommerce 订单,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37949357/

29 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com