AI要約
WPFormsの登録情報にドロップダウン、チェックボックス、複数選択フィールドのフィールド値を保存しますか? このチュートリアルでは、フィールドラベルの代わりにフィールド値を使用し、登録情報に保存する方法をPHPを使用してご紹介します。
登録情報に値を保存する
このチュートリアルでは、フォームを作成する前に実際にスニペットをサイトに追加します。これは、スニペットの一部がドロップダウン、チェックボックス、複数選択フィールドの値の表示オプションを有効にするためです。
スニペットの追加方法と場所については、こちらのチュートリアルをご覧ください。
2つの別々のスニペットを追加しました。最初 のスニペットは、ドロップダウン、チェックボックス、複数選択フィールドのフィールド値を追加できるようにするこちらのチュートリアルに従っています。
2番目のスニペットは、フォーム送信を取得し、処理中にフィールドラベルの代わりにフィールド値を取得して登録情報に保存します。
重要: ドロップダウンフィールドに依存する通知の条件付きロジックを使用している場合、このスニペットによりそれらのルールが機能しなくなる可能性があります。
これは、通知条件が選択肢のラベルを比較するのに対し、このスニペットは代わりに選択肢の値を保存して使用するためです。ラベルと値は異なるため、一致せず、条件はトリガーされません。
フォームの作成
次に、フォームを作成し、少なくとも1つのドロップダウン、チェックボックス、または複数選択フィールドを含むフィールドを追加します。
フォームの作成にヘルプが必要な場合は、詳細なドキュメントをご覧ください。

このドキュメントの目的のために、連絡先設定用のドロップダウンフィールドを追加しました。フィールド値を追加するには、フィールドを選択して高度な設定タブをクリックします。

値の表示をオンにするボタンをクリックし、次に一般設定タブに戻ってフィールド値を追加します。

フォームを保存すると、フィールドラベルではなく、フィールド値がフォームの登録情報に保存されていることがわかります。

Zapierアドオンを使用してフィールド値を送信したいですか? Zapierを使用してフィールド値をExcelに送信する方法のチュートリアルをご覧ください。
参照フィルター
よくある質問
Q: 単一のフォームのみを対象にするにはどうすればよいですか?
A: 1つのフォームのみを対象にするには、代わりにこのスニペットを使用してください。584を自分のフォームIDに合わせて更新する必要があります。フォームIDを見つけるには、このチュートリアルで確認してください。
/**
* Show values in Dropdown, checkboxes, and Multiple Choice.
*
* @link https://wpforms.com/developers/add-field-values-for-dropdown-checkboxes-and-multiple-choice-fields/
*/
add_action( 'wpforms_fields_show_options_setting', '__return_true' );
/**
* Save choices 'values' instead of 'labels' for the fields with 'Show values' option enabled.
*
* @link https://wpforms.com/developers/how-to-store-field-values-in-the-wpforms-entry/
*/
function wpf_dev_process_filter_choices_values( $fields, $entry, $form_data ) {
// Optional, you can limit to specific forms. Below, we restrict output to
// form #584.
if ( absint( $form_data[ 'id' ] ) !== 584 ) {
return $fields;
}
if ( ! is_array( $fields ) ) {
return $fields;
}
foreach ( $fields as $field_id => $field ) {
if (
isset( $field[ 'type' ] ) &&
in_array( $field[ 'type' ], [ 'checkbox', 'radio', 'select' ], true ) &&
! empty( $form_data[ 'fields' ][ $field_id ][ 'show_values' ] )
) {
$value_raw = ! empty( $field[ 'value_raw' ] ) ? $field[ 'value_raw' ] : '';
$field[ 'value_raw' ] = $field[ 'value' ];
$field[ 'value' ] = $value_raw;
$fields[ $field_id ] = $field;
}
}
return $fields;
};
add_filter( 'wpforms_process_filter', 'wpf_dev_process_filter_choices_values', 10, 3 );