概要
wp_slash_strings_only
フィルタは、配列またはオブジェクト内の文字列をバックスラッシュでエスケープするために使用されます。このフィルタは、特に以下の機能を実装する際によく使われます。
- フォームデータのセキュリティ強化
- JSONデータの処理
- データベースへの安全な挿入
- REST APIレスポンスの調整
- オプションの保存と取得
- カスタムフィールドのハンドリング
- テーマ設定のセキュリティ強化
- ウィジェットデータの管理
構文
apply_filters( 'wp_slash_strings_only', $value );
パラメータ
$value
: エスケープ処理を行うデータ(配列またはオブジェクト)。
戻り値
- バックスラッシュでエスケープされたデータ。
関連する関数
使用可能なバージョン
- WordPress 4.4以降
コアファイルのパス
wp-includes/functions.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: フォームデータのエスケープ
add_filter( 'wp_slash_strings_only', function( $data ) {
if ( is_array( $data ) ) {
foreach ( $data as $key => $value ) {
if ( is_string( $value ) ) {
$data[ $key ] = addslashes( $value );
}
}
}
return $data;
});
このコードは、配列内の文字列にバックスラッシュを追加します。
サンプル2: JSONデータのエスケープ
add_filter( 'wp_slash_strings_only', function( $json_data ) {
return json_encode( array_map( 'addslashes', $json_data ) );
});
このコードは、JSONデータの各値にバックスラッシュを追加します。
サンプル3: データベースへの挿入
add_filter( 'wp_slash_strings_only', function( $values ) {
return array_map( 'addslashes', $values );
});
このコードは、データベースへ挿入する前に配列内の全ての値をエスケープします。
サンプル4: REST APIレスポンス調整
add_filter( 'wp_slash_strings_only', function( $response ) {
foreach ( $response as &$item ) {
$item = addslashes( $item );
}
return $response;
});
このコードは、REST APIのレスポンス内の各アイテムにバックスラッシュを追加します。
サンプル5: カスタムフィールドのハンドリング
add_filter( 'wp_slash_strings_only', function( $custom_fields ) {
return array_map( 'addslashes', $custom_fields );
});
このコードは、カスタムフィールドのデータにバックスラッシュを追加します。