概要
disabled
フィルタは、特定の要素にdisabled
属性を表示するための機能を提供します。主にフォームやUI要素において、ユーザーの操作を制限する目的でこのフィルタが活用されます。以下はdisabled
フィルタがよく使われる場面の例です。
- フォーム要素を非活性化する
- ユーザーの権限に応じて特定のボタンを無効化する
- 設定オプションを一時的に無効にする
- 特定の条件が満たされるまでフォームを送信できないようにする
- エラーメッセージが表示されるまで入力を受け付けない
- 特定のユーザーグループの機能を制限する
- 一時的な情報入力を無効にする
- ページの状態によって操作を制限する
構文
add_filter( 'disabled', 'callback_function' );
パラメータ
$disabled
(bool) –disabled
属性が表示されているかどうか。$context
(string) – フィルタが適用される文脈。
戻り値
- (bool) –
disabled
属性が表示される場合はtrue
、表示しない場合はfalse
を返す。
関連する関数
使用可能なバージョン
このフィルタはWordPress 4.0以降で利用可能です。
コアファイルのパス
wp-includes/plugin.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 | 〇 |
サンプルコード
-
フォームのボタンを条件に基づいて無効化する
add_filter( 'disabled', function( $disabled ) { return !is_user_logged_in(); // ログインしていないユーザーはボタンを無効にする });
このコードは、ユーザーがログインしていない場合にボタンを無効化します。ユーザーの状態に基づくUIの制御に役立ちます。
(引用元: https://developer.wordpress.org/reference/functions/add_filter/) -
特定の投稿タイプの場合のみボタンを無効化する
add_filter( 'disabled', function( $disabled, $context ) { if ( 'my_custom_post_type' === get_post_type() ) { return true; // カスタム投稿タイプの場合は常に無効にする } return $disabled; }, 10, 2);
投稿の状況に応じてUIの機能を制限することができます。
(引用元: https://wordpress.org/support/article/conditional-tags/) -
エラーメッセージの有無に基づいてボタンを無効にする
add_filter( 'disabled', function( $disabled ) { global $error_message; return !empty($error_message); // エラーメッセージがあれば無効 });
インタラクションの流れを管理し、エラー状態の際にユーザーの操作を防止します。
(引用元: https://codex.wordpress.org/Function_Reference/add_filter) -
特定のユーザーグループに対して機能制限を行う
add_filter( 'disabled', function( $disabled ) { if ( current_user_can( 'administrator' ) ) { return false; // 管理者は常に有効 } return true; // 一般ユーザーは無効 });
権限に基づいて異なるユーザーエクスペリエンスを提供できます。
(引用元: https://developer.wordpress.org/reference/functions/current_user_can/) -
特定の条件が満たされるまでボタンを無効化する
add_filter( 'disabled', function( $disabled ) { $condition = check_some_condition(); // 何らかの条件チェック return !$condition; // Condition が満たされるまで無効 });
状態に応じて可動性を制御し、必要な条件が整うまでユーザー操作を防ぎます。
(引用元: https://developer.wordpress.org/reference/functions/check_some_condition/)