variații woocommerce

5 iun. 2012, 10:29:51
Vizualizări: 16.5K
Voturi: 1

Folosesc plugin-ul WooCommerce pentru un site de ecommerce. Problema este că permite maximum 50 de variații pentru un produs, dar clientul meu are nevoie de aproximativ 350 de variații cu atribute precum mărime, culoare etc. Există vreo metodă de a modifica codul sau altă soluție?

Mulțumesc,

Frank

0
Toate răspunsurile la întrebare 4
0

Pentru a clarifica, nu există o limită de 50 de variații pentru un produs în Woocommerce - aceasta este o mare neînțelegere.

Cu siguranță puteți avea mult mai multe variații decât atât. Am făcut-o de multe ori și nu am avut niciodată probleme. Pentru o prezentare generală privind variațiile, consultați documentația woocommerce: Variații ale produselor.

În ceea ce privește limita, aceasta se referă la posibilitatea de a lega automat variațiile: Legarea variațiilor posibile. Acolo se spune:

În loc să adăugați fiecare variație una câte una, puteți face clic pe butonul „leagă toate variațiile”. Acest lucru va crea o nouă variație pentru fiecare combinație posibilă de atribute de variație (maximum 50 pe rulare).

Partea importantă este »maximum 50 pe rulare« - ceea ce înseamnă că trebuie să o rulați de mai multe ori dacă selecția dvs. de atribute duce la mai multe variații posibile. Limita este acolo pentru a »a preveni problemele de memorie« - consultați și răspunsul lui @brasofilo.

Informații suplimentare: răspunsul lui @brasofilo se referă la o versiune destul de veche, țineți cont de acest lucru; cel al lui @shamim539 se referă la versiunea mai nouă 2.x, dar poate fi îmbunătățit.
Exemplul de cod pe care l-a oferit se află într-o condiție care verifică dacă variabila a fost definită - aruncați o privire:

if ( ! defined( 'WC_MAX_LINKED_VARIATIONS' ) ) {
    define( 'WC_MAX_LINKED_VARIATIONS', 49 );
}

Deci nu este nevoie să faceți modificarea în fișierul woocommerce-ajax.php, acesta va fi suprascris la actualizările pluginului oricum. Definiți pur și simplu variabila în functions.php:

    define( 'WC_MAX_LINKED_VARIATIONS', 249 );

Dar: Dacă intenționați să creșteți limita, asigurați-vă că serverul dvs. poate gestiona limita crescută.

Dacă aveți probleme la salvarea unor cantități mari de date - așa cum a sugerat @user1418998 - acest lucru este documentat de asemenea: Probleme cu salvarea unor cantități mari de date (variații, rate etc.).

11 sept. 2013 18:43:34
2

Din forumurile Woo:

Avem în prezent o limită de 50 de variații legate pe produs (pentru a preveni problemele de memorie), orice valoare peste aceasta este considerată foarte complexă și necesită lucrări personalizate. Nu este ușor de gestionat un singur produs cu peste 3000 de variații, în niciun software de eCommerce existent.

Cu toate acestea, se pare că trebuie să modificați codul plugin-ului sau să creați un action hook (nu sunt sigur cum, dar este suportat de plugin în acest caz de funcție) pentru a modifica comportamentul funcției woocommerce_link_all_variations.

Max 100 este un comentariu original din fișier.

/*
 * Fișier: /plugins/woocommerce/woocommerce-ajax.php
 * Linia: 487
 * WooCommerce: v1.5.6
 */
// Max 100
if ($added>49) break;
5 iun. 2012 19:16:10
Comentarii

Mulțumesc, Brasofilo... dar mă întrebam cum a reușit tipul din acest post să aibă atât de multe variații??

http://wordpress.stackexchange.com/questions/53750/woocommerce-too-many-variations

Frank Frank
6 iun. 2012 18:32:35

Ei bine, încearcă să pui 350 unde indic eu... Dar ar fi mai bine dacă ai testa asta pe un site clonat dacă al tău este deja live.

brasofilo brasofilo
6 iun. 2012 21:23:47
1

Bazându-mă pe experiența mea, problema poate fi ascunsă în fișierul php.ini! Caută max_input_vars, decomentează-l și mărește valoarea la 2000 sau mai mult, în funcție de nevoile tale. În cazul meu, fără această modificare, puteam introduce maxim 40 de variații, iar dacă încercam mai multe, comenzile se amestecau, iar imaginile și prețurile nu se salvau. Am avut atât de multe variabile de input din cauza pluginului WooCommerce WPML și a altor pluginuri precum Ether Content Builder care funcționau împreună.

15 iul. 2013 11:55:44
Comentarii

este max_input_vars, nu max_var_inputs

Milo Milo
11 sept. 2013 18:49:01
0

În următoarea locație:

plugins/woocommerce/woocommerce-ajax.php

Găsiți fișierul PHP: woocommerce-ajax.php.

La linia numărul 603, faceți:

define( 'WC_MAX_LINKED_VARIATIONS', 149 );

* Setați valoarea maximă dorită, eu am setat-o la 149

11 sept. 2013 12:24:27