¿Cómo desactivar admin-ajax?
¿Es posible simplemente desactivar/detener la ejecución de admin-ajax.php
?
He buscado en la documentación de WordPress. He buscado en Google. He buscado en este foro. No encontré respuesta.
También probé esto, pero no funciona:
function stop_ajax()
{
define( 'DOING_AJAX', false );
}
add_action( 'admin_init', 'stop_ajax' );
Lo primero que hace admin-ajax.php
es definir DOING_AJAX
. Luego, carga wp-load.php
. Realiza algunas otras acciones, y lo primero con lo que te encuentras y sobre lo que tienes control es wp-config.php
.
Así que si deseas detener todo el ajax, puedes agregar lo siguiente a tu archivo wp-config.php
.
if( defined( 'DOING_AJAX' ) && DOING_AJAX ) {
wp_die( '0', 400 );
}
Si no tienes acceso al archivo wp-config
, o simplemente deseas hacerlo a través de un plugin, también puedes hacerlo. No es necesario agregarlo a un hook, ya que si es una solicitud que está haciendo ajax, ya está definido.
/**
* Plugin Name: Detener Ajax
*/
if( defined( 'DOING_AJAX' ) && DOING_AJAX ) {
wp_die( '0', 400 );
}
Habrá efectos secundarios si estás usando plugins o temas que requieren ajax, así que ten cuidado.
