概要
wp_http_validate_url
関数は、与えられた URL が安全な形式であるかどうかを調べるために使用されます。この関数は、ユーザー入力や外部データから得た URL が適切であるかどうかを確認し、セキュリティリスクを減少させるための重要な手段となります。特に、以下のような機能を実装する際に役立ちます。
- ユーザーからの入力を受け付けるフォーム
- 外部リンクを取り扱う際の検証
- サードパーティAPIと接続する機能
- RSSフィードやその他のデータソースを扱う機能
- カスタム設定ページにおけるURLの検証
- テーマやプラグインでの外部リソース読み込み
- ショートコードでのURL引数の処理
- データベースに保存する前のURL検証
構文
wp_http_validate_url( $url );
パラメータ
$url
(string) : 検証したい URL。
戻り値
- (bool|string) : 正常な URL の場合はその URL を返し、無効な URL の場合は
false
を返します。
関連する関数
ワードプレスのバージョン
この関数はワードプレス 2.8.0 以降で使用可能です。特定のバージョンで非推奨や削除はされていません。
コアファイルのパス
wp-includes/http.php
サンプルコード
サンプルコード1
$url = 'https://example.com';
if ( wp_http_validate_url( $url ) ) {
echo '有効なURLです。';
} else {
echo '無効なURLです。';
}
このサンプルコードは、指定した URL が有効であるかを確認し、有効な場合は「有効なURLです。」、無効な場合は「無効なURLです。」と表示します。
サンプルコード2
function validate_user_input_url($input_url) {
if ( wp_http_validate_url( $input_url ) ) {
return $input_url;
}
return false;
}
このサンプルコードは、ユーザーから受け取った URL を検証し、有効な場合にその URL を返し、無効な場合は false
を返します。
サンプルコード3
function fetch_remote_data($url) {
$validated_url = wp_http_validate_url( $url );
if ( $validated_url ) {
// ここでリモートデータを取得する処理を書く
} else {
// エラーハンドリング
}
}
このサンプルコードは、引数で受け取った URL を検証し、有効な場合にはリモートデータを取得するための処理を行います。
サンプルコード4
$user_defined_url = get_option('custom_url_option');
$valid_url = wp_http_validate_url( $user_defined_url );
if ( $valid_url ) {
// 有効なURLを設定する処理
}
このサンプルコードは、データベースから取得したカスタムURLオプションを検証し、有効な場合はさらなる処理を行います。
サンプルコード5
function sanitize_and_save_url( $url ) {
if ( wp_http_validate_url( $url ) ) {
update_option('saved_url', $url);
} else {
// 無効なURLの処理
}
}
このサンプルコードは、指定された URL が有効である場合にデータベースに保存し、無効な場合はその旨の処理を行います。
この関数のアクションでの使用可能性
アクション | 使用可能性 |
---|---|
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 |