プラグインWPFormsのwpforms_mailcheck_toplevel_domainsフィルタの使用方法・解説

概要

wpforms_mailcheck_toplevel_domains フィルタは、WordPress の WPForms プラグイン内でメールアドレスの検証に関連する機能をカスタマイズするために使用されます。このフィルタは、特定のトップレベルドメイン(TLD)を機能的に追加または変更することで、ユーザーが有効なメールアドレスを入力しているかどうかを検証する際に利用されます。具体的には、以下のような機能を実装する際によく使われます。

  1. 特定のドメインをホワイトリストする
  2. よく使われるドメインの追加
  3. カスタムTLDのサポート
  4. ドメイン検証のエラーメッセージをカスタマイズする
  5. サードパーティサービスとの統合
  6. マルチサイト機能でのドメイン管理

フィルタの概要

  • 構文: add_filter('wpforms_mailcheck_toplevel_domains', 'your_custom_function');
  • パラメータ: $domains – ドメインリスト(配列)
  • 戻り値: カスタマイズされたドメインの配列
  • WPForms バージョン: 1.5.0 以上
  • WordPress バージョン: 4.9.0 以上

サンプルコード

サンプルコード 1

add_filter('wpforms_mailcheck_toplevel_domains', function($domains) {
    $domains[] = 'example.com';
    return $domains;
});

このコードは、example.com をメールアドレスの有効なトップレベルドメインとして追加しています。

サンプルコード 2

add_filter('wpforms_mailcheck_toplevel_domains', function($domains) {
    return ['com', 'net', 'org', 'co.jp'];
});

このコードは、メールアドレスの有効なドメインを日本のドメイン(.co.jp)を含む特定のリストに制限しています。

サンプルコード 3

add_filter('wpforms_mailcheck_toplevel_domains', function($domains) {
    $new_domains = array_merge($domains, ['info', 'xyz']);
    return array_unique($new_domains);
});

このコードは、すでに存在するドメインリストに infoxyz ドメインを追加し、重複を排除しています。

サンプルコード 4

add_filter('wpforms_mailcheck_toplevel_domains', function($domains) {
    // 特定の条件に基づいてドメインを追加
    if (is_user_logged_in()) {
        $domains[] = 'mydomain.com';
    }
    return $domains;
});

このコードは、ユーザーがログインしている場合にのみ mydomain.com を追加します。

サンプルコード 5

add_filter('wpforms_mailcheck_toplevel_domains', function($domains) {
    // 環境に応じてドメインを変更
    if (defined('WP_ENV') && WP_ENV === 'development') {
        $domains[] = 'test.com';
    }
    return $domains;
});

このコードは、開発環境の場合にのみ test.com を有効なドメインとして追加します。

この関数のアクションでの使用可能性

アクション 使用可能性
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

この表は、wpforms_mailcheck_toplevel_domains フィルタがどのアクションで使用可能かを示しています。

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


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