LazyLoad für mobile Geräte deaktivieren

Inhalt

A. Bei aktivem Mobilen Caching

In manchen Konstellationen funktioniert LazyLoad hervorragend für Desktops, verursacht jedoch Probleme auf mobilen Geräten. Falls du sowohl Mobiles Caching, als auch dessen Sup-Option Cache-Datei für Besucher von mobilen Geräten anlegen aktiviert hast, kannst du LazyLoad mittels eines einfachen MU-Plugins für mobile Geräte deaktivieren.

1
Lege einen neuen Ordner mu-plugins innerhalb von wp-content an.
Falls der Ordner mu-plugins dort schon existiert, verwende den existierenden.
2
Lege eine neue Datei an und speichere die folgenden Code-Zeilen darin. Nutze dafür einen Code- oder Texteditor:
<?php
defined( 'ABSPATH' ) or die( 'Cheatin&#8217; uh?' );
/**
 * Plugin Name: WP Rocket | UnLazyLoad Mobile
 * Description: Disables LazyLoad when Mobiles Caching is active.
 * 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
 */

add_filter( 'wp', '__deactivate_rocket_lazyload_only_on_mobile' );
function __deactivate_rocket_lazyload_only_on_mobile() {
	if( class_exists( 'Rocket_Mobile_Detect' ) && get_rocket_option( 'do_caching_mobile_files', false ) ) {
		$detect = new Rocket_Mobile_Detect();
	
		if ( $detect->isMobile() && ! $detect->isTablet() ) {
			// Images
			add_filter( 'do_rocket_lazyload', '__return_false' );
			
			// iframes
			add_filter( 'do_rocket_lazyload_iframes', '__return_false' );
		}
	}
}
	
3
Speichere die Datei unter einem beliebigen Namen, aber nutze ausschließlich lateinische Kleinbuchstaben, Ziffern, oder Bindestriche im Dateinamen. Zum Beispiel:
wp-rocket-unlazyload-mobile.php
4
Lade die Datei in den Ordner mu-plugins aus Schritt 1 hoch.
5
Zuletzt deaktiviere und re-aktiviere WP Rocket einmal.

B. Bei nicht aktivem Mobilen Caching

LazyLoad ist auch auf nicht gecachten Seiten aktiv. Wenn du Mobiles Caching deaktiviert hast, ist LazyLoad für Besucher_innen auf mobilen Geräten also dennoch aktiv.

Falls dies zu Problemen führt, kannst du LazyLoad auch bei nicht aktivem Mobilen Caching programmatisch deaktivieren.

1

Deaktiviere den Cache für mobile Geräte in den Basis-Einstellungen von WP Rocket, falls nicht schon geschehen.

2
Lege einen neuen Ordner mu-plugins innerhalb von wp-content an.
Falls der Ordner mu-plugins dort schon existiert, verwende den existierenden.
3
Lege eine neue Datei an und speichere die folgenden Code-Zeilen darin. Nutze dafür einen Code- oder Texteditor:
<?php
defined( 'ABSPATH' ) or die( 'Cheatin&#8217; uh?' );
/**
 * Plugin Name: WP Rocket | UnLazyLoad Mobile
 * Description: Disables LazyLoad for mobile devices.
 * 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
 */

if ( wp_is_mobile() ) {
	add_filter( 'do_rocket_lazyload', '__return_false' );
}
	
4
Speichere die Datei unter einem beliebigen Namen, aber nutze ausschließlich lateinische Kleinbuchstaben, Ziffern, oder Bindestriche im Dateinamen. Zum Beispiel:
wp-rocket-unlazyload-mobile.php
5
Lade die Datei in den Ordner mu-plugins aus Schritt 1 hoch.
6
Zuletzt deaktiviere und re-aktiviere WP Rocket einmal.

Hinweis: Dies funktioniert nur, wenn du den Cache für mobile Geräte in Schritt 1 deaktiviert hast.