¿Cómo desactivar admin-ajax?

15 mar 2018, 00:55:00
Vistas: 15.7K
Votos: 7

¿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' );
2
Comentarios

¿Qué quieres decir con "deshabilitar/detener admin-ajax.pl de ejecutarse"? ¿Qué se debe hacer si se envía tal solicitud y está deshabilitada?

Krzysiek Dróżdż Krzysiek Dróżdż
15 mar 2018 01:04:51

No está claro si te refieres al heartbeat de WordPress, pero en este caso, hay algunos buenos tutoriales en la web que explican cómo deshabilitarlo o mejor, cómo limitarlo. Este es un buen punto de partida https://www.siteground.com/tutorials/wordpress/limit-heartbeat/

Alex Sancho Alex Sancho
15 mar 2018 01:07:28
Todas las respuestas a la pregunta 1
0

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.

15 mar 2018 02:28:39