2017-04-03 8 views
0

WooCommerceカスタムソート(複数の条件)私は、次の条件にwoocommerceの製品を並べ替えしようとしています

  • 利用できない製品は
  • 製品の
  • 残りはランダムに発注する必要があり

Iダウンいくつかの方法で試しましたが、問題は、最初のランダム化が可用性順序の後に失われ、可用性が最初にランダム化された後に失われることです。

+0

バックエンドで、すべての製品がリストされているか、どこか別の場所に置いておきたいですか? –

答えて

0

製品にカスタムソートオプションを追加する必要があります。あなたはこの方法でこれを行うことができます:あなたは「> 0」の値を割り当てることができますし、すべての非利用可能な製品のために、あなたは、彼らが自動的にソートされますので、0を割り当てることができ、利用可能な製品については、

function vi_custom_woocommerce_catalog_orderby($sortby) { 
    $sortby['alphabetical'] = 'Sort by name: custom'; 
    return $sortby; 
} 
add_filter('woocommerce_default_catalog_orderby_options', 'vi_custom_woocommerce_catalog_orderby'); 
add_filter('woocommerce_catalog_orderby', 'vi_custom_woocommerce_catalog_orderby'); 

//Add Alphabetical sorting option to shop page/WC Product Settings 
function vi_alphabetical_woocommerce_shop_ordering($sort_args) { 
    $orderby_value = isset($_GET['orderby']) ? woocommerce_clean($_GET['orderby']) : apply_filters('woocommerce_default_catalog_orderby', get_option('woocommerce_default_catalog_orderby')); 

    if ('alphabetical' == $orderby_value) { 
     $sort_args['orderby'] = 'meta_value_num'; 
     $sort_args['order'] = 'asc'; 
     $sort_args['meta_key'] = ''; 
    } 

    return $sort_args; 
} 
add_filter('woocommerce_get_catalog_ordering_args', 'vi_alphabetical_woocommerce_shop_ordering'); 

と下に行くでしょう。

関連する問題