説明

について 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 );