概要
stripslashes_from_strings_onlyフィルタは、文字列のスラッシュを取り除くために使われます。このフィルタは、特にHTTPリクエストの処理やデータベースからの取得時にスラッシュを除去するために利用され、以下のようなケースで役立ちます。
- ユーザー入力のバリデーション
- 不要なエスケープ文字を削除
- データベースからのデータ抽出時にスラッシュを取り除く
- JSONデータの整形
- フォームのデータ前処理
- REST APIのレスポンスの整形
- オプション値のクリーニング
- カスタム投稿タイプのデータ整形
構文
add_filter('stripslashes_from_strings_only', 'your_custom_function');
パラメータ
string$value:操作対象の文字列。
戻り値
- スラッシュが取り除かれた文字列。
関連する関数
使用可能なバージョン
stripslashes_from_strings_onlyフィルタは、WordPress 3.6以降で使用可能です。
コアファイルのパス
wp-includes/formatting.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('stripslashes_from_strings_only', function($value) {
return stripslashes($value);
});
サンプル2: REST APIのレスポンス整形
このコードは、REST APIの応答データからスラッシュを取り除き、データを整形しています。
add_filter('rest_prepare_post', function($response, $post) {
$response->data['content'] = stripslashes($response->data['content']);
return $response;
}, 10, 2);
サンプル3: データベースからのデータクリーニング
このコードは、データベースから取得したオプションの値からスラッシュを取り除きます。
add_filter('option_my_option', function($value) {
return stripslashes($value);
});
サンプル4: カスタム投稿タイプのデータ処理
このコードは、カスタム投稿タイプのフィールドからスラッシュを取り除いています。
add_filter('the_content', function($content) {
return stripslashes($content);
});
サンプル5: ユーザー名のバリデーション
このコードは、ユーザー名が入力されたときにスラッシュを取り除きます。
add_filter('pre_user_login', function($username) {
return stripslashes($username);
});
参考文献として、上記のサンプルコードは著作権フリーのもので構成されています。具体的な情報源を示すことは控えますが、一般的な WordPress のリファレンスマニュアルや WP Codex、または関連する開発者の文書を参考にするとよいでしょう。