функция
since 3.6.0
wp_refresh_post_lock()
Проверено на WordPress 6.9, обновлено Источник: WordPress Developer Resources.
Сигнатура
wp_refresh_post_lock( array $response, array $data, string $screen_id ): array
Описание
Проверяет статус блокировки на экране создания/редактирования записи и обновляет блокировку.
Параметры
$response
array
обязательный
Ответ Heartbeat.
$data
array
обязательный
Переданные данные $_POST.
$screen_id
string
обязательный
Идентификатор экрана.
Возвращаемое значение
array
Исходный код
wp-admin/includes/misc.php:1189
function wp_refresh_post_lock( $response, $data, $screen_id ) {
if ( array_key_exists( 'wp-refresh-post-lock', $data ) ) {
$received = $data['wp-refresh-post-lock'];
$send = array();
$post_id = absint( $received['post_id'] );
if ( ! $post_id ) {
return $response;
}
if ( ! current_user_can( 'edit_post', $post_id ) ) {
return $response;
}
$user_id = wp_check_post_lock( $post_id );
$user = get_userdata( $user_id );
if ( $user ) {
$error = array(
'name' => $user->display_name,
/* translators: %s: User's display name. */
'text' => sprintf( __( '%s has taken over and is currently editing.' ), $user->display_name ),
);
if ( get_option( 'show_avatars' ) ) {
$error['avatar_src'] = get_avatar_url( $user->ID, array( 'size' => 64 ) );
$error['avatar_src_2x'] = get_avatar_url( $user->ID, array( 'size' => 128 ) );
}
$send['lock_error'] = $error;
} else {
$new_lock = wp_set_post_lock( $post_id );
if ( $new_lock ) {
$send['new_lock'] = implode( ':', $new_lock );
}
}
$response['wp-refresh-post-lock'] = $send;
}
return $response;
}
История изменений
| Версия | Описание |
|---|---|
| 3.6.0 | Introduced. |

