簡體   English   中英

Wordpress Woocommerce對每個類別的產品排序不同

[英]Wordpress Woocommerce sort products differently per category

我正在與wordpress和woocommerce合作。 我最近一直在嘗試和搜索的是一種按產品類別對產品進行排序的方法。 例如,“汽車”類別中的產品必須按價格ASC排序。 我大約有10種不同的類別,具有不同的排序方式。 我以為下面的代碼可以解決我的問題,但事實並非如此。 我嘗試了多種方法,但找不到正確的方法。 我的PHP知識非常有限,但是每天都要學習。 我應該用例嗎? 我將如何完成? 或者,也許這只是另一種寫作方式? 我希望有人能幫助我。 提前致謝。

巴斯

add_filter('woocommerce_get_catalog_ordering_args','tk_woocommerce_catalog_orderbyb');
function tk_woocommerce_catalog_orderbyb( $args ) {
   $cat = get_the_terms( $product->ID, 'product_cat' );
   foreach ($cat as $categoria) {
      if($categoria->parent == 0) {
         $main_parent = $categoria->name;
      }
   }
   if($main_parent == 'Cars') {
      $args['orderby']  = 'meta_value_num';
      $args['order']    = 'ASC';
      $args['meta_key'] = '_price'; 
   }
   return $args;
}

我知道這不是一個很干凈的解決方案,但是它可以工作。 使用'else if'語句(或case),我可以對每個產品類別使用不同的排序。

add_filter('woocommerce_get_catalog_ordering_args', 'tk_woocommerce_catalog_orderbyb');
function tk_woocommerce_catalog_orderbyb($args) {
$urlb = 'http://' . $_SERVER['SERVER_NAME'] . $_SERVER['REQUEST_URI'];
if (strpos($urlb,'cars')) {
    $args['orderby']  = 'meta_value_num';
    $args['order']    = 'ASC';
    $args['meta_key'] = '_price'; 
    }
return $args;
}

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM