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

概要

wpforms_emails_summaries_is_disabled フィルタは、WPFormsプラグインにおいて、メールサマリー通知を無効化するためのフックです。このフィルタを使用することで、特定の条件に基づいてメール通知の配信を制御することができます。具体的には、プラグインのメールサマリー機能を無効化したり、特定のユーザーや投稿タイプに対してのみ適用したりする際に便利です。

このフィルタは以下のようなシナリオでよく使用されます。

  1. 特定のユーザーグループ向けの通知を無効化
  2. 投稿の種類やステータスに応じてメール通知をカスタマイズ
  3. エラーや不具合のテストを行う際の一時的な無効化
  4. サイト移行時の通知抑制
  5. 設定オプションに基づく動的な通知管理
  6. サーバーのトラフィック管理のための通知調整

構文

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/

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


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