概要
wpforms_emails_summaries_is_disabled
フィルタは、WPFormsプラグインにおいて、メールサマリー通知を無効化するためのフックです。このフィルタを使用することで、特定の条件に基づいてメール通知の配信を制御することができます。具体的には、プラグインのメールサマリー機能を無効化したり、特定のユーザーや投稿タイプに対してのみ適用したりする際に便利です。
このフィルタは以下のようなシナリオでよく使用されます。
- 特定のユーザーグループ向けの通知を無効化
- 投稿の種類やステータスに応じてメール通知をカスタマイズ
- エラーや不具合のテストを行う際の一時的な無効化
- サイト移行時の通知抑制
- 設定オプションに基づく動的な通知管理
- サーバーのトラフィック管理のための通知調整
構文
add_filter('wpforms_emails_summaries_is_disabled', 'your_function', 10, 2);
パラメータ
$is_disabled
(bool): メールサマリーの無効化フラグ(デフォルトはfalse
)。$form_data
(array): 現在のフォームのデータ。
戻り値
- bool: 無効化フラグを返します。
true
の場合、メールサマリーが無効になります。
使用可能なプラグインバージョン
- WPForms: バージョン 1.4.0 以降
使用可能なWordPressバージョン
- WordPress: バージョン 4.9 以降
この関数のアクションでの使用可能性
アクション名 | 使用可能性 |
---|---|
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_emails_summaries_is_disabled', function($is_disabled, $form_data) {
if (!current_user_can('administrator')) {
return true; // 管理者以外は無効化
}
return $is_disabled; // デフォルトのフラグを返す
});
引用元: https://wpforms.com/docs/
サンプル2: 特定のフォームIDでメールサマリーを無効化
特定のフォームIDをチェックして、その場合のみサマリーを無効化するサンプルです。
add_filter('wpforms_emails_summaries_is_disabled', function($is_disabled, $form_data) {
if ($form_data['id'] === 123) {
return true; // フォームID 123 の場合は無効化
}
return $is_disabled;
});
引用元: https://wpforms.com/docs/
サンプル3: 投稿ステータスに基づいてメールサマリーを無効化
特定の投稿ステータス(例:非公開)の場合にサマリーを無効化します。
add_filter('wpforms_emails_summaries_is_disabled', function($is_disabled, $form_data) {
if ($form_data['post_status'] === 'draft') {
return true; // 下書き状態の場合は無効化
}
return $is_disabled;
});
引用元: https://wpforms.com/docs/
サンプル4: フォームフィールドの値に基づく無効化
特定のフィールドの値が特定の条件を満たす場合にメールサマリーを無効にします。
add_filter('wpforms_emails_summaries_is_disabled', function($is_disabled, $form_data) {
if ($form_data['fields']['field_id']['value'] === 'no_summary') {
return true; // フィールドの値が "no_summary" の場合無効化
}
return $is_disabled;
});
引用元: https://wpforms.com/docs/
サンプル5: サイト設定に基づく無効化
サイトの設定を参照してメールサマリーを無効化するためのコードサンプルです。
add_filter('wpforms_emails_summaries_is_disabled', function($is_disabled) {
$setting = get_option('disable_email_summaries'); // カスタム設定を取得
return $setting ? true : $is_disabled; // 設定が無効なら無効化
});
引用元: https://wpforms.com/docs/