我有一个图片较多的 WordPress 网站。为了帮助加载,我正在使用延迟加载。
延迟加载插件需要data-original
属性中的 img url。
我正在img
使用函数更改元素,以将图像 url 添加到data-original
并将占位符添加到src
:
function add_lazyload($content) {
$dom = new DOMDocument();
@$dom->loadHTML($content);
foreach ($dom->getElementsByTagName('img') as $node) {
$oldsrc = $node->getAttribute('src');
$node->setAttribute("data-original", $oldsrc );
$newsrc = ''.get_template_directory_uri().'/library/images/nothing.gif';
$node->setAttribute("src", $newsrc);
//create img tag
$element = $dom->createElement("img");
$dom->appendChild($element);
}
$newHtml = $dom->saveHtml();
return $newHtml;
}
add_filter('the_content', 'add_lazyload');
延迟加载正在工作,但我想添加一个非 JavaScript 后备。上述函数是否可以使用原始元素创建新img
元素?src
img
所以新img
元素看起来像这样:
<noscript><img src="img/example.jpg" width="640" heigh="480"></noscript>