web-dev-qa-db-ja.com

投稿が更新/公開されたときにアクションを実行する

投稿が更新または公開されるたびに、メタデータを使用してカスタムクエリを実行したいです。

これらのイベントが発生したときに起動するためにfunctions.phpに入れることができるものはありますか?

5
Kyle

save_postアクションは、投稿が更新または公開されたとき(新しい投稿が挿入されたときも含む)に発生します。

<?php
add_action( 'save_post', 'wpse41912_save_post' );
function wpse41912_save_post()
{
    // do stuff
}

投稿が編集されているときにだけ関数を起動したい場合は、edit_postにフックできます。

投稿が下書きから公開に移動されたときに起動させたい場合は、transition_post_statusにフックできます。

11
chrisguitarguy

あなたが使うことができるいくつかのアクションがあります 。例えば:

  • save_post
  • edit_post
  • publish_post
  • 等.

あまり使用されていませんが、 ポストステータス遷移フックもあります

5
Chip Bennett

edit_postフックはおそらく最良のフックです...投稿/ページが公開または更新されるたびに起動されるためです。 save_postはもう1つの実行可能なオプションです...コメントが更新されたときに起動する必要がないのであればもっといいかもしれません。

http://codex.wordpress.org/Plugin_API/Action_Reference

コーデックスのsave_postページには、投稿が保存されるたびに起動する関数の例があります。

http://codex.wordpress.org/Plugin_API/Action_Reference/save_post

3
helgatheviking

カスタム投稿の更新/保存時にアクションを実行したい場合 -

add_action('save_post','save_post_callback');
function save_post_callback($post_id){
global $post; 
if ($post->post_type != 'MY_CUSTOM_POST_TYPE_NAME'){
    return;
}
//if you get here then it's your post type so do your things....
}
0
Amritosh pandey