如何在使用发布帖子操作编辑或更新帖子时运行函数?

时间:2017-07-01 作者:busyjax

我想运行一个function A() 发布帖子时function B() 编辑或更新同一帖子时。

为此,我发现每当发布帖子,或者编辑帖子并将状态更改为“发布”时,都会触发该操作。

如何使用此“发布帖子”操作来知道帖子已被编辑或更新,以便我可以运行function B()?

2 个回复
SO网友:Cesar Henrique Damascena

使用post_updated 钩子你可以在帖子更新时触发一个动作。他通过了3个参数:

  • $post_ID (帖子ID),
  • $post_after(编辑后的post对象),
  • $post_before (编辑前的post对象)
以下是一个示例:

<?php
function check_values($post_ID, $post_after, $post_before){
    echo \'Post ID:\';
    var_dump($post_ID);

    echo \'Post Object AFTER update:\';
    var_dump($post_after);

    echo \'Post Object BEFORE update:\';
    var_dump($post_before);
}

add_action( \'post_updated\', \'check_values\', 10, 3 ); //don\'t forget the last argument to allow all three arguments of the function
?>
参见参考Codex

SO网友:BenB

您可以使用save\\u post hook实现这一点。

示例类似于中的代码codex

function run_my_function( $post_id ) {
  if ( wp_is_post_revision( $post_id ) ){
    // if post udpated
  } else {
    //if is new post
    }
}
add_action( \'save_post\', \'run_my_function\' );

结束