мой плагин использует add_action для wp_ajax_cl_ajax
и wp_ajax_nopriv_cl_ajax
в своем коде, и на нескольких тысячах сайтов, которые его используют, это нормально, но один сайт не работает для вышедших из системы пользователей
вошедший в систему пользователь в порядке, код отправляет запрос в ajax, и все возвращается в порядке.
в других блогах пользователь, вышедший из системы, в порядке, но только в этом блоге для запроса ajax возвращается -1.
Я добавил код отладки в плагин, чтобы умереть в функции do_ajax с сообщением, но он даже не доходит до этой функции.
вот действие для вышедшего из системы пользователя ajaxadd_action('wp_ajax_nopriv_cl_ajax','do_ajax');
функция имеет это
function do_ajax(){
if(isset($_REQUEST['debug'])){
die('in ajax function');
}
}
Я просто меняю URL-адрес ajax, чтобы иметь var для отладки (…./wp-admin/admin-ajax.php?debug=true) на моих тестовых сайтах он умирает, для вошедшего в систему пользователя он умирает, но для зарегистрированного вне пользователя, он просто возвращает -1, что говорит мне, что действие даже не запускается. Я добавил больше кода отладки в функцию, которая добавляет действия, has_filter
и она возвращает 1, поэтому я знаю, что действие добавлено, а не запущено.
Я пытался изменить тему, но не в восторге
сайт использует wp 3.2
у кого-нибудь есть опыт работы с wp_ajax_nopriv_xxx, который не срабатывает? что вызвало это для вас?
как я уже сказал, он отлично работает в других блогах, поэтому я знаю, что это не случай опечатки или отсутствующего кода.
что еще я могу сделать, чтобы определить, почему действие не срабатывает?