Отключить admin-ajax?
Можно ли просто отключить/остановить выполнение admin-ajax.php
?
Проверял документацию WordPress. Искал в Google. Искал на этом форуме. Не нашел ответа.
Также пробовал это, но не работает:
function stop_ajax()
{
// Отключаем AJAX
define( 'DOING_AJAX', false );
}
add_action( 'admin_init', 'stop_ajax' );

Первое, что делает admin-ajax.php
, — это определяет константу DOING_AJAX
. Затем он загружает wp-load.php
. После выполнения других действий первое, что попадает под ваш контроль, — это файл wp-config.php
.
Таким образом, если вы хотите остановить все AJAX-запросы, вы можете добавить следующий код в файл wp-config.php
:
if( defined( 'DOING_AJAX' ) && DOING_AJAX ) {
wp_die( '0', 400 );
}
Если у вас нет доступа к файлу wp-config
или вы хотите реализовать это через плагин, это тоже возможно. Нет необходимости добавлять код на хук, так как если запрос является AJAX-запросом, константа уже определена.
/**
* Plugin Name: Stop Ajax
*/
if( defined( 'DOING_AJAX' ) && DOING_AJAX ) {
wp_die( '0', 400 );
}
Будьте осторожны: это может вызвать побочные эффекты, если вы используете плагины или темы, требующие AJAX.
