概要
wpforms_pro_admin_entries_export_skip_not_selected_choices
は、WordPress プラグイン WPForms において、エントリのエクスポート処理で選択されていない選択肢をスキップするためのフィルタです。このフィルタは、エクスポートするデータに含めるフィールド値を制御する際に役立ちます。特にフォームの選択肢に対して、ユーザーが選ばなかったオプションをエクスポートから除外する場合に利用されることが一般的です。
このフィルタは、以下のような機能を実装する際によく使用されます:
- エクスポートデータをクリーンアップする
- 不要なフィールドを排除する
- データのプライバシーを向上させる
- データ分析を簡素化する
- フォームの選択肢の可視性を向上させる
- レポーティング機能を強化する
構文
apply_filters( 'wpforms_pro_admin_entries_export_skip_not_selected_choices', $skip, $form_data, $entry_id );
パラメータ
$skip
(bool): 選択肢をスキップするかどうかを決定するフラグ。$form_data
(array): エクスポート対象のフォームデータ。$entry_id
(int): 現在のエントリの ID。
戻り値
このフィルタは、true
または false
を戻り値として返します。true
の場合、選択されていない選択肢はエクスポートからスキップされ、false
の場合はすべての選択肢がエクスポートされます。
使用可能なプラグインとバージョン
- WPForms バージョン: 1.6 以上
- 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_pro_admin_entries_export_skip_not_selected_choices', function( $skip, $form_data, $entry_id ) {
if ( isset( $form_data['fields']['select_field'] ) && ! empty( $form_data['fields']['select_field']['value'] ) ) {
return false; // 選択肢が選ばれている場合、エクスポートを行う
}
return true; // 選択されていない場合はスキップする
}, 10, 3 );
説明: このコードは、選択フィールドが選ばれている場合にエクスポートを行い、選ばれていない場合にはスキップします。
サンプルコード 2: 特定の条件下で選択されていない選択肢をエクスポート
add_filter( 'wpforms_pro_admin_entries_export_skip_not_selected_choices', function( $skip, $form_data, $entry_id ) {
if ( get_user_meta( get_current_user_id(), 'role', true ) === 'admin' ) {
return false; // 管理者ユーザーの場合はスキップしない
}
return $skip;
}, 10, 3 );
説明: 管理者ユーザーがエクスポートする場合は、選択されていない選択肢をスキップしないように設定しています。
サンプルコード 3: 条件付きで選択肢をスキップ
add_filter( 'wpforms_pro_admin_entries_export_skip_not_selected_choices', function( $skip, $form_data, $entry_id ) {
if ( $form_data['id'] === 5 ) { // フォームIDが5の場合
return true; // スキップする
}
return $skip;
}, 10, 3 );
説明: 特定のフォームIDに基づいて、選択肢をスキップするかどうかを制御しています。
サンプルコード 4: フォームフィールドの選択肢に基づいたエクスポート制御
add_filter( 'wpforms_pro_admin_entries_export_skip_not_selected_choices', function( $skip, $form_data, $entry_id ) {
$selected_options = array_column( $form_data['fields'], 'value' );
if ( in_array( '', $selected_options, true ) ) {
return true; // 空の選択肢が含まれる場合はスキップ
}
return false;
}, 10, 3 );
説明: フォームデータの選択肢に空の値が含まれている場合、選択肢をスキップします。
サンプルコード 5: エクスポート進行状況に応じた制御
add_filter( 'wpforms_pro_admin_entries_export_skip_not_selected_choices', function( $skip, $form_data, $entry_id ) {
$needs_export = get_option( 'needs_export', false );
if ( $needs_export ) {
return false; // エクスポートが必要な場合はスキップしない
}
return true;
}, 10, 3 );
説明: オプション「needs_export」に基づいて、エクスポートが必要であれば選択肢をスキップしないようにしています。