我正在尝试为火箭装载程序延迟加载插件添加一个占位符图像。
文档指出,我可以使用以下过滤器更改占位符图像:
apply_filters( 'rocket_lazyload_placeholder', $placeholder );
说明在src属性上过滤延迟加载占位符
参数$ placeholder :(字符串)占位符字符串。默认为 数据:图片尺寸为1px X 1px,图片:iframe为about:空白。
给出了示例代码:
add_filter( 'rocket_lazyload_placeholder', function() {
return 'http://example.com/loading.gif';
}
但是这会引发php错误,因为“ add_filter(')没有关闭(据我所知)。
PHP语法检查:解析错误:语法错误,意外的'?>', 在第3行的代码中期待','或')'
我相信我们要在插件中替换的源代码是:
$placeholder = apply_filters( 'rocket_lazyload_placeholder', 'data:image/gif;base64,R0lGODdhAQABAPAAAP///wAAACwAAAAAAQABAEACAkQBADs=' );
$html = sprintf( '<img%1$s src="%4$s" data-lazy-src=%2$s%3$s>', $matches[1], $matches[2], $matches[3], $placeholder );
$html_noscript = sprintf( '<noscript><img%1$s src=%2$s%3$s></noscript>', $matches[1], $matches[2], $matches[3] );
我的php并不是最好的,所以我尝试过的任何东西都没有用。如果有人可以帮助我纠正/说明这一点,将不胜感激。谢谢!
答案 0 :(得分:0)
如果还有其他需要的人,我已经找到了解决方案。
add_filter( 'rocket_lazyload_placeholder', function( $placeholder ) {
$placeholder = 'your-spinner-url-here';
return $placeholder;
} );
添加到活动主题/子功能.php