Issue with front-end ajax, getting a 302 redirect when accessing wp-admin/admin-ajax.php

Below function works for me by adding !defined('DOING_AJAX') in condition.

function custom_blockusers_init() {
  if ( is_admin() && !defined('DOING_AJAX') && ( 
  current_user_can('usercrp') || current_user_can('userpcp') ||  
  current_user_can('subscriber') || current_user_can('contributor') || 
  current_user_can('editor'))) {
    session_destroy();
    wp_logout();
    wp_redirect( home_url() );
   exit;
  }
 }
add_action( 'init', 'custom_blockusers_init' );

Leave a Comment