Führen Sie Shortcodes beim Senden des Posts aus

Ich verwende Shortcodes, um einige Bildlinks zu meinen Posts einzufügen, die ich aus XML-Dateien (mit einer ID) erhalte. Da dies nur einmal ausgeführt werden muss, ist es nicht jedes Mal erforderlich, wenn ein Benutzer die Seite lädt. Wie kann ich den Shortcode durch den benötigten Inhalt ersetzen, sobald ich die Seite speichere / veröffentliche / aktualisiere?

Solutions Collecting From Web of "Führen Sie Shortcodes beim Senden des Posts aus"

So funktionieren Shortcodes nicht. Shortcodes sollen immer dann interpretiert werden, wenn die Seite gerendert wird – sie werden verwendet, wenn WordPress den Inhalt der Seite / Post filtert .

Was Sie suchen, ist eine Inhaltsvorlage. Ein Tag, das der Benutzer der Seite hinzufügen kann, die beim Speichern des Posts in ein anderes Element konvertiert wird, z. B. ein RTF-Tag in einem Seriendruck .

Es gibt einen Filter, der ausgeführt wird, bevor Beiträge in die database eingefügt werden: wp_insert_post_data . Dieser Filter übergibt die Daten für den einzufügenden Post als Array. Sie können dieses Array verwenden, Ihre benutzerdefinierten Tags in den von Ihnen benötigten Inhalt parsen und es zurückgeben, bevor sie in der database gespeichert werden.

Filtern Sie einfach $data["post_content"] und $data["post_content_filtered"] , um Ihre Ersetzung vorzunehmen, bevor Sie das $data Array zurückgeben.