2015-01-30 3 views
3

Я пытаюсь использовать Zebra_form в обмене для плагина Wordpress, над которым я работаю.ошибка с использованием zebra_form в плагине wordpress

Для простоты я уменьшил код для этого:

public function render_metabox($post) { 
    // instantiate a Zebra_Form object 
    $form = new Zebra_Form('form'); 

    // the label for the "email" field 
    $form->add('label', 'label_email', 'email', 'Email'); 

    // add the "email" field 
    $obj = $form->add('text', 'email', '', array('autocomplete' => 'off')); 

    // auto generate output, labels above form elements 
    $form->render(); 
} 

Но я получаю следующее сообщение об ошибке при попытке запустить его:

Warning: Cannot modify header information - headers already sent by (output started at /Users/dp/Documents/SitesDev/wordpress/wp-admin/includes/template.php:1877) in /Users/dp/Documents/SitesDev/wordpress/wp-content/plugins/my-plugin/lib/Zebra/Zebra_Form.php on line 4052

Fatal error: The library tried to store the CSRF token in a cookie but was unable to do so because there was output already sent to the browser. You should either start a session prior to instantiating the library (recommended), have no output (including and tags, as well as any whitespace) sent to the browser prior to instantiating the library, or turn output buffering on in php.ini. in /Users/dp/Documents/SitesDev/wordpress/wp-content/plugins/my-plugin/lib/Zebra/Zebra_Form.php on line 4052

Любые подсказки? Или Zebra_form нельзя использовать таким образом?

+0

meatbox? Что это? – McNab

+0

Содержит метабокс ... :) Исправлено. – Daniel

+0

D'oh. Я был Гуглинг, чтобы узнать, не было ли это новой вещи, о которой я не слышал. Лол. В контексте вопроса я должен был осознать. :) – McNab

ответ

1

Я знаю, что это было некоторое время, так как Вы отправили на этот вопрос, но вот где я придумал я получил ту же ошибку, как вы, так что я посмотрел в Zebra_Form.php и закомментировать строку 4041 по линии 4068. Это сработало.

0

вы должны поставить

session_start(); 
+0

Это не дает ответа на вопрос. Когда у вас будет достаточно [репутации] (https://stackoverflow.com/help/whats-reputation), вы сможете [прокомментировать любое сообщение] (https://stackoverflow.com/help/privileges/comment); вместо этого [предоставить ответы, которые не требуют разъяснений у аськи) (https://meta.stackexchange.com/questions/214173/why-do-i-need-50-reputation-to-comment-what-can- я-делать-вместо этого). - [Из обзора] (/ review/low-quality-posts/16726406) – OmG