如何使用WP Rocket延迟加载占位符php过滤器更改占位符图像

时间:2019-05-27 12:51:31

标签: php wordpress

我正在尝试为火箭装载程序延迟加载插件添加一个占位符图像。

文档指出,我可以使用以下过滤器更改占位符图像:

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并不是最好的,所以我尝试过的任何东西都没有用。如果有人可以帮助我纠正/说明这一点,将不胜感激。谢谢!

1 个答案:

答案 0 :(得分:0)

如果还有其他需要的人,我已经找到了解决方案。

add_filter( 'rocket_lazyload_placeholder', function( $placeholder ) {
    $placeholder = 'your-spinner-url-here';
    return $placeholder;
} );

添加到活动主题/子功能.php