概要
wpcf7_is_url
関数は、入力文字列が URL かどうかを返す検証関数です。この関数は、主に以下のような機能を実装する際によく使われます。
- フォーム入力としてのウェブサイトリンクのバリデーション
- ユーザーが提供するURLが有効かどうかの確認
- フォーム送信前のデータ整形
- サードパーティサービスへのリンク確認
- 画像やリソースのURLの検証
- カスタム開発されたフィールドの信頼性確保
構文
wpcf7_is_url( $url );
パラメータ
$url
(string): チェックするURL文字列。
戻り値
- (bool): 引数が有効なURLの場合は
true
、それ以外はfalse
を返します。
使用可能なプラグインバージョン
- Contact Form 7: 5.0以上
- WordPress: 4.0以上
この関数のアクションでの使用可能性
アクション | 使用可否 |
---|---|
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
// 入力されたURLが有効なURLであるかを確認するサンプル
function validate_user_url($url) {
if (wpcf7_is_url($url)) {
return "Valid URL!";
} else {
return "Invalid URL!";
}
}
このサンプルコードは、与えられたURLが有効かどうかを検証し、結果をメッセージとして返します。
サンプルコード 2
// フォーム送信時にURLをチェックする例
add_action('wpcf7_before_send_mail', 'check_url_before_send');
function check_url_before_send($contact_form) {
$submission = WPCF7_Submission::get_instance();
if ($submission) {
$data = $submission->get_posted_data();
$url = $data['url_field']; // フォームのURLフィールド名
if (!wpcf7_is_url($url)) {
// URLが無効な場合、エラーメッセージを設定
$contact_form->set_validation_error('url_field', 'Please enter a valid URL.');
}
}
}
このサンプルは、Contact Form 7のフォーム送信前にURLを確認し、無効な場合にはエラーメッセージを設定します。
サンプルコード 3
// URLが無効な場合に警告を表示するフィルターフック
add_filter('wpcf7_validate_url', 'custom_url_validation', 10, 2);
function custom_url_validation($result, $tag) {
$name = $tag['name'];
$value = $_POST[$name];
if (!wpcf7_is_url($value)) {
$result->invalidate($tag, "The URL you entered is not valid.");
}
return $result;
}
このサンプルでは、URLフィールドが無効な場合に警告メッセージを表示するカスタムバリデーションを実装しています。
サンプルコード 4
// 有効なURLリストを作成するサンプル
$urls = ['http://example.com', 'invalid-url', 'https://google.com'];
$valid_urls = array_filter($urls, 'wpcf7_is_url');
print_r($valid_urls);
このコードスニペットは、指定されたURLの配列から、有効なURLのみをフィルタリングし表示します。
サンプルコード 5
// URL入力フィールドの前にヒントを追加するサンプル
add_action('wpcf7_form_elements', 'add_url_hint');
function add_url_hint($form) {
return $form . '<p>Please provide a valid URL starting with http:// or https://</p>';
}
このサンプルコードは、Contact Form 7のフォームにヒントを追加し、ユーザーに有効なURL入力を促します。