質問: wordpressカスタム投稿タイプの新しい投稿作成後に関数を呼び出す? 新しい投稿タイプ'product'を作成したとします。この新しい'product'投稿が作成されたときに機能(ユーザー作成)を実行する方法はありますか?
回答: こんにちは@ dotty:ファイル/wp-includes/post.php内のwp_insert_post()関数の終わりを見てください(wordpress 3.0.1。の2148行目から2392行目まで)wordpress投稿の追加と更新の両方にこの関数を使用します。)最後に次のコードがあります。このコードからwp_transition_post_status()の呼び出しを識別できます(詳細は後で説明します)。アクションフックedit_post、post_updated、save_post、wp_insert_post( 1つではなく、後者の2つ)ニーズに合ったものを使用できます:<?php wp_transition_post_status($data['post_status'], $previous_status, $post); if ( $update ) { do_action('edit_post', $post_id, $post); $post_after = get_post($post_id); do_action( 'post_updated', $post_id, $post_after, $post_before); } do_action('save_post', $post_id, $post); do_action('wp_insert_post', $post_id, $post); return $post_id; また、@ jan fabryが言及したように、wp_transition_post_status()にアクションフックがあります(wordpress 3.0.1の/wp-includes/post.phpの2713から2717まで) 。)3つあることに注意してください。必要に応じて使用します。<?php function wp_transition_post_status($new_status, $old_status, $post) { do_action('transition_post_status', $new_status, $old_status, $post); do_action("${old_status}_to_$new_status", $post); do_action("${new_status}_$post->post_type", $post->id, $post); }