Ich schreibe ein Plugin, das einige Daten aus einer XML-Datei abruft und dann einen Beitrag basierend auf dessen Inhalt erstellt.
Ich wollte wp_insert_post()
verwenden, um den neuen Beitrag zu veröffentlichen, aber ich habe einige Funktionen, die mit publish_post
verknüpft sind.
Nach dem Eingraben in den \wp-includes\post.php
konnte ich keine publish_post
-Aktions-Hooks finden, die von diesem Ereignis ausgelöst wurden.
Es gab nur diese Haken in Bezug auf meinen Fall:
// Fires once an existing post has been updated.
do_action( 'post_updated', $post_ID, $post_after, $post_before);
// Fires once a post has been saved.
do_action( 'save_post', $post_ID, $post, $update );
//Fires once a post has been saved.
do_action( 'wp_insert_post', $post_ID, $post, $update );
Vermisse ich etwas? Oder löst wp_insert_post()
die Aktion publish_post
nicht aus?
Es wird ausgelöst in wp_publish_post()
das aufruft:
wp_transition_post_status( 'publish', $old_status, $post );
das Aktionsaufrufe auslöst, dynamisch mit:
do_action( "{$new_status}_{$post->post_type}", $post->ID, $post );
wobei "{$new_status}_{$post->post_type}"
in Ihrem Fall zu "publish_post"
wird.