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.
