Angenommen, ich habe einen neuen Beitragstyp erstellt 'product'
. Gibt es eine Möglichkeit, eine Funktion (vom Benutzer erstellt) auszuführen, wenn dieser neue 'product'
Beitrag erstellt wurde?
custom-post-types
hooks
dotty
quelle
quelle
Antworten:
In functions.php:
Weitere Informationen und die offizielle Dokumentation finden Sie hier:
http://codex.wordpress.org/Post_Status_Transitions
quelle
new_{post_type}
es funktionieren wird, weil dasstatus
in der{status}_{post_type}
Aktion niemals eingestellt wirdnew
.Hi @dotty:
Schauen Sie sich das Ende der
wp_insert_post()
Funktion in der Datei an/wp-includes/post.php
(in den Zeilen 2148 bis 2392 in WordPress 3.0.1. Beachten Sie, dass WordPress diese Funktion sowohl zum Hinzufügen als auch zum Aktualisieren von Posts verwendet. )Am Ende hat es den folgenden Code. Von diesem Code können Sie den Anruf identifizieren
wp_transition_post_status()
(mehr dazu in Kürze ) und wir haben die Aktion Hakenedit_post
,post_updated
,save_post
undwp_insert_post
( ehrlich gesagt weiß ich nicht , warum wir die beiden letzteren , statt nur eine haben. ) Sie alle nutzen können diejenigen, die für Ihre Bedürfnisse geeignet sind:Und wie @Jan Fabry erwähnte, gibt es die Action-Hooks in
wp_transition_post_status()
(auf 2713 bis 2717 von/wp-includes/post.php
in WordPress 3.0.1). Beachten Sie, dass es drei davon gibt; Verwenden Sie gegebenenfalls:quelle
Die
wp_transition_post_status
Funktion wird aufgerufen, und dies löst die Aktion aus"${new_status}_$post->post_type"
. Wenn also aproduct
in denpublish
Status wechselt, wird die Aktionpublish_product
ausgelöst.quelle