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

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

给TA打赏
共{{data.count}}人
人已打赏
解决方案

Roslyn代码生成,如何为给定类型创建一个类型表达式。

2022-4-20 1:00:08

解决方案

Ionic Cordova平台添加ios失败,库未加载:usrlocaloptopensslliblibssl.1.0.0.dylib (LoadError)

2022-4-20 1:00:10

0 条回复 A文章作者 M管理员
    暂无讨论,说说你的看法吧
个人中心
购物车
优惠劵
今日签到
有新私信 私信列表
搜索