2017-06-22 10 views
0

Ich möchte meine Produkte in der Kategorie Seite nach Durchschnittsbewertung (DESC) und dann nach Preis (ASC) bestellen.Mehrere Bestellungen von in WooCommerce

| id | avgrating | price | 
| 1 |  4  |  10 | 
| 2 |  4  |  5 | 
| 3 |  5  |  7 | 

Order: 3, 2, 1.

Also mit Ich habe versucht:

$args['meta_key'] = '_wc_average_rating'; 
$args['orderby'] = array(
    'meta_value_num' => 'DESC', 
    'price' => 'ASC', 
); 

Aber sie sind nicht (auch) nach Preis sortiert. Ich ersetzte auch price durch _price, dasselbe Ergebnis.

Ich benutze die neueste Version von WordPress (4.8) und WooCommerce (3.0.8).

Edit:

Wenn ich benutze:

$args['meta_key'] = '_wc_average_rating'; 
$args['orderby'] = array(
    'meta_value_num' => 'DESC', 
    'ID'    => 'DESC', 
); 

Bestellen Sie arbeitet als vorbehalten, absteigend nach durchschnittlicher Bewertung und dann absteigend nach ID. Also, ich muss ID mit price ändern, aber ich kann es nicht funktionieren lassen.

Antwort

1

überprüfen, indem Sie die order mit Argumenten vorbei

prüfen mit diesen

add_filter('woocommerce_get_catalog_ordering_args', 'custom_woocommerce_get_catalog_ordering_args'); 

function custom_woocommerce_get_catalog_ordering_args($args) { 
    $orderby_value = isset($_GET['orderby']) ? woocommerce_clean($_GET['orderby']) : apply_filters('woocommerce_default_catalog_orderby', get_option('woocommerce_default_catalog_orderby')); 
    if ('sort_by_type' == $orderby_value) { 
     $args['orderby'] = 'meta_value_num title'; 
     $args['order'] = 'ASC'; 
     $args['meta_key'] = 'sort_by_type'; 

    } 

    if ('_wc_average_rating' == $orderby_value) { 
     $args['orderby'] = 'meta_value_num title'; 
     $args['order'] = 'DESC'; 
     $args['meta_key'] = '_wc_average_rating'; 
    } 

    return $args; 
} 
+0

Es funktioniert nicht, kehrt: 3, 2, 1. Ich denke, es ist standardmäßig um oder so etwas wie .. – Cixasug

+0

Ich habe es schon mit '_wc_average_rating' versucht. :( – Cixasug

+0

beide sind unterschiedliche Bedingungen oder wollen beide kombiniert? Auch die Reihenfolge hier auch auflisten (Sie benötigen 2,1,3)? –

Verwandte Themen