我有这个代码,我需要按价格获取所有产品订单:
我正在尝试按价格对我的产品进行排序,但效果不佳。
这是我获取产品的代码,如果我不使用“orderby”,它就可以正常工作。
$args = array(
'post_type'=> 'product',
'meta_key' => 'price',
'orderby' => 'meta_value_num',
'order' => 'ASC'
);
$wooCommerceargs = new WP_Query( $args );
Run Code Online (Sandbox Code Playgroud)
但问题是没有任何产品展示!
首先,不要使用WP_Query()或get_posts()。来自 WooCommerce 文档:
wc_get_products 和 WC_Product_Query 提供了一种检索产品的标准方法,该方法可以安全使用并且不会因未来 WooCommerce 版本中的数据库更改而中断。构建自定义 WP_Queries 或数据库查询可能会在 WooCommerce 的未来版本中破坏您的代码,因为数据会移向自定义表以获得更好的性能。
其次,您不能直接在查询中按价格订购。获取您的产品,然后调用该wc_products_array_orderby()函数。
$args = array(); // Optional arguments
$products = wc_get_products( $args );
$ordered = wc_products_array_orderby( $products, 'price', 'ASC' );
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
2712 次 |
| 最近记录: |