2017-01-18 6 views
1

Nach der Aktualisierung von Woocommerce auf 2.6.12 sind meine variablen Produkte am Frontend aktiv. Zum Beispiel habe ich ein variables Produkt mit Attributen für Größe und Farbe. Nicht alle Farben sind in jeder Größe verfügbar. Vor dem Update würde Woocommerce AJAX verwenden, um inkompatible Auswahlen in der nächsten Dropdown-Liste herauszufiltern, um die Auswahl von Produkten zu verhindern, die nicht existieren. Jetzt zeigt es alle Optionen an, ob sie zu einem gültigen Produkt führen oder nicht. Wenn Sie ein ungültiges Produkt auswählen, wird eine Warnmeldung angezeigt:Woocommerce-Varianten filtern ungültige Kombinationen nicht aus

Es tut uns leid, es gibt keine Produkte, die Ihrer Auswahl entsprechen. Bitte wählen Sie eine andere Kombination.

Wie kann ich Woocommerce die ungültigen Attributauswahlen wieder ausfiltern?

Antwort

0

Ich habe die Lösung gefunden durch WooCommerce Github Repo geschlossen Probleme. This user hatte das gleiche Problem. Das Update kann here gefunden werden. Ich habe das Update heruntergeladen, das in der Zip-Datei enthalten ist, und es verwendet, um die in /wp-content/plugins/woocommerce/assets/js/frontend/ gefundenen Dateien zu ersetzen. Nach dem Aktualisieren der Seite werden die ungültigen Optionen herausgefiltert und alles funktioniert wieder wie gewohnt.

2

Dies liegt wahrscheinlich an der Woocommerce_Ajax_Variation_Threshold. Wenn Ihr Produkt mehr Variationen enthält, als der Schwellenwert angibt, wartet woocommerce, bis alle Variationsoptionen vom Benutzer ausgewählt wurden, bevor festgestellt wird, ob die ausgewählte Kombination von Optionen gültig ist (auf Lager, vorhanden usw.).

Setzen Sie den Schwellenwert einfach auf einen höheren Wert. Wenn Ihr Produkt 30 mögliche Kombinationen hat (unabhängig davon, ob sie tatsächlich existieren oder nicht), setzen Sie den Schwellenwert auf etwas über 30, wie zum Beispiel 1111.

Sie können das folgende Snippet in Ihrer functions.php-Datei verwenden.

/* Increase Woocommerce Variation Threshold */ 
function wc_ajax_variation_threshold_modify($threshold, $product){ 
    $threshold = '1111'; 
    return $threshold; 
} 
add_filter('woocommerce_ajax_variation_threshold', 'wc_ajax_variation_threshold_modify', 10, 2); 
Verwandte Themen