Ich verwende benutzerdefinierte Posts und in diesen brauche ich den Titel nicht.
Dies veranlasst Wordpress, die Titel meiner Beiträge auf "Auto Draft" zu setzen.
Ich möchte den Wert des Titels in einen anderen Wert ändern, der aus anderen Feldern in meinem Beitrag berechnet wurde.
Wie mache ich das mit save_post oder anderen Mitteln?
custom-post-types
save-post
Tsahi Levent-Levi
quelle
quelle
register_post_type()
Anruf einzuschließen.Antworten:
Diese einfachste Methode wäre, um die Daten an der Stelle zu bearbeiten eingefügt wird , anstatt sie später zu aktualisieren, indem
wp_insert_post_data
stattsave_post
. Auf diese Weise können Sie einen neuen Beitrag erstellen oder einen vorhandenen Beitrag ohne Änderungen aktualisieren. Es vermeidet auch die Gefahr, eine Endlosschleife durch Auslösenupdate_post
innerhalb zu erzeugensave_post
.quelle
Ich hatte genau das gleiche Bedürfnis, also schrieb ich diese Funktion - welche funktioniert. Passen Sie es Ihren Bedürfnissen an. Hoffe das hilft.
quelle
Probieren Sie den Filter default_title :
quelle
$post
? Bitte lesen Sie die erste Frage und die Kommentare unten. Ein automatisch generierter Beitragstitel wird nicht angefordert. Es wird nur ein gefälschter Post-Titel (ein Ersatz für WordPress "Auto Draft") benötigt.Hier ist eine Lösung, die eine statische Variable verwendet, um eine Endlosschleife zu verhindern. Auf diese Weise können Sie sicher
wp_update_post()
eine Funktion aufrufen, an die Sie gebunden sindsave_post
.Hinweis: Um diese Funktionalität auf einen bestimmten Beitragstyp zu beschränken, verwenden Sie den Hook save_post _ {$ post-> post_type} anstelle von save_post.
quelle