wordpress popular post にBJ Lazy Loadを適用する

BJ Lazy Loadは、画像の遅延読み込みを自動で行ってくれるプラグインですが、サイドバーに設置していたwordpress popular postには適用されないようでした。

pagespeed Insightsでwordpress popular postの画像に対して、「オフスクリーン画像の遅延読み込み」の改善が提案されていたことで気が付きました。

いくつか設定項目を確認しましたが、プラグインのソースコードを直接いじるしかないようです。

修正するファイルは以下の202行目あたりです。
/wp-content/plugins/wordpress-popular-posts/includes/class-wordpress-popular-posts-image.php

出力されているクラスに

lazy article-img lazy-loaded

を追加します。

        // there is a thumbnail already
        if ( is_file( trailingslashit( $this->uploads_dir['basedir'] ) . $image_meta['filename'] . '.' . $image_meta['extension'] ) ) {
            return $this->render_image(
                trailingslashit( $this->uploads_dir['baseurl'] ) . $image_meta['filename'] . '.' . $image_meta['extension'],
                $size,
                'lazy article-img lazy-loaded wpp-thumbnail wpp_cached_thumb wpp_' . $source,
                $post_object
            );
        }

これにより、サイドバーに設置された画像に遅延読み込みが適用されました。

おわり