Verwenden von ob_start () im Plugin

Ich lerne, wie man ein WordPress-Plugin erstellt. Im Beispiel Plugin Code habe ich diese PHP / HTML:

ob_start(); // other plugin code  
<input name="Submit" type="submit" value="" />

Anfangs gab es die Warnung “Header bereits gesendet”, bevor ich ob_start fand. Nach der Implementierung von ob_start bekomme ich keine Warnungen .. aber benutze ich es richtig, indem ich einfach ob_start oben in meiner Plugin-Datei hinzufüge?

Solutions Collecting From Web of "Verwenden von ob_start () im Plugin"

Nein, dies ist keine korrekte Verwendung von ob_start() . Sie erhalten die Warnung, weil Ihr Skript Code ausgibt, bevor die Seitenkopfzeilen gesendet werden. Dies bedeutet, dass Sie die Ausgabe vor der HTML-Seite drucken.

Ohne zu wissen, was in Ihrem // other plugin code vorgeht, ist es schwierig zu sagen, was genau passiert. Ich plugin_rvce_options_page() dass Sie plugin_rvce_options_page() irgendwo im root der functions.php-Datei aufrufen anstatt in einer function, die auf eine Admin-Seite ausgibt. Versuchen Sie in jedem Fall, das Problem zu beheben, und verwenden Sie ob_start() als ob_start() .

Sie sollten auf keinen Fall ob_start() , um eine vorzeitige Ausgabe von HTML zu verhindern. add_action() sollten Sie add_action() oben im Plugin verwenden, um mit der Ausgabe Ihres Codes an der richtigen Stelle zu beginnen.

Für Backend ist der übliche Hook add_action ('admin_init','your_main_function');

Für Frontend ist der übliche Hook add_action ('wp_head','your_main_function');

Hier ist eine Liste aller verfügbaren Hooks: https://codex.wordpress.org/Plugin_API/Action_Reference