it-swarm.com.de

the_content nachdem alle Shortcodes analysiert wurden

Ich erstelle ein WordPress-Plugin für WordPress-Verzeichnis.

Wie kann ich the_content() erhalten, nachdem ich alle in the_content enthaltenen Shortcodes angewendet habe?

Lassen Sie mich erklären:

Mein Plugin wird in mehreren Themen und Websites verwendet. und Benutzer werden einige Shortcodes in ihre Beiträge oder Seiten einfügen. Ich möchte, dass mein Plugin funktioniert, nachdem diese Shortcodes analysiert wurden, und dann den Inhalt für mein Plugin als Eingabe verwende.

4
kuldip

Erste Regel:

Bei Verwendung innerhalb der Vorlagendateien des Themas (d. H. WordPress-Schleife) gibt the_content() den Inhalt standardmäßig zurück, nachdem alle Shortcodes angewendet wurden.

Zweite Regel:

Wenn Sie einen benutzerdefinierten Shortcode haben, muss die Shortcode-Handler-Funktion mit add_shortcode (offensichtlich) angewendet werden. Andernfalls funktionieren Ihre benutzerdefinierten Shortcodes nicht.

Dritte Regel:

Wenn die inhaltsbezogene Funktion Ihres Plugins unabhängig von the loop ausgeführt wird und Sie den Inhalt mithilfe einer benutzerdefinierten Abfrage abrufen möchten, können Sie zum Anwenden der Shortcodes im Inhalt die Funktion do_shortcode verwenden. Mögen:

$content = do_shortcode( $content );

oder,Sie können den the_content-Filter für denselben Zweck verwenden:

$content = apply_filters( 'the_content', $content );

Hier finden Sie eine ähnliche Diskussion.

2
Scott

Suchen Sie vielleicht einen Filter?

add_filter( 'the_content', 'wpse_the_content_filter', 20 );

function wpse_the_content_filter( $content ) {
   // Do whatever you want with the $content
   return $content;
}

Durch das Filtern von 'the_content' wird der Inhalt des Posts oder der Seite durch eine Funktion Ihrer Wahl geleitet.

Stellen Sie einfach sicher, dass Sie es zu spät ausführen (z. B. 20), und geben Sie den Inhalt zurück, damit er angezeigt werden kann.

Weitere Informationen hier:

https://codex.wordpress.org/Plugin_API/Filter_Reference/the_content

1
Pedro Coitinho