Benutzerdefinierter CSV-Export – Header-Informationen – Header können nicht geändert werden

In meinem Admin-Dashboard habe ich ein benutzerdefiniertes Modul für die Berichtsfilterung mit benutzerdefinierten Abfragen erstellt. Ich muss eine weitere functionalität hinzufügen, die diese Ergebnisse in CSV exportieren soll. Ich habe versucht, einen sehr einfachen Beispiel-CSV-Export zu erstellen.

ob_end_clean(); $output .= 'column 1'. ','; $output .= 'column 2'. ','; $output .="\n"; $output .='"data 1",'; $output .='"data 2",'; $output .="\n"; $file = "custom_table"; $filename = $file."_".date("Ym-d_H-i",time()); header("Content-type: application/vnd.ms-excel"); header("Content-disposition: csv" . date("Ymd") . ".csv"); header( "Content-disposition: filename=".$filename.".csv"); echo $output; 

Leider erzeugt es einen Fehler.

 Warning: Cannot modify header information - headers already sent by (output started at C:\xampp\htdocs\rtlcbsasia\wp-admin\includes\template.php:1947) in C:\xampp\htdocs\rtlcbsasia\wp-content\plugins\wpdm-reports\wpdm-reports.php on line 38 Warning: Cannot modify header information - headers already sent by (output started at C:\xampp\htdocs\rtlcbsasia\wp-admin\includes\template.php:1947) in C:\xampp\htdocs\rtlcbsasia\wp-content\plugins\wpdm-reports\wpdm-reports.php on line 39 Warning: Cannot modify header information - headers already sent by (output started at C:\xampp\htdocs\rtlcbsasia\wp-admin\includes\template.php:1947) in C:\xampp\htdocs\rtlcbsasia\wp-content\plugins\wpdm-reports\wpdm-reports.php on line 40 column 1,column 2, "data 1","data 2", 

Jede Hilfe wäre willkommen. Danke im Voraus

Solutions Collecting From Web of "Benutzerdefinierter CSV-Export – Header-Informationen – Header können nicht geändert werden"

Sie können header nicht verwenden, nachdem Inhalt an den Browser gesendet wurde, Header wurden bereits gesendet. Ihr Code wird ausgeführt, nachdem ein Teil der Admin-Seite, auf der er angezeigt wird, bereits an den Browser ausgegeben wurde. Sie können dies lösen, indem Sie Ihren admin_init in eine function verschieben, die an etwas früher ausgeführt wird, wie admin_init , oder die Aktion admin_post .