Varianti in WooCommerce

5 giu 2012, 10:29:51
Visualizzazioni: 16.5K
Voti: 1

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

0
Tutte le risposte alla domanda 4
0

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.).

11 set 2013 18:43:34
2

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;
5 giu 2012 19:16:10
Commenti

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

Frank Frank
6 giu 2012 18:32:35

Beh, prova a mettere 350 dove ho segnalato... Ma sarebbe meglio se testassi questo in un sito clone se il tuo è già online.

brasofilo brasofilo
6 giu 2012 21:23:47
1

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.

15 lug 2013 11:55:44
Commenti

è max_input_vars, non max_var_inputs

Milo Milo
11 set 2013 18:49:01
0

Nella seguente posizione:

plugins/woocommerce/woocommerce-ajax.php

Trova il file PHP: woocommerce-ajax.php.

Sulla riga numero 603, inserisci:

define( 'WC_MAX_LINKED_VARIATIONS', 149 );

* Imposta il tuo valore massimo, io ho impostato 149

11 set 2013 12:24:27