# check_admin_referer()

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

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

## Сигнатура

```php
check_admin_referer( int|string $action = -1, string $query_arg = '_wpnonce' ): int|false
```

## Описание

Эта функция подтверждает, что пользователь намеревается выполнить заданное действие, что помогает защититься от атак типа clickjacking. Она проверяет намерение, а не права доступа, поэтому не проверяет права пользователя. Это следует делать с помощью current_user_can() или аналогичной функции.
Если значение одноразового кода недопустимо, функция завершит работу сообщением в стиле «Вы уверены?».

## Параметры

- `$action` `int|string` — необязательный, по умолчанию `-1`. Действие одноразового защитного кода.
- `$query_arg` `string` — необязательный, по умолчанию `'_wpnonce'`. Ключ для проверки одноразового кода в $_REQUEST. Значение по умолчанию '_wpnonce'.

## Возвращаемое значение

`int|false`

## Исходный код

Файл: `wp-includes/pluggable.php:1372`

```php
function check_admin_referer( $action = -1, $query_arg = '_wpnonce' ) {
	if ( -1 === $action ) {
		_doing_it_wrong( __FUNCTION__, __( 'You should specify an action to be verified by using the first parameter.' ), '3.2.0' );
	}

	$adminurl = strtolower( admin_url() );
	$referer  = strtolower( wp_get_referer() );
	$result   = isset( $_REQUEST[ $query_arg ] ) ? wp_verify_nonce( $_REQUEST[ $query_arg ], $action ) : false;

	/**
	 * Fires once the admin request has been validated or not.
	 *
	 * @since 1.5.1
	 *
	 * @param string    $action The nonce action.
	 * @param false|int $result False if the nonce is invalid, 1 if the nonce is valid and generated between
	 *                          0-12 hours ago, 2 if the nonce is valid and generated between 12-24 hours ago.
	 */
	do_action( 'check_admin_referer', $action, $result );

	if ( ! $result && ! ( -1 === $action && str_starts_with( $referer, $adminurl ) ) ) {
		wp_nonce_ays( $action );
		die();
	}

	return $result;
}
```

## История изменений

- 2.5.0 — The $query_arg parameter was added.
- 1.2.0 — Introduced.

## Связанные

Использует: [`wp_verify_nonce`](https://chugunov.pro/api-wordpress/functions/wp_verify_nonce/), [`wp_nonce_ays`](https://chugunov.pro/api-wordpress/functions/wp_nonce_ays/), [`wp_get_referer`](https://chugunov.pro/api-wordpress/functions/wp_get_referer/), [`__`](https://chugunov.pro/api-wordpress/functions/__/), [`_doing_it_wrong`](https://chugunov.pro/api-wordpress/functions/_doing_it_wrong/), [`admin_url`](https://chugunov.pro/api-wordpress/functions/admin_url/), [`do_action`](https://chugunov.pro/api-wordpress/functions/do_action/).
Используется в: [`use_block_editor_for_post`](https://chugunov.pro/api-wordpress/functions/use_block_editor_for_post/), `WP_Privacy_Requests_Table::process_bulk_action`, [`_wp_personal_data_handle_actions`](https://chugunov.pro/api-wordpress/functions/_wp_personal_data_handle_actions/), [`set_screen_options`](https://chugunov.pro/api-wordpress/functions/set_screen_options/), [`wp_dashboard_setup`](https://chugunov.pro/api-wordpress/functions/wp_dashboard_setup/), [`media_upload_form_handler`](https://chugunov.pro/api-wordpress/functions/media_upload_form_handler/), [`wp_media_upload_handler`](https://chugunov.pro/api-wordpress/functions/wp_media_upload_handler/), `Custom_Image_Header::step_2`, `Custom_Image_Header::step_3`, `Custom_Image_Header::take_action`, `Custom_Background::take_action`, `Custom_Background::handle_upload`.

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