ご注意!

この記事には PHP コードが含まれており、開発者を対象としています。このコードは便宜上提供していますが、コードのカスタマイズやサードパーティの開発についてはサポートを提供していません。

追加のガイダンスについては、WPBeginner の カスタムコードの追加方法に関するチュートリアル を参照してください。

閉じる

説明

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 );