Risolvere il conflitto con YITH WooCommerce Zoom Magnifier

Se stai usando il plugin YITH WooCommerce Zoom Magnifier, potresti notare qualche conflitto al momento dell'attivazione della minificazione JavaScript e del LazyLoad.

Escludere il file JS dalla Minificazione

Se hai attivato la minificazione JS, devi escludere l'URL di questo file dalla minificazione:

/wp-content/plugins/yith-woocommerce-zoom-magnifier/assets/js/yith_magnifier.min.js

Disabilitare LazyLoad per i prodotti variabili

Se Zoom Magnifier non sta funzionando correttamente per le varianti delle immagini del prodotto quando il LazyLoad è attivo, disattiva il LazyLoad esclusivamente in quelle pagine. (Questa funzione è disponibile solo con WP Rocket 2.5 e successive versioni)

Disabilita LazyLoad programmaticamente per le pagine prodotto

Nelle versioni di WP Rocket precedenti alla 2.5 devi disabilitare il LazyLoad per le pagine prodotto con un MU plugin personalizzato oppure attraverso il file functions.php.

MU Plugin personalizzato

Segui le istruzioni generali in questo articolo:
Come creare un (MU) plugin personalizzato

1
Crea una cartella chiamata mu-plugins dentro wp-content
Se la cartella mu-plugins esiste già, non crearne una nuova ma usa quella esistente.
2

Usando un editore di testo basico, crea un nuovo file e inserisci questo codice:

<?php
defined( 'ABSPATH' ) or die( 'Cheatin&#8217; uh?' );
/**
 * Plugin Name: WP Rocket | Disable LazyLoad for Single Products
 * Description: Programatically deactivates LazyLoad on WooCommerce single product pages.
 * Author:      WP Rocket Support Team
 * Author URI:  http://wp-rocket.me/
 * License:     GNU General Public License v3 or later
 * License URI: http://www.gnu.org/licenses/gpl-3.0.html
 */

/**
 * Disable LazyLoad on single product pages.
 * @return void
 */
function __deactivate_rocket_lazyload_if_page() {
	if( is_product() ) {
		add_filter( 'do_rocket_lazyload', '__return_false' );
	}
}
add_filter( 'wp', '__deactivate_rocket_lazyload_if_page' );
	
3
Salva il file come wp-rocket-disable-lazyload.php
4
Carica questo file dentro la cartella mu-plugins creata al punto 1.
5
Infine, assicurati di disattivare e riattivare WP Rocket.

Dal tuo tema

Inserisci il seguente codice nel file functions.php del tuo tema figlio o tema personalizzato.

/**
 * Disable LazyLoad on single product pages.
 * @return void
 */
function __deactivate_rocket_lazyload_if_page() {
	if( is_product() ) {
		add_filter( 'do_rocket_lazyload', '__return_false' );
	}
}
add_filter( 'wp', '__deactivate_rocket_lazyload_if_page' );