ワードプレスのsanitize_textarea_field関数の使用方法・解説

概要

sanitize_textarea_field関数は、複数行文字列をサニタイズするために使用されます。この関数は、ユーザーからの入力を安全に処理するために重要です。主に次のようなシーンで使用されます:

  1. フォームから送信された複数行のテキストデータの処理
  2. ユーザーが投稿するコメントやメッセージのサニタイズ
  3. プラグインやテーマのオプション設定におけるテキストエリアの入力処理
  4. データベースに保存する前のチェック
  5. ユーザー登録フォームでの入力検証
  6. プロフィール情報の制限
  7. ウィジェットでの入力データの処理
  8. APIのレスポンスデータや設定データのクリーンアップ

構文

sanitize_textarea_field( $text );

パラメータ

  • $text (string): サニタイズ対象のテキスト。

戻り値

  • (string): サニタイズされたテキスト。

関連する関数

バージョン

  • この関数はWordPress 4.0以降で使用可能です。

コアファイルのパス

  • wp-includes/formatting.php

サンプルコード

サンプルコード1

$text = "これはnテストテキストです。";
$sanitized_text = sanitize_textarea_field( $text );

このコードは、複数行の文字列をサニタイズし、変数 $sanitized_text に保存します。最初の例でnを含む行がサニタイズされます。

サンプルコード2

if ( isset($_POST['user_input']) ) {
    $sanitized_input = sanitize_textarea_field( $_POST['user_input'] );
    update_option( 'user_option', $sanitized_input );
}

このサンプルは、ユーザーからの入力を受け取り、サニタイズした後にオプションとして保存します。

サンプルコード3

// 投稿メタデータの保存時にサニタイズする例
function save_custom_meta( $post_id ) {
    if ( isset( $_POST['custom_textarea'] ) ) {
        $sanitized_value = sanitize_textarea_field( $_POST['custom_textarea'] );
        update_post_meta( $post_id, 'custom_meta_key', $sanitized_value );
    }
}
add_action( 'save_post', 'save_custom_meta' );

このコードは、カスタム投稿メタの保存時にサニタイズを行います。

サンプルコード4

$raw_text = "不正なHTMLの入力<h1>ヘッダー</h1>";
$clean_text = sanitize_textarea_field( $raw_text );
// 出力例: "不正なHTMLの入力"
echo $clean_text;

この例では、不正なHTMLタグが含まれるテキストをサニタイズし、安全なテキストとして出力します。

サンプルコード5

function display_sidebar_input() {
    $textarea_value = get_option('user_option');
    echo '<textarea>' . esc_textarea( $textarea_value ) . '</textarea>';
}

このコードは、保存されているオプションを取得し、テキストエリアに安全に表示します。

この関数のアクションでの使用可能性

アクション 使用例
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

非推奨または削除されたバージョン

  • 現時点では、sanitize_textarea_field関数が非推奨又は削除されたバージョンはありません。

この関数について質問する


上の計算式の答えを入力してください