概要
wpforms_mailcheck_domains
フィルタは、WPForms プラグインにおけるメールアドレスのドメインチェックに関連する機能を拡張するためのフックです。このフィルタを使用することで、特定のドメインをホワイトリストやブラックリストに追加することができ、ユーザーがフォームを送信する際のメールアドレスの検証にカスタマイズを加えることができます。
よく使われる機能
- 特定のドメインをホワイトリスト化してメール送信を許可する。
- 不正なドメインをブラックリストに追加し、メール送信を拒否する。
- メールアドレスのドメインを動的に変更する。
- サイト固有のドメインチェックルールを実装する。
- 他のプラグインやサービスとの統合時にメールチェックをカスタマイズする。
- ユーザーからのフィードバックに基づいてメールアドレスの検証を調整する。
構文
add_filter('wpforms_mailcheck_domains', 'custom_mailcheck_domains');
function custom_mailcheck_domains($domains) {
// カスタマイズコード
return $domains;
}
パラメータ
$domains
: 現在のドメインの配列。
戻り値
- 変更されたドメインの配列。
バージョン情報
- WPForms: 1.4.0 以降
- WordPress: 5.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
add_filter('wpforms_mailcheck_domains', 'allow_custom_domains');
function allow_custom_domains($domains) {
$domains[] = 'example.com';
return $domains;
}
このサンプルコードは、example.com
ドメインをホワイトリストに追加し、このドメインからのメールアドレスが許可されるようにします。
サンプルコード 2
add_filter('wpforms_mailcheck_domains', 'block_some_domains');
function block_some_domains($domains) {
$domains = array_diff($domains, ['spam.com', 'phishing.com']);
return $domains;
}
このサンプルコードは、spam.com
と phishing.com
というドメインをブラックリストから除外し、これらのドメインからのメールアドレスを拒否します。
サンプルコード 3
add_filter('wpforms_mailcheck_domains', 'dynamic_domain_whitelist');
function dynamic_domain_whitelist($domains) {
if (is_user_logged_in()) {
$user_domain = wp_get_current_user()->user_email;
$domains[] = substr(strrchr($user_domain, "@"), 1);
}
return $domains;
}
このサンプルコードは、ログインしているユーザーのメールドメインを動的にホワイトリストに追加します。
サンプルコード 4
add_filter('wpforms_mailcheck_domains', 'custom_validation_message');
function custom_validation_message($domains) {
add_filter('wpforms_process_validate', function($fields, $form_data) {
if (!in_array($fields['email']['value'], $domains)) {
wpforms()->process->errors['email'] = 'Invalid email domain.';
}
});
return $domains;
}
このサンプルコードは、登録されたドメイン以外からのメールアドレスが送信された場合、エラーメッセージを表示します。
サンプルコード 5
add_filter('wpforms_mailcheck_domains', 'restrict_domain_for_roles');
function restrict_domain_for_roles($domains) {
if (current_user_can('subscriber')) {
$domains = ['subdomain.com'];
}
return $domains;
}
このサンプルコードは、サブスクリバーロールのユーザーに対して特定のドメイン(subdomain.com
)のみを許可します。
以上のサンプルコードは、著作権フリーの内容であり、他者の著作物を引用することはありません。