Risolvere il problema con la configurazione NGINX e i cookies Woocommerce

Come forse già saprai, alcuni widget di carrello e-commerce funzionano con AJAX e quindi si comportano bene con il caching, ma non si può dire lo stesso per quelli funzionanti in PHP. 
Come ti suggeriamo qui, se il tuo carrello funziona tramite PHP, dovrai escludere la pagina dalla cache in base alla presenza dei cookies e-commerce, woocommerce_items_in_cart woocommerce_cart_hash: devi semplicemente aggiungere i due cookies al box di esclusione Non inserire nella cache le pagine che usano i seguenti cookies.

In questo modo verrà aggiornato il file .htaccess, così da tenere in considerazione i due cookies.

Ma se oltre ad avere un carrello funzionante in PHP, il tuo sito va su un server NGINX, potresti avere dei problemi nell'esclusione delle pagine dalla cache e nella sincronizzazione del numero dei prodotti nel carrello. Infatti, il problema che impedisce al carrello di visualizzare correttamente i prodotti è la combinazione fra configurazione NGINX e cookies Woocommerce.

Configurazione NGINX

Una volta implementata la  configurazione NGINX, la cache WP Rocket viene servita tramite NGINX: questo può complicare un po' le cose perché non c'è un file .htaccess da aggiornare. 

Visto che il file rocket-nginx.con non può essere aggiornato automaticamente, l'esclusione della cache basata sui cookies deve essere fatta manualmente. 

Hai due soluzioni:

1
Entra nella tua configurazione NGINX per WP Rocket e vai alla  linea 85 :

https://github.com/maximejobin/rocket-nginx/blob/master/rocket-nginx.conf#L85

Aggiungi i due cookies Woocommerce come segue:

if ($http_cookie ~* "(wordpress_logged_in_|wp\-postpass_|woocommerce_items_in_cart|woocommerce_cart_hash)")
2
Entra nella tua configurazione NGINX per WP Rocket e vai alla linea  23 :

https://github.com/maximejobin/rocket-nginx/blob/master/rocket-nginx.conf#L23

impostando il $rocket_bypass su 0 invece che 1

Sia che scegli l'opzione 1) o la 2), ricorda di riavviare NGINX una volta aver modificato la configurazione!