Как обновить автора сообщения после обновления сообщения - PullRequest
0 голосов
/ 20 апреля 2020

Я бы хотел обновить 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 Ответ

1 голос
/ 20 апреля 2020

Я бы использовал 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 );
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...