我需要换衣服src
到data-src
对于Wordpress内容内的iFrame并添加类lazy
. 我试着这样做:
function iframe_image_lazy_load($the_content) {
$thecontent = get_the_content();
if(!empty($thecontent)) {
libxml_use_internal_errors(true);
$post = new DOMDocument();
$post->loadHTML(mb_convert_encoding($the_content, \'HTML-ENTITIES\', \'UTF-8\'));
$iframes = $post->getElementsByTagName(\'iframe\');
foreach( $iframes as $iframe ) {
if( $iframe->hasAttribute(\'data-src\') ) continue;
$clone = $iframe->cloneNode();
$src = $iframe->getAttribute(\'src\');
$iframe->removeAttribute(\'src\');
$iframe->setAttribute(\'data-src\', $src);
$srcset = $iframe->getAttribute(\'srcset\');
$iframe->removeAttribute(\'srcset\');
if( ! empty($srcset)) {
$iframe->setAttribute(\'data-srcset\', $srcset);
}
$iframeClass = $iframe->getAttribute(\'class\');
$iframe->setAttribute(\'class\', $iframeClass . \' lazy\');
};
return $post->saveHTML();
}
}
add_filter(\'the_content\', \'iframe_image_lazy_load\', 15);
它基于其他工作片段,但用于图像。这样行吗?