# wp_refresh_post_lock()

URL: https://chugunov.pro/api-wordpress/functions/wp_refresh_post_lock/
Проверено на WordPress 6.9, обновлено 06.08.2026.
Источник: независимый русскоязычный справочник chugunov.pro. Не является официальной документацией WordPress.

Тип: функция.
Появился в версии: 3.6.0.

## Сигнатура

```php
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`

```php
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.

## Связанные

Использует: [`get_avatar_url`](https://chugunov.pro/api-wordpress/functions/get_avatar_url/), [`wp_check_post_lock`](https://chugunov.pro/api-wordpress/functions/wp_check_post_lock/), [`wp_set_post_lock`](https://chugunov.pro/api-wordpress/functions/wp_set_post_lock/), [`current_user_can`](https://chugunov.pro/api-wordpress/functions/current_user_can/), [`__`](https://chugunov.pro/api-wordpress/functions/__/), [`get_userdata`](https://chugunov.pro/api-wordpress/functions/get_userdata/), [`absint`](https://chugunov.pro/api-wordpress/functions/absint/), [`get_option`](https://chugunov.pro/api-wordpress/functions/get_option/).

Оригинал в официальной документации: https://developer.wordpress.org/reference/functions/wp_refresh_post_lock/
