0
私は次のpost_metaキーを持つ製品を選択するのに_product_new
,_product_almost_new
および_product_old
の商品を選択しています。post_metaでWooCommerce製品を選択して注文する方法
マイコード:私は
- product_new
- product_old
- product_almost_new
:
add_action('woocommerce_product_query', 'custom_vtp_shop_order');
function custom_vtp_shop_order($q){
if (! $q->is_main_query()) return;
if (! is_admin() && (is_shop() || is_archive)) {
$q->set('tax_query', array(array(
'taxonomy' => 'product_cat',
'field' => 'slug',
'terms' => array('Sold', 'Service'),
'operator' => 'NOT IN'
)));
$q->set('meta_query', array(array(
'relation' => 'OR',
'product_new' => array(
'key' => '_product_new',
'value' => '1',
),
'product_almost_new' => array(
'key' => '_product_almost_new',
'value' => '1',
),
'product_old' => array(
'key' => '_product_old',
'value' => '1',
)
)));
/*THIS HAS NO EFFECT*/
$q->set('orderby', array(array(
'product_new' => 'DESC',
'product_old' => 'DESC',
'product_almost_new' => 'DESC',
)
));
}
}
私は製品は、次の順序で表示させたいです$ q-> seを使ってt( 'orderby'、array(......))、これは効果がありません。私の製品はいつもproduct_old
、product_almost_new
、product_new
と注文されています。
なぜ私の 'orderby'がうまくいかないのですか?どんな助けもありがとうございます。
おかげで、しかし「orderbyの」まだ与えられたコードの宵では効果 –
を持っていない:ここで は、それがどのように見えるべきかは「product_new」=>「DESC」、 「product_old => 'DESC'、 'product_almost_new' => 'DESC'、 'product_old' => 'DESC'、 'product_almost_new' => 'DESC'、 'product_almost_new' => 'DESC' 'DESC'、 –
_new、_old、_almost_newは必要な順序ですが、出力は常に_old、_almost_new、_newです。異なるキーの複数のmeta_valuesでソートすることは可能ですか? –