К сожалению, GTMetrix по-прежнему помечает «не лениво загружать LCP», и когда я проверяю изображение в своих браузерах, я все еще вижу атрибут loading="lazy" для первого (и каждого) изображения в каждом сообщении.
Я подозревал, что логотип сайта в заголовке считается первым изображением, но у него тоже есть loading="lazy", поэтому кажется, что код вообще не работает.
- Wordpress 6.0.1
- Тема: Hello Elementor Child
- Elementor + Elementor Pro
- JetEngine для произвольного типа сообщений
- Imagify для преобразования и оптимизации WebP
Фрагмент, который я запускаю:
Код: Выделить всё
/* Remove lazy load first image */
function add_responsive_class($content)
{
if ( is_single() || is_page() || is_front_page() || is_home() )
{
$content = mb_convert_encoding($content, 'HTML-ENTITIES', "UTF-8");
$document = new DOMDocument();
libxml_use_internal_errors(true);
$document->loadHTML(utf8_decode($content));
$imgs = $document->getElementsByTagName('img');
$img = $imgs[0];
if ($imgs[0] == 1)
{ // Check first if it is the first image
$img->removeAttribute( 'loading' );
$html = $document->saveHTML();
return $html;
}
else
{
return $content;
}
}
else
{
return $content;
}
}
add_filter ('the_content', 'add_responsive_class');
Подробнее здесь: https://stackoverflow.com/questions/734 ... -wordpress