Нужна помощь Определение, где происходит ошибка заголовка

В настоящее время я пишу плагин, содержащий отчет, основанный на запросе mysql. Я хотел бы экспортировать эту информацию запроса в CSV. Достаточно просто, я делал это много раз за пределами WordPress.

В настоящее время я получаю сообщение об уже отправленных заголовках. Я знаю, что вызывает эту ошибку, но не может найти в моем коде, где проблема.

Я попытался удалить все другие плагины и даже попробовать другие плагины, которые также экспортируют CSV. Плагины, которые экспортируют CSV, работают нормально, и когда мой плагин является единственным активированным, ошибка все еще бросается, поэтому я уверен, что это ошибка с моей стороны.

Также необходимо указать, что это включено в многопользовательский сетевой активированный плагин.

Ошибка указывает на первую строку заголовка:

if (isset($_POST['txtExport'])) { header("Content-type: text/x-csv"); header("Content-Disposition: attachment; filename=birts.csv"); header("Pragma: no-cache"); header("Expires: 0"); foreach ($incidentReport as $vals) { echo "\"".$vals->student_id."\",\"".$vals->incident_desc."\",\"".$vals->incident_time."\",\"".$vals->incident_rating."\",\"".$vals->reported_by."\"\n<br/>"; } exit; } 

Ниже приведена фактическая инициированная ошибка: Предупреждение: невозможно изменить информацию заголовка – уже отправленные заголовки (вывод запущен в /home/plumwd/public_html/multisite/wp-admin/admin-header.php:28) в / home / plumwd / public_html /multisite/wp-content/plugins/bart/birts_dashboard.php в строке 20

У меня WP_DEBUG установлено значение true, и я не вижу других ошибок.

Благодаря!

Solutions Collecting From Web of "Нужна помощь Определение, где происходит ошибка заголовка"

Я понял, в чем проблема. В конце я добавил & noheader = true для моего действия в форме. Это позволило мне отправить свои собственные заголовки, не вызывая заголовки заголовков WP.

Я видел это снова и снова в мои дни разработки на PHP. Обычно, когда что-то происходит так, это означает, что что-то в вашем скрипте или некоторые из них содержат ваш скрипт, который уже пропустил несколько символов для записи, и поэтому заголовки для этой страницы уже отправлены. Я видел, что обычно в этом случае это может быть что-то простое, как символ пробела … может быть, даже возврат каретки (?) …, который существует перед одним из этих файлов. К сожалению, если это не в самом главном скрипте, это обычно означает просмотр ваших зависимых файлов include и их поиск.