I’m trying to use Zebra_form in a metabox for a WordPress plugin I’m working on.
For simplicity I reduced the code to this:
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();
}
But I get the following error when I try to run it:
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
Any clues? Or Zebra_form cannot be used in this way?
I know it has been a while since you posted this question but here is where I came up with
I got the same error as you so I looked in the Zebra_Form.php and commented out line 4041 to line 4068.
It worked after.
you have to put