web-dev-qa-db-fra.com

Arrêtez admin-ajax?

Est-il possible de simplement désactiver/arrêter admin-ajax.php de fonctionner?

Ont cherché WordPress Doc. J'ai cherché sur Google. J'ai cherché ce forum. Pas trouvé de réponse.

J'ai aussi essayé cela, mais ça ne marche pas:

function stop_ajax()
{
    define( 'DOING_AJAX', false );
}
add_action( 'admin_init', 'stop_ajax' );
2
Peter Westerlund

La première chose admin-ajax.php do est de définir DOING_AJAX. Ensuite, il charge wp-load.php . Il fait d'autres choses, et la première chose sur laquelle vous avez le contrôle, c'est wp-config.php.

Donc, si vous voulez arrêter tous les ajax, vous pouvez ajouter ce qui suit dans votre fichier wp-config.php.

if( defined( 'DOING_AJAX' ) && DOING_AJAX ) {
  wp_die( '0', 400 );
}

Si vous n'avez pas accès au fichier wp-config, ou si vous voulez simplement le faire via un plugin, vous pouvez le faire aussi. Pas besoin de l'ajouter à un hook car si c'est une requête qui fait ajax, c'est déjà défini.

/**
 * Plugin Name: Stop Ajax
 */
if( defined( 'DOING_AJAX' ) && DOING_AJAX ) {
  wp_die( '0', 400 );
}

Il y aura des effets secondaires si vous utilisez des plugins ou des thèmes nécessitant un ajax, alors soyez prudent.

5
Nathan Johnson