wp_readonly()


WordPressのwp_readonly()関数は、フォームフィールドを「読み取り専用」にする属性を適用するために使用されます。

構文

wp_readonly( bool $readonly, bool $echo = true );

引数の説明:

  • $readonly (bool)trueの場合、「readonly」属性が適用されます。falseの場合は何も出力されません。
  • $echo (bool)trueの場合、結果が即座に出力されます。falseの場合は結果が返されます。

例1: 読み取り専用フィールドを作成する

以下の例は、フォームフィールドを読み取り専用に設定します。

<input type="text" name="example" value="サンプル値" <?php wp_readonly( true ); ?>>

例2: 条件付きで読み取り専用を適用

ユーザーが管理者の場合のみ、フィールドを読み取り専用にします。

<input type="text" name="admin_only" value="管理者専用" <?php wp_readonly( current_user_can( 'administrator' ) ); ?>>

例3: 出力を返す方法

属性を直接返し、後で手動で挿入します。

$readonly_attribute = wp_readonly( true, false );
echo '<input type="text" name="example" value="サンプル値" ' . $readonly_attribute . '>';

例4: フォーム設定で利用

フォームフィールドを条件によって読み取り専用に設定します。

<?php if ( isset( $_GET['readonly'] ) ) { ?>
    <input type="text" name="example" value="条件付き" <?php wp_readonly( true ); ?>>
<?php } ?>

例5: 配列データで適用

配列の条件に基づいて読み取り専用を設定します。

<?php
$options = get_option( 'custom_options' );
?>
<input type="text" name="custom_field" value="カスタム値" <?php wp_readonly( isset( $options['readonly'] ) && $options['readonly'] ); ?>>

注意点:

  • 読み取り専用フィールドは、値の変更が必要な場合には適していません。

関連機能: