更新帖子后如何更新帖子作者

时间:2020-04-20 12:15:35

标签: wordpress

我想在更新帖子后通过获取当前用户ID来更新post_author,但是当我使用此功能时,wordpress通过复制当前帖子以正确的作者创建了新帖子

function change_author () {
    if ( ! wp_is_post_revision( $post_id ) ){

        $post= array(
            'ID'            => $post_id,
            'post_author'   => get_current_user_id(),
        );

        wp_update_post( $post );


    }

}
add_action('save_post', 'change_author');

1 个答案:

答案 0 :(得分:1)

我将使用wp_insert_post_data hook而不是save_post。保存后而不是更新发布,最好将数据作为保存发布操作的一部分插入数据库之前进行更改。这是我要做的:

function change_author ( $data ) {
    if ( ! wp_is_post_revision( $data['ID'] ) ){
        $data['post_author'] = get_current_user_id();
    }

    return $data;
}
add_filter( 'wp_insert_post_data', 'change_author', 10, 1 );