概要
wp_lazy_loading_enabled フィルタは、要素に loading 属性を追加するか判定するために使用されます。このフィルタは、WordPress内でラジー読み込み (lazy loading) の挙動をカスタマイズするのに役立ちます。特に、画像やiframeの読み込みを遅延させる際に利用されます。これにより、ページの初期読み込みが速くなり、ユーザー体験が向上します。
このフィルタは、以下のような機能を実装する際によく使われます:
1. 画像のラジー読み込みの有効化または無効化
2. 特定のユーザーや条件に基づいたラジー読み込みの制御
3. メディアライブラリからの画像に対してラジー読み込みを適用
4. 特定のショートコードで生成されたコンテンツのラジー読み込み設定
5. カスタム投稿タイプに対するラジー読み込みの適用
6. テーマやプラグインによる特別なメディア表示のカスタマイズ
7. 管理画面における画像表示の制御
8. SEOへの影響を考慮したラジー読み込み設定
構文
add_filter('wp_lazy_loading_enabled', 'your_callback_function', 10, 2);
パラメータ
$enabled(bool): 現在のラジー読み込みの有効化状態。$context(string): フィルタが適用されるコンテキスト(例: ‘post’, ‘comment’, など)。
戻り値
(bool)ラジー読み込みを有効にするかどうか。
関連する関数
使用可能なバージョン
- WordPress 5.5以降
コアファイルのパス
wp-includes/media.php
この関数のアクションでの使用可能性
| アクション | 使用例 |
|---|---|
| mu_plugin_loaded | |
| registered_post_type | |
| plugins_loaded | |
| wp_roles_init | |
| setup_theme | |
| after_setup_theme | |
| set_current_user | |
| init | |
| register_sidebar | |
| wp_loaded | |
| send_headers | |
| parse_query | |
| pre_get_posts | |
| wp | 〇 |
| template_redirect | |
| get_header | |
| wp_head |
サンプルコード
サンプルコード 1
add_filter('wp_lazy_loading_enabled', '__return_false');
説明: すべての画像に対するラジー読み込みを無効にするサンプルです。
サンプルコード 2
add_filter('wp_lazy_loading_enabled', function($enabled, $context) {
return is_single() ? true : $enabled;
}, 10, 2);
説明: シングル投稿ページの場合のみ、ラジー読み込みを有効にするサンプルです。
サンプルコード 3
add_filter('wp_lazy_loading_enabled', function($enabled, $context) {
if ($context === 'post') {
return true; // 投稿の画像に対してのみラジー読み込みを有効にする
}
return $enabled;
}, 10, 2);
説明: 投稿コンテキストにおいて、画像のラジー読み込みを有効にするサンプルです。
サンプルコード 4
add_filter('wp_lazy_loading_enabled', function($enabled) {
if (current_user_can('administrator')) {
return false; // 管理者ユーザーにはラジー読み込みを無効にする
}
return $enabled;
});
説明: 管理者ユーザーに対してラジー読み込みを無効にするサンプルです。
サンプルコード 5
add_filter('wp_lazy_loading_enabled', function($enabled, $context) {
return $context === 'iframe' ? false : $enabled; // iframeに対してはラジー読み込みを無効にする
}, 10, 2);
説明: iframeコンテキストの場合に、ラジー読み込みを無効にするサンプルです。