在 Wordpress 中实现延迟加载时出现问题



我正在尝试为客户端实现一个延迟加载wordpress插件到站点,该插件是"BJ延迟加载",客户端使用的主题是"取景器"。

主页有 2400 张 120x120 缩略图,都是帖子,缩略图是帖子的附件,全尺寸图像(点击时加载)是帖子特色图像(例如,请参阅取景器页面上的图像)。

我安装了该插件,但默认情况下,这只会延迟加载帖子内容中的图像,而这些图像不是。在"其他注释"中,开发人员说通过过滤器传递以下内容以对所有图像使用延迟加载:

    <?php
$img_html = '<img src="myimage.jpg" alt="">';
$img_html = apply_filters( 'bj_lazy_load_html', $img_html );
echo $img_html;
?>

我在支持论坛上询问,因为另一个用户遇到了问题,我最终使用了他的代码,将其粘贴到函数.php文件中:

$args = array(
'post_type' => 'attachment',
'post_status' => null,
'post_parent' => $fr_ID,
'posts_per_page' => -1,
'orderby' => 'menu_order',
'order' => 'ASC'
);
$attachments = get_posts( $args );
if( $attachments ) {
$thumb_images = array();
foreach( $attachments as $key => $attachment ) { 
    $thumb_image = wp_get_attachment_image_src( $attachment -> ID, 'thumbnail' );
    $thumb_images[] = $thumb_image[0];
}
natsort( $thumb_images );
}
// Apply lazy load filter to images
$img_lazy_load = '<img src="'.$thumb_images[0].'" alt="'.esc_attr( get_the_title() ).'" />';
$img_lazy_load = apply_filters( 'bj_lazy_load_html', $img_lazy_load );
echo $img_lazy_load;

无论我尝试什么,我似乎都无法让这种懒惰的负载工作。有没有人有任何建议,其他方法或我可以尝试的替代插件?

谢谢

我会首先在WordPress的全新安装上安装和配置插件。如果您在按照作者的说明后无法使其在那里运行,您可能会从联系插件作者并通知他们中受益最多,因为这将表明插件存在错误。

在设置中,您可以选择它在标题中工作而不是wp_footer,这就是对我有用的。您也可以尝试一个名为Lazy Load的插件(没有BJ)。

最新更新