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