概要
wpforms_conversational_forms_start_button_disabled
フィルタは、WPFormsプラグイン内の会話型フォーム(Conversational Forms)でスタートボタンを無効にするかどうかを制御するために使用されます。このフックを利用することで、特定の条件下でボタンを無効化したり、フォームの表示をカスタマイズしたりすることが可能になります。
このフィルタを使用する際には、以下のような機能を実装することが多いです:
- ユーザーの権限に基づいてボタンを無効化
- 特定のページまたは投稿タイプにおいてボタンを無効化
- フォームの送信条件を変更するためのロジックを追加
- テスト環境でボタンの動作を変更
- コンタクト情報が不完全な場合にボタンを無効化
- 特定のユーザーグループに対してボタンを表示または非表示にする
構文
add_filter('wpforms_conversational_forms_start_button_disabled', 'your_custom_function', 10, 2);
パラメータ
$disabled
(bool): ボタンが無効かどうかを示すブール値。$form_data
(array): 現在のフォームのデータ。
戻り値
- (bool): ボタンを無効にする場合はtrue、そうでない場合はfalse。
使用可能なバージョン
- WPFormsバージョン: 1.5.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_conversational_forms_start_button_disabled', function($disabled, $form_data) {
if (!current_user_can('manage_options')) {
return true; // 管理者以外のユーザーはボタンを無効に
}
return $disabled;
});
このコードは、管理者以外のユーザーがフォームを使用する場合に、スタートボタンを無効にします。
引用元: https://wpforms.com/docs/wpforms-conversational-forms-start-button-disabled-filter/
サンプル2: 特定のページでボタンを無効化
add_filter('wpforms_conversational_forms_start_button_disabled', function($disabled, $form_data) {
if (is_page('contact')) {
return true; // "contact"ページではボタンを無効に
}
return $disabled;
});
このコードでは、「contact」というスラッグを持つページにおいてスタートボタンを無効化します。
引用元: https://wpforms.com/docs/wpforms-conversational-forms-start-button-disabled-filter/
サンプル3: フォームの状態によるボタンの無効化
add_filter('wpforms_conversational_forms_start_button_disabled', function($disabled, $form_data) {
if (!isset($form_data['fields']['name']['value']) || empty($form_data['fields']['name']['value'])) {
return true; // 名前フィールドが未入力の場合、ボタンを無効化
}
return $disabled;
});
このコードは、名前フィールドが入力されていない場合にスタートボタンを無効にします。
引用元: https://wpforms.com/docs/wpforms-conversational-forms-start-button-disabled-filter/
サンプル4: 特定の条件でボタンを無効化
add_filter('wpforms_conversational_forms_start_button_disabled', function($disabled, $form_data) {
$current_date = current_time('Y-m-d');
if ($current_date > '2023-12-31') {
return true; // 年末まで有効である条件
}
return $disabled;
});
このコードでは、特定の日時を過ぎた場合にスタートボタンを無効にします。
引用元: https://wpforms.com/docs/wpforms-conversational-forms-start-button-disabled-filter/
サンプル5: ユーザーグループに基づくボタンの表示制御
add_filter('wpforms_conversational_forms_start_button_disabled', function($disabled, $form_data) {
if (in_array('special_group', (array) $form_data['fields']['user_group'])) {
return true; // 特定のユーザーグループにはボタンを無効に
}
return $disabled;
});
このコードは、特定のユーザーグループに属する場合にスタートボタンを無効にします。
引用元: https://wpforms.com/docs/wpforms-conversational-forms-start-button-disabled-filter/