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

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了更新帖子后如何更新帖子作者相关的知识,希望对你有一定的参考价值。

我想在更新帖子后通过获取当前用户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');
答案

我会使用 wp_insert_post_data 钩子。 而不是 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 );

以上是关于更新帖子后如何更新帖子作者的主要内容,如果未能解决你的问题,请参考以下文章

数据库更新后如何清除缓存?

在前端的帖子中更新 likes 数组

在 angular-fullstack 应用程序中更新后单个帖子不同步

通过colorbox提交Ajax帖子后更新div?

为recyclerview更新帖子的评论数

如何在 Spring Security 中更新另一个用户的状态?