Snippet

Włącz Lazy Loading obrazów w WordPressie bez użycia wtyczek

Jak włączyć leniwe ładowanie obrazów w WordPressieWtyczka WordPress do leniwego ładowania obrazówNajlepszy sposób na leniwe ładowanie obrazów w WordPressieWłącz leniwe ładowanie obrazów w WordPressie bez wtyczkiLeniwe ładowanie obrazów w WordPressie nie działaJak włączyć leniwe ładowanie obrazów w WordPressieDarmowa wtyczka do leniwego ładowania obrazów w WordPressieRęczne leniwe ładowanie obrazów w WordPressieJak skonfigurować leniwe ładowanie obrazów w WordPressieSamouczek dotyczący leniwego ładowania obrazów w WordPressie

Objaśnienie

Lazy loading to sprytny sposób na przyspieszenie działania Twojej strony WordPress poprzez ładowanie obrazów tylko wtedy, gdy mają być wyświetlone. Oznacza to, że Twoi odwiedzający nie będą musieli czekać na załadowanie wszystkich obrazów jednocześnie, co może znacznie przyspieszyć działanie Twojej strony.

Oto jak ten kod pomaga to osiągnąć:

  • Dodawanie skryptu: Kod dodaje specjalny skrypt o nazwie lazysizes do Twojej strony. Ten skrypt odpowiada za obsługę lazy loadingu obrazów.
  • Obrazy w treści: Modyfikuje obrazy w Twoich postach lub stronach. Zmienia atrybut src obrazu na data-src i dodaje klasę lazyload. To informuje przeglądarkę, aby ładowała obraz tylko wtedy, gdy jest to potrzebne.
  • Miniatury postów: Ta sama technika lazy loadingu jest stosowana do obrazów wyróżniających (miniatur postów), aby zapewnić, że również ładują się tylko wtedy, gdy jest to konieczne.

Korzystając z tego kodu, nie potrzebujesz wtyczki do włączenia lazy loadingu, co może być świetnym sposobem na utrzymanie lekkiej wagi Twojej strony. Upewnij się tylko, że Twój serwer obsługuje klasę DOMDocument, ponieważ jest to kluczowe dla działania tego kodu.

Kod

1add_action('wp_enqueue_scripts', 'wp_dudecom_enqueue_lazy_load_script'); 2 3function wp_dudecom_enqueue_lazy_load_script() { 4 // Enqueue the lazy load script 5 wp_enqueue_script('wp-dudecom-lazy-load', 'https://cdnjs.cloudflare.com/ajax/libs/lazysizes/5.3.2/lazysizes.min.js', array(), null, true); 6} 7 8add_filter('the_content', 'wp_dudecom_add_lazy_loading_to_images'); 9 10function wp_dudecom_add_lazy_loading_to_images($content) { 11 // Use DOMDocument to parse the content and add lazy loading attributes 12 if (!class_exists('DOMDocument')) { 13 return $content; 14 } 15 16 libxml_use_internal_errors(true); 17 $dom = new DOMDocument(); 18 $dom->loadHTML('<?xml encoding="utf-8" ?>' . $content, LIBXML_HTML_NOIMPLIED | LIBXML_HTML_NODEFDTD); 19 $images = $dom->getElementsByTagName('img'); 20 21 foreach ($images as $img) { 22 $img->setAttribute('class', trim($img->getAttribute('class') . ' lazyload')); 23 $img->setAttribute('data-src', $img->getAttribute('src')); 24 $img->removeAttribute('src'); 25 } 26 27 return $dom->saveHTML(); 28} 29 30add_filter('post_thumbnail_html', 'wp_dudecom_add_lazy_loading_to_post_thumbnails', 10, 5); 31 32function wp_dudecom_add_lazy_loading_to_post_thumbnails($html, $post_id, $post_thumbnail_id, $size, $attr) { 33 // Add lazy loading to post thumbnails 34 if (!class_exists('DOMDocument')) { 35 return $html; 36 } 37 38 libxml_use_internal_errors(true); 39 $dom = new DOMDocument(); 40 $dom->loadHTML('<?xml encoding="utf-8" ?>' . $html, LIBXML_HTML_NOIMPLIED | LIBXML_HTML_NODEFDTD); 41 $images = $dom->getElementsByTagName('img'); 42 43 foreach ($images as $img) { 44 $img->setAttribute('class', trim($img->getAttribute('class') . ' lazyload')); 45 $img->setAttribute('data-src', $img->getAttribute('src')); 46 $img->removeAttribute('src'); 47 } 48 49 return $dom->saveHTML(); 50}

Instrukcja

Lokalizacja pliku: Dodaj kod do pliku functions.php swojego motywu lub do pliku własnej wtyczki.

Wymagania wstępne:

  • Upewnij się, że twój serwer obsługuje klasę DOMDocument.

Kroki wdrożenia:

  1. Uzyskaj dostęp do panelu administracyjnego WordPressa.
  2. Przejdź do Wygląd > Edytor motywu, jeśli dodajesz kod do functions.php. Alternatywnie, przejdź do Wtyczki > Edytor, jeśli używasz pliku własnej wtyczki.
  3. Znajdź i otwórz plik functions.php lub plik swojej własnej wtyczki.
  4. Skopiuj i wklej podany kod do pliku.
  5. Zapisz zmiany.
  6. Wyczyść pamięć podręczną swojej witryny, jeśli masz aktywną wtyczkę do buforowania.
  7. Odwiedź swoją witrynę, aby upewnić się, że obrazy ładują się poprawnie z włączonym leniwym ładowaniem.

Jeśli napotkasz jakiekolwiek problemy lub potrzebujesz dalszej pomocy w tej implementacji lub bardziej zaawansowanej funkcjonalności, rozważ skontaktowanie się z wp-dude.com w celu uzyskania fachowej pomocy.