Corriger le problème entre la configuration NGINX et les cookies WooCommerce

Comme vous le savez peut-être, certains widgets de panier utilisent AJAX et fonctionnement correctement avec le cache, mais pas ceux qui utilisent PHP. 

Comme nous le suggérons ici, Si vous avez un widget de panier utilisant uniquement PHP, vous devriez exclure les pages du cache si les cookies de WooCommerce sont présents: woocommerce_items_in_cart et woocommerce_cart_hash. Vous les ajoutez à l'option d'exclusion Ne jamais mettre en cache les pages qui utilisent les cookies suivants dans les réglages de WP Rocket.

Cela mettre à jour le fichier .htaccess pour prendre ces cookies en considération.

Cependant, si votre site tourne sous NGINX et que vous utilisez WooCommerce avec un widget de panier uniquement PHP, vous risquez de rencontrer des problème avec cela, car il n'y a pas de fichier htaccess.

configuration NGINX

Lorsque vous avez la configuration NGINX de WP Rocket, il ne nous est pas possible de la mettre à jour directement comme sous Apache.

La modification doit donc être faite manuellement.

Vous avez 2 solutions :

1
Entrez dans la configuration NGINX pour WP Rocket et allez à la ligne 85 :

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

Ajoutez les 2 cookies WooCommerce de la façon suivante : 
if ($http_cookie ~* "(wordpress_logged_in_|wp\-postpass_|woocommerce_items_in_cart|woocommerce_cart_hash)")
	
2
Entrez dans la configuration NGINX pour WP Rocket et allez à la ligne 23 :

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

et changez la valeur de la variable $rocket_bypass de 0 à 1

Que vous utilisiez l'option 1 ou 2, rappellez-vous de redémarrer NGINX après avoir éditer la configuration !