[英]Orderby price issue in a WP_Query for Woocommerce products
我正在嘗試按價格對我的產品進行排序,但是效果不佳,它只返回我的56種產品中的9種。 我所有的產品都是相似的,都是具有變化和屬性的產品,所以我不知道為什么會這樣。
這是我獲取產品的代碼,如果我不使用“ orderby”,它可以正常工作。
$args = [
"posts_per_page" => 20,
"paged"=> "1",
"tax_query" => [
[
"taxonomy" => "product_cat",
"field" => "term_id",
"terms" => "213",
"operator" => "IN",
"include_children" => false
],
[
"taxonomy" => "pa_color",
"field" => "term_id",
"terms" => [
"red"
],
"operator" => "IN"
],
"relation" => "AND"
],
"post_type" => [
"product",
"product_variation"
],
"meta_query" => [
[
"key" => "_price",
"value" => [
"20",
"30"
],
"compare" => "BETWEEN",
"type" => "NUMERIC"
],
"relation" => "AND"
],
"orderby" => "meta_value_num",
"meta_key" => "_price",
"order" => "ASC"
]
$loop = new WP_Query( $args );
1)關於產品變化:
Woocommerce自定義分類法作為產品類別或產品標簽 未在產品變體中啟用 ,但在其父變量產品中 啟用 。
產品屬性 (用於變體)無法通過稅收查詢獲得。 對於產品變體,它們被設置為元數據,例如attribute_pa_color
(所有鍵均以attribute_
開頭),並且每個值的值都為詞條
因此,您無法同時對product
類型product
和product_variation
進行查詢。
注意: 默認情況下,產品循環中不會顯示產品版本。 它們僅顯示在購物車項目和訂單項目中
2)關於可變產品:
_prices
)。 因此,查詢元鍵_prices
可能會出錯,因為將采用第一個可用價格(或可能全部或全部不提供) 。 注意:可變產品默認情況下顯示在產品循環中, 但從不顯示在購物車項目和訂購項目中 。
由於所有這些原因,即使有或沒有
"orderby" => "meta_value_num",
您的查詢也無法正常工作 。
您的查詢中還存在一些錯誤或錯誤,例如:
tax_query
的"taxonomy" => "pa_color",
"field"
必須為"slug"
而不是"term_id"
。 'post_status' => 'publish',
丟失。 "operator" => "IN"
, "relation" => "AND"
,因為它們是默認參數。 因此,這不能解決您的問題,但是向您顯示不可能以這種方式進行操作。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.