AI要約
説明
wpforms_pro_admin_entries_export_ajax_get_entry_data フィルターを使用して、フォームエントリから要求およびエクスポートされるデータを操作できます。
パラメーター
- $エクスポート_データ
- (array) エントリからエクスポートされる情報の配列。
- $request_data
- (array) エントリから要求された情報の配列。
- $entry
- (object) エントリオブジェクト。
ソース
wpforms/src/Pro/Admin/Entries/Export/Ajax.php
詳細情報
wpforms_pro_admin_entries_export_ajax_get_entry_data フィルターを使用して、フォームエントリから要求およびエクスポートされるデータを操作できます。
例
以下のコードスニペットの例では、フォームからエントリをエクスポートし、国コードのみを表示する代わりに、完全な国名を使用します。
/**
* Display full country name instead of showing country code in entry export.
*
* @link https://wpforms.com/developers/wpforms_pro_admin_entries_export_ajax_get_entry_data/
*
* @param array $export_data Field properties.
* @param array $request_data Field settings.
* @param object $entry The entry object.
*
* @return array
*/
function wpf_dev_pro_country_code_to_country_name_replace( $export_data, $request_data, $entry ) {
// Your address field ID.
$field_id = 10;
if ( empty( $export_data[ $field_id ] ) ) {
return $export_data;
}
$counties = wpforms_countries();
foreach ( $counties as $code => $country ) {
$export_data[ $field_id ] = preg_replace( "/{$code}$/", $country, $export_data[ $field_id ] );
}
return $export_data;
}
add_filter( 'wpforms_pro_admin_entries_export_ajax_get_entry_data', 'wpf_dev_pro_country_code_to_country_name_replace', 10, 3 );
$field_id 番号をフォームのフィールドIDと一致するように変更することを忘れないでください。これに関するヘルプについては、こちらのチュートリアルをご覧ください。
関連
記事の参照: CSVエクスポートから改行を削除する方法
よくある質問
Q: このスニペットをフィールドIDを使用する代わりに特定のフォームに使用できますか?
A: フィールドIDの代わりにフォームIDを使用したい場合は、代わりにこのコードスニペットを使用してください。
/**
* Display full country name instead of showing country code in entry export.
*
* @link https://wpforms.com/developers/wpforms_pro_admin_entries_export_ajax_get_entry_data/
*
* @param array $export_data Field properties.
* @param array $request_data Field settings.
* @param object $entry The entry object.
*
* @return array
*/
function wpf_dev_pro_country_code_to_country_name_replace( $export_data, $request_data, $entry ) {
$counties = wpforms_countries();
// Start: Comment it out if you want to use this snippet for all forms.
// Your Form ID.
$form_id = 421930;
if ( (int) $request_data[ 'form_data' ][ 'id' ] !== $form_id ) {
return $export_data;
}
// End: Comment it out if you want to use this snippet for all forms.
foreach ( $export_data as $i => $v ) {
if ( $request_data[ 'form_data' ][ 'fields' ][ $i ][ 'type' ] !== 'address' ) {
continue;
}
foreach ( $counties as $code => $country ) {
$export_data[ $i ] = preg_replace( "/{$code}$/", $country, $export_data[ $i ] );
}
}
return $export_data;
}
add_filter( 'wpforms_pro_admin_entries_export_ajax_get_entry_data', 'wpf_dev_pro_country_code_to_country_name_replace', 10, 3 );