XMLファイルからデータを取得し、その内容に基づいて投稿を作成するプラグインを書いています。
私はwp_insert_post()
を使用して新しい投稿を公開することを考えていましたが、publish_post
にフックされているいくつかの関数があります。
\wp-includes\post.php
を調べたところ、このイベントによって引き起こされるpublish_post
アクションフックが見つかりませんでした。
私のケースに関連したこれらのフックだけがありました:
// 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 );
私は何かが足りないのですか?それともwp_insert_post()
がpublish_post
アクションを引き起こさないのですか?
それは wp_publish_post()
で呼び出されます:
wp_transition_post_status( 'publish', $old_status, $post );
次のように動的にアクション呼び出しを起動します。
do_action( "{$new_status}_{$post->post_type}", $post->ID, $post );
あなたの場合は"{$new_status}_{$post->post_type}"
は"publish_post"
になります。