[Risolto] Conflitto con pulsante Aggiungi al carrello di Woocommerce
Questo thread è stato risolto. Ecco una descrizione del problema e della soluzione.
Problema:
Se stai riscontrando problemi con il pulsante "Aggiungi al carrello" che non funziona sulle pagine prodotto del tuo sito e hai notato che disattivando WPML il pulsante torna a funzionare, ecco alcuni passaggi che puoi seguire per risolvere il problema.
Soluzione:
1) Assicurati di aggiornare WordPress all'ultima versione disponibile e di fare lo stesso con WPML Multilingual CMS e tutti i plugin correlati a WPML e WCML.
2) Testa il sito in una configurazione minima, attivando solo WPML e WCML e utilizzando un tema predefinito, per verificare se il problema persiste.
4) Controlla la console del browser per eventuali errori AJAX quando provi ad aggiungere un prodotto al carrello.
5) Se stai utilizzando il plugin re-Captcha di Google, assicurati che il dominio del tuo sito web sia correttamente configurato nelle impostazioni del plugin.
Questo è il forum di assistenza tecnica di WPML, il plug-in multilingue di WordPress.
La sua lettura è permessa a tutti, ma la pubblicazione è riservata esclusivamente ai clienti di WPML. Il team di WPML risponde sul forum 6 giorni su 7, 22 ore su 24.
Buongiorno,
ho scoperto da una settimana che il pulsante "Aggiungi al carrello" presente all'interno delle pagine prodotto del sito non funziona più, nel senso che cliccandoci sopra non aggiunge nessun prodotto al carrello.
Ecco una pagina esempio: link nascosto
Disattivando diversi plugin ho scoperto che il problema è collegato al Sitepress Wpml che se, disattivato, fa tornare il pulsante a funzionare.
Ho provato anche a duplicare il sito su un altro spazio aggiornando tutti i plugin e la versione di wordpress, ma il problema è sempre lo stesso.
Da cosa dipende? Potete intervenire per risolvere visto che il cliente vende online?
Grazie
Grazie per aver contattato il supporto di WPML. Sarà un piacere aiutarti.
Ho notato dalle informazioni di debug che hai fornito che stai utilizzando WordPress v 6.2.3 e WPML Multilingual CMS v 4.6.4. Ti suggerirei di aggiornare prima alla versione più recente e verificare se il problema persiste.
* Ti suggerirei anche di aggiornare tutti i plugin correlati a WPML e WCML alla versione più recente.
Dopo aver aggiornato tutto, sarebbe possibile provare su un sito con il minimo dei plugin, attivando solo WPML e WCML e utilizzando un tema predefinito.
* Nota se sulla console del browser appare qualche errore quando provi ad aggiungere un prodotto sul carrello.
Assicurati di fare un backup completo del tuo sito prima di apportare qualsiasi aggiornamento o modifica.
Ciao Marsel ci ho provato.
Ho duplicato il sito a questo indirizzo: digitalmoving.it/montioni
e ho aggiornato tutti i plugin.
Il problema si risolve (nel duplicato) solo se da Wocommerce nella scheda prodotti tolgo la spunta a "Attiva i pulsanti AJAX aggiungi al carrello negli archivi".
A quel punto la pagina si ricarica e aggiunge il prodotto al carrello però mi disattiva la funzione che fa vedere il prodotto in anteprima nel carrello (una barra laterale che ti allego).
Scusa un piccolo aggiornamento: sul sito ufficiale, anche se disattivo l'opzione AJAX non funziona (però non ho ancora aggiornato i plugin su quel sito).
Ho verificato il link che hai condiviso e quando cerco di aggiungere un prodotto al carrello, vengono visualizzati alcuni errori AJAX sulla console del browser.
1) Potresti gentilmente verificare se il problema si verifica in una configurazione minima:
- Mantieni il tema attuale
- Attiva solo i plugin WPML e i plugin WCML
- Disabilita tutti gli altri plugin
Questo aiuterà a verificare se ci sono eventuali problemi di compatibilità con altri plugin.
Per abilitare debug.log, apri il tuo file wp-config.php e cerca:
define('WP_DEBUG', false);
E cambialo in:
define('WP_DEBUG', true);
// Abilita la registrazione degli errori nel file /wp-content/debug.log
define('WP_DEBUG_LOG', true);
// Disabilita la visualizzazione di errori e avvertimenti, il che è consigliato su un sito attivo.
define('WP_DEBUG_DISPLAY', false);
@ini_set('display_errors', 0);
Prova a riprodurre il problema e verifica se vengono salvati errori nel file di registro debug.log all'interno della directory "/wp-content/". Se puoi incollare il tuo debug.log su https://pastebin.com/ e fornirmi quel link, sarebbe ottimo!
Ciao Marcel,
ho fatto un po' di prove. Innanzitutto ho aggiornato tutti i plugin e la piattaforma anche sul sito ufficiale gabrielemontioni.it e poi ho provato a disabilitare un po' di plugin, ma senza alcun risultato.
L'unica cosa è che adesso sul sito di prova anche se il popup laterale non si apre, aggiunge il prodotto al carrello, mentre su quello ufficiale no.
Ho provato anche a cambiare il wp-config sul sito ufficiale come mi hai detto, ma quando provavo a navigare a un certo punto mi dava un errore 500 che non mi permetteva di provare ad aggiungere il prodotto al carrello.
Come ti dicevo, la cosa si risolve solo disattivando il WPML ed è una cosa molto strana visto che funzionava tutto perfettamente fino a qualche giorno fa e io non avevo aggiornato nulla (plugin o piattaforma).
1) Potresti verificare se la casella di controllo nella sezione "Filtro Lingua per le operazioni AJAX" sulla pagina WPML -> Impostazioni -> Lingua è spuntata?
2) Puoi controllare se è stato creato un file "debug.log" nella cartella '/wp-content/'? In caso affermativo, potresti copiarne il contenuto su https://pastebin.com/ e fornirmi il link. (L'errore 500 dovrebbe aver generato il file debug.log).
3) Dalla console del browser noto che sul sito principale ci sono alcuni errori 500 legati all'admin-ajax (per favore, controlla l'immagine allegata).
* Ti suggerirei di cancellare la cache del tuo sito web (inclusa quella lato server), di disattivare anche il plugin utilizzato per la cache e verificare se il problema persiste.
Ciao Marsel, dovrei aver risolto grazie all'aiuto del programmatore.
Il problema molto probabilmente è causato dal re-captcha di Google. Infatti il pulsante funzionava sul sito di prova dove il re-captcha era disattivato perchè non riconosceva il dominio e dava problemi su quello ufficiale dove il re-captcha era attivo.
Te lo scrivo casomai si ripresentasse il problema perchè molto probabilmente è un problema che ha con WPML.