プラグインContact Form 7のwpcf7_is_url関数の使用方法・解説

概要

wpcf7_is_url関数は、入力文字列が URL かどうかを返す検証関数です。この関数は、主に以下のような機能を実装する際によく使われます。

  1. フォーム入力としてのウェブサイトリンクのバリデーション
  2. ユーザーが提供するURLが有効かどうかの確認
  3. フォーム送信前のデータ整形
  4. サードパーティサービスへのリンク確認
  5. 画像やリソースのURLの検証
  6. カスタム開発されたフィールドの信頼性確保

構文

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入力を促します。

この関数について質問する


上の計算式の答えを入力してください