Varianti in WooCommerce
Sto utilizzando il plugin WooCommerce per un sito ecommerce. Il problema è che consente un massimo di 50 varianti per prodotto, ma il mio cliente ha bisogno di circa 350 varianti con attributi come dimensione, colore, ecc. Esiste un modo per modificare il codice o trovare una soluzione alternativa?
Grazie,
Frank

Per chiarire, non esiste un limite di 50 variazioni per un prodotto in Woocommerce - si tratta di un grosso equivoco.
Puoi sicuramente avere molte più variazioni di così. L'ho fatto personalmente numerose volte senza mai riscontrare problemi. Per una panoramica sulle variazioni, consulta la documentazione di woocommerce: Variazioni di prodotto.
Per quanto riguarda il limite, questo riguarda la possibilità di collegare automaticamente le variazioni: Collegamento delle variazioni possibili. Lì si dice:
Invece di aggiungere ogni variazione una alla volta, puoi cliccare il pulsante 'collega tutte le variazioni'. Questo creerà una nuova variazione per ogni possibile combinazione di attributi (massimo 50 per esecuzione).
La parte importante è »massimo 50 per esecuzione« - ciò significa che devi eseguirlo più volte se la tua selezione di attributi genera più variazioni possibili. Il limite è lì per »prevenire problemi di memoria« - vedi anche la risposta di @brasofilo.
Informazioni aggiuntive: la risposta di @brasofilo si riferisce a una versione piuttosto vecchia, tienilo a mente; quella di @shamim539 si riferisce alla versione più recente 2.x, ma può essere migliorata.
Il codice di esempio che ha fornito è all'interno di un condizionale, che verifica se la variabile è stata definita - guarda:
if ( ! defined( 'WC_MAX_LINKED_VARIATIONS' ) ) {
define( 'WC_MAX_LINKED_VARIATIONS', 49 );
}
Quindi non è necessario apportare modifiche al file woocommerce-ajax.php
, che verrebbe comunque sovrascritto con gli aggiornamenti del plugin. Definisci semplicemente la variabile nel tuo functions.php
:
define( 'WC_MAX_LINKED_VARIATIONS', 249 );
Ma: Se decidi di aumentare il limite, assicurati che il tuo server possa gestirlo.
Se hai problemi a salvare grandi quantità di dati - come suggerito da @user1418998 - questo è documentato anche qui: Problemi con il salvataggio di grandi quantità di dati (variazioni, tariffe, ecc.).

Dal forum di WooCommerce:
Attualmente abbiamo un limite di 50 variazioni collegate per prodotto (per evitare problemi di memoria), qualsiasi valore superiore è considerato molto complesso e richiede del lavoro personalizzato. Non è facile gestire un singolo prodotto con oltre 3000 variazioni, in nessun software di eCommerce esistente.
Detto questo, sembra che tu debba modificare il codice del plugin o creare un action hook (non sono sicuro di come, ma è supportato dal plugin in questo caso specifico) per modificare il comportamento della funzione woocommerce_link_all_variations
.
Max 100 è un commento originale nel file.
/*
* File: /plugins/woocommerce/woocommerce-ajax.php
* Line: 487
* WooCommerce: v1.5.6
*/
// Max 100
if ($added>49) break;

Grazie, Brasofilo... ma mi stavo chiedendo come ha fatto quel tizio nel post ad avere un numero così elevato di variazioni??
http://wordpress.stackexchange.com/questions/53750/woocommerce-too-many-variations

Basandomi sulla mia esperienza, il problema potrebbe essere nascosto nel file php.ini! Cerca max_input_vars, rimuovi il commento e aumentalo a 2000 o più in base alle tue necessità. Nel mio caso, senza questa modifica potevo inserire al massimo 40 variazioni - se ne inserivo di più, le immagini e i prezzi non venivano salvati e c'era confusione negli ordini. Avevo un input di variabili così elevato a causa del plugin Woocommerce WPML e di altri plugin come Ether Content Builder che lavoravano insieme.
