Woocommerceに新しいソートオプションを追加しました。これは最低価格でソートされます。すべての私の価格は、他のシリアル化されたデータと一緒にカスタム属性に格納されます。私が望むのは、このデータをシリアル化して、最低価格をチェックし、その価格でソートするコールバック関数を持つことです。カスタムコールバック関数によるWoocommerceの注文
カスタム注文オプションについては、woocommerce_get_catalog_ordering_args
フィルタを使用してWP_Queryにorderby引数を追加しましたが、コールバック関数を使用して返されたクエリの結果を並べ替える方法はありませんでした。
これを達成する方法はありますか?私は名前に基づいて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);
。 「すべての価格がカスタム属性に格納されている」とはどういう意味ですか?価格が '_price'メタに格納されていないのはなぜですか?私が知る限り、コールバック関数でクエリの結果をソートする方法はありません。クエリは 'order'と' orderby'パラメータに応じてソートされます。 – helgatheviking