2
カスタムテーマのfunctions.phpファイルに管理メニューページを作成しました。そのメニューをクリックすると、CSV形式でデータをエクスポートします。wordpress export csvが管理メニューページで機能しない
私は次のコードを書いていますが、そのメニューをクリックするとExcelのガベージ形式の結果が得られます。
カスタムテーマののfunctions.phpファイル
1で書かれた私のコードです続き)
<?php
add_action('admin_menu', 'my_menu_pages');
function my_menu_pages(){
add_menu_page('Export Payment History', 'Export Payment History', 'manage_options', 'export-history', 'export_payment_history','dashicons-image-rotate-right');
}
?>
2カスタム管理者メニューのページを追加)機能
function export_payment_history(){
global $wpdb, $user_id;
$c_user = get_current_user_id();
$filename = "users_csv.csv";
$data_rows = array();
$results = $wpdb->get_results("SELECT * FROM wp_custom_payment");
$header_row = array(
0 => 'ID',
1 => 'TRANSACTION ID',
2 => 'EMAIL',
3 => 'PAYMENT DATE',
4 => 'TOTAL AMOUNT',
);
$i = 1;
foreach($results as $result) {
$item_unserialize = unserialize($result->item_data);
$user_info = get_userdata($result->user_id);
$user_email = $user_info->user_email;
$row = array();
$row[0] = $i;
$row[1] = $result->txn_id;
$row[2] = $user_email;
$row[3] = $result->payment_date;
$row[4] = $item_unserialize['payment_total']['payment_gross'];
$data_rows[] = $row;
$i++;
}
$fh = @fopen('php://output', 'w');
fprintf($fh, chr(0xEF) . chr(0xBB) . chr(0xBF));
header('Cache-Control: must-revalidate, post-check=0, pre-check=0');
header('Content-Description: File Transfer');
header('Content-type: text/csv');
header('Content-Disposition: attachment; filename=' . $filename);
header('Expires: 0');
header('Pragma: public');
fputcsv($fh, $header_row);
foreach ($data_rows as $data_row) {
fputcsv($fh, $data_row);
}
fclose($fh);
exit();
}
をコールバック
データを取得していないExcelシートにガベージ値がありますnyone私を助けてください。
いただきました! 'fprintfのため、この行($ FH、CHR(0xEFという)CHR(0xBB)CHR(0xbfの)。。);' – ArtisticPhoenix
また、私はその行を削除しました。 –
実際の出力を見ましたか?私はこれが「ガベージ形式の結果を得た」ということが何であるか分かりません – ArtisticPhoenix