0
我有一個圖像很重的WordPress網站。爲了幫助加載,我使用了延遲加載。用php創建HTML元素
lazyload插件需要data-original
屬性中的img url。
我改變使用功能的圖像URL添加到data-original
的img
元素和佔位符的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
元素是否可以使用原始img
中的src
?
所以新img
元素應該是這樣的:
<noscript><img src="img/example.jpg" width="640" heigh="480"></noscript>
cassi.lup - 這是我試圖做到這一點,但它會導致一個致命錯誤,頁面沒有加載。我也必須使用原始圖像的src,例如 - $ dom-> appendChild(''); – ttmt
請提供您收到的錯誤消息。 –