Andryushkin.ru
Блог им. alex-borisi (Александра Андрюшкина)

Как проверить что Ajax запрос выполнен из админ панели WordPress

Иногда требуется проверять откуда выполнен ajax запрос, с внешней части сайта или из админ панели.

Ниже представлена функция для проверки ajax запроса, если запрос поступил из админки то вернет true иначе false.

if (is_admin_ajax()) {
    // Запрос выполнен из админ панели
}

Код функции

function is_admin_ajax()
{
    $referer = (!empty($_SERVER['HTTP_REFERER']) ? $_SERVER['HTTP_REFERER'] : '');
    
    if ((strpos($referer, 'wp-admin') !== false && wp_doing_ajax()) || (!wp_doing_ajax() && is_admin())) {
        return true;
    }
    return false;
}