概要
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コンテキストの場合に、ラジー読み込みを無効にするサンプルです。