概要
wp_readonly
関数は、フォームフィールドのreadonly
属性を表示するために使用されます。この属性があることで、ユーザーはフィールドの内容を閲覧することはできても、それを変更することはできません。この関数は、以下のような機能を実装する際によく使われます。
- プロファイル情報の表示
- 設定画面でのユーザー設定の表示
- 商品詳細ページの固定情報表示
- 管理者によるログの閲覧
- アプリケーションフォームの提出回数制限
- 無効化されたフィールドの情報提示
- ユーザーに対する注意事項の表示
- 特定の条件下での入力制限
構文
wp_readonly( string $value, string $label = '', array $args = array() )
パラメータ
$value
(string) — 入力する値。必須です。$label
(string) — フィールドのラベル。オプションです。$args
(array) — 追加の引数。オプションです。
戻り値
wp_readonly
関数は、HTMLのinput
タグにreadonly
属性を付加した文字列を返します。
関連する関数
使用可能なバージョン
wp_readonly
関数はWordPress 4.0以降で使用可能です。
コアファイルのパス
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 | 〇 |
サンプルコード
サンプルコード1: フォーム入力フィールドの作成
echo wp_readonly('sample_value', 'Sample Label');
このコードは、値がsample_value
の入力フィールドを生成し、「Sample Label」というラベルを付けます。このフィールドは読み取り専用です。
サンプルコード2: 設定画面での読み取り専用フィールド
function my_settings_page() {
$my_value = get_option('my_option');
echo wp_readonly($my_value, 'My Option Value');
}
このコードは、設定画面でmy_option
の値を表示し、読み取り専用にします。
サンプルコード3: プロファイル表示
function display_user_profile($user_id) {
$user_info = get_userdata($user_id);
echo wp_readonly($user_info->user_email, 'Email Address');
}
このコードは、指定されたユーザーのメールアドレスを表示し、ユーザーがその値を変更できないようにします。
サンプルコード4: 商品情報の表示
function display_product_info($product_id) {
$product_price = get_post_meta($product_id, '_price', true);
echo wp_readonly($product_price, 'Product Price');
}
このコードは、特定の商品IDから価格を取得し、その値を読み取り専用で表示します。
サンプルコード5: 特定条件下での無効化フィールド
if ( ! current_user_can('edit_posts') ) {
echo wp_readonly('You do not have permission to edit.', 'Permission Error');
}
このコードは、ユーザーが投稿を編集する権限がない場合、読み取り専用のエラーメッセージを表示します。