概要
checked
フィルタは、WordPressのフォーム要素、特にチェックボックスやラジオボタンにおいて、checked属性を表示する際に利用されます。このフィルタは、HTML出力前にチェック状態の変更を可能にし、カスタムオプションの設定やプラグインの柔軟なユーザーインターフェイスを実装するのに非常に便利です。よく使用されるシナリオは以下の通りです。
- プラグイン設定画面におけるオプションの表示
- テーマオプションの保存と表示
- カスタムポストタイプの設定
- ウィジェット設定の管理
- ユーザー設定のカスタマイズ
- フォームのデフォルト設定の変更
- 設定ページのチェックボックスの状態管理
- ループ内での表示条件の基準に利用
このフィルタは、WordPressのさまざまな部分でいうこともなく利用されており、特に開発者がカスタムフィールドやオプション設定を行う際に役立ちます。
構文
apply_filters( 'checked', $checked, $options, $echo );
パラメータ
$checked
(bool): チェック状態(true または false)を指定します。$options
(optional): 比較するためのオプションを指定します。$echo
(optional): 出力するかどうかを決めるフラグ(デフォルトは true)。
戻り値
checked
フィルタは、HTML出力用に変換されたチェックボックスのchecked
属性を返します。
関連する関数
使用可能なバージョン
checked
フィルタは、WordPress 1.2 以降で利用可能です。
コアファイルのパス
wp-includes/general-template.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 | 〇 |
サンプルコード
-
プラグインオプションの表示
$options = get_option('my_plugin_options'); $checked = isset($options['my_option']) ? $options['my_option'] : false; echo '<input type="checkbox" ' . checked(true, $checked, false) . ' />';
- このコードは、プラグインのチェックボックスオプションの状態を表示します。オプションが設定されている場合も、デフォルトでチェックされません。
-
テーマオプションの表示
$theme_options = get_option('theme_options'); echo '<input type="checkbox" ' . checked(true, $theme_options['show_header'], false) . ' />';
- このサンプルは、テーマのオプションに基づいてヘッダー表示用のチェックボックスを作成します。
-
カスタム投稿タイプの設定
$custom_post_options = get_option('custom_post_options'); echo '<input type="checkbox" ' . checked(true, $custom_post_options['enable_feature'], false) . ' />';
- これはカスタム投稿タイプの機能を有効にするためのチェックボックスを表示します。
-
ウィジェットの設定表示
$widget_options = get_option('widget_options'); echo '<input type="checkbox" ' . checked(true, $widget_options['enable'], false) . ' />';
- ウィジェットの設定を表示するために、特定のオプションのチェック状態を確認しています。
-
ユーザー設定の管理
$user_settings = get_user_meta($user_id, 'user_settings', true); echo '<input type="checkbox" ' . checked(true, $user_settings['receive_newsletter'], false) . ' />';
- ユーザーの設定に基づいて、ニュースレターの受信オプションを表示します。
これらのサンプルコードは、WordPressのフォーム要素でchecked
フィルタを使用する方法を示しています。各コードスニペットは、特定の設定状況に応じたチェックボックスの状態を出力しています。