AIサマリー
説明
について wpforms_pro_admin_entries_export_ajax_get_entry_data フィルタを使用して、フォーム項目から要求され、エクスポートされるデータを操作することができます。
パラメータ
- エクスポートデータ
- (配列)エントリからエクスポートする情報の配列。
- リクエストデータ
- (配列)エントリーに要求する情報の配列。
- エントリー
- (オブジェクト)エントリー・オブジェクト。
ソース
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 );
フィールドIDに合うように$field_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 );