Shortcode-Ausgabe erscheint vor dem Post-Body

Mögliche Duplikate:
Kurzcode-Ausgabe zu früh

Wie kann ich meinen Plugin-Code über den Shortcode im Post Body in exakter Position einfügen?

Das Problem ist, dass wp Engine den Plugin-Code BEFORE post post body die ganze Zeit einfügt. Kann es repariert werden?

Zum Beispiel: Ich habe etwas [shortcode option="value"] , das einen Text mit Bild im div container erzeugt. Wenn ich es NACH dem Text in den Beitrag lege, gibt wp diesen Code aus:

here is my plugin code

here is the text of the post

… und so kommt es oben auf dem Post.

Wo ist meine Schuld?

Solutions Collecting From Web of "Shortcode-Ausgabe erscheint vor dem Post-Body"

Ich hatte dieses Problem schon einmal: shortcodes sollten keinen Inhalt anzeigen (mit print oder echo ), sondern den auszugebenden Inhalt zurückgeben.

Wenn es zu mühsam ist, alle Ihre Ausgabeanweisungen zu konvertieren, oder Sie eine function verwenden müssen, die immer die Ausgabe anzeigt, können Sie die Ausgabepufferung verwenden . Ein Puffer “fängt” jeden echo oder print -Inhalt und erlaubt Ihnen, ihn in eine Variable zu schreiben.

 function my_awesome_shortcode( $atts, $content = null ) { // begin output buffering ob_start(); // output some text echo 'foo' . "bar\n"; $greeting = 'Hello'; printf( '%s, %s!', $greeting, 'World' ); // end output buffering, grab the buffer contents, and empty the buffer return ob_get_clean(); } add_shortcode( 'awesome', 'my_awesome_shortcode' ); 

Erfahren Sie mehr über die Ausgabepuffersteuerung und die verschiedenen Ausgabesteuerfunktionen , die Sie verwenden können.