Cum să oprești admin-ajax?
Este posibil să dezactivezi/oprești pur și simplu rularea fișierului admin-ajax.php?
Am căutat în Documentația WordPress. Am căutat pe Google. Am căutat pe acest forum. Nu am găsit niciun răspuns.
Am încercat și această soluție, dar nu funcționează:
function stop_ajax()
{
define( 'DOING_AJAX', false );
}
add_action( 'admin_init', 'stop_ajax' );
Primul lucru pe care îl face admin-ajax.php este să definească DOING_AJAX. Apoi, încarcă wp-load.php. Efectuează și alte operații, iar primul element peste care întâlnește și pe care îl puteți controla este wp-config.php.
Deci, dacă doriți să opriți toate cererile AJAX, puteți adăuga următoarele în fișierul wp-config.php:
if( defined( 'DOING_AJAX' ) && DOING_AJAX ) {
wp_die( '0', 400 );
}
Dacă nu aveți acces la fișierul wp-config sau doriți să faceți acest lucru printr-un plugin, puteți face și asta. Nu este nevoie să adăugați codul la un hook, deoarece dacă este o cerere AJAX, variabila este deja definită.
/**
* Plugin Name: Oprește AJAX
*/
if( defined( 'DOING_AJAX' ) && DOING_AJAX ) {
wp_die( '0', 400 );
}
Vor exista efecte secundare dacă utilizați pluginuri sau teme care necesită AJAX, așa că fiți atenți.