sanitize_text_field()


WordPressの関数sanitize_text_field()は、ユーザー入力データを安全に処理するために使用されます。この関数は、テキストデータから不要なHTMLやスクリプトを削除し、信頼できるデータを扱えるようにします。

シンタックス

sanitize_text_field( string $text )
  • $text (string) — サニタイズするテキストデータ。

例 1: ユーザー入力のサニタイズ

フォーム入力データを安全に処理する基本的な例。

<?php
$user_input = $_POST['user_input'];
$safe_input = sanitize_text_field( $user_input );
echo $safe_input;
?>

例 2: オプションの保存

ユーザーが設定したオプションを保存する前にサニタイズする例。

<?php
if ( isset( $_POST['custom_option'] ) ) {
    $custom_option = sanitize_text_field( $_POST['custom_option'] );
    update_option( 'custom_option_name', $custom_option );
}
?>

例 3: REST APIのリクエストデータ処理

REST APIエンドポイントで受信データをサニタイズする例。

<?php
function sanitize_api_request( $request ) {
    $data = $request->get_param( 'data' );
    return sanitize_text_field( $data );
}
?>

例 4: フィルタフックの利用

フィルタを使ってテキストを安全に処理する例。

<?php
add_filter( 'some_custom_filter', 'sanitize_text_field' );
?>

例 5: メタデータの保存時の使用

投稿メタデータを保存する際にサニタイズする例。

<?php
add_action( 'save_post', function( $post_id ) {
    if ( isset( $_POST['custom_meta'] ) ) {
        $custom_meta = sanitize_text_field( $_POST['custom_meta'] );
        update_post_meta( $post_id, '_custom_meta_key', $custom_meta );
    }
});
?>

注意事項

  • sanitize_text_field()はテキストデータ専用であり、HTMLを含むデータを処理する場合は別の関数を使用する必要があります。
  • この関数は、配列やオブジェクトを直接処理できません。それらをサニタイズするには、各要素に適用する必要があります。

関連機能: