thehighhomie
@thehighhomie

Wordpress: кастомная регистрация ajax?

Добрый вечер всем!

Прошу помощи решить следующую проблему:
Пишу плагин дополнительных модулей к теме. Один из модулей это кастомные пользователи, написанные с нуля, так как стандартный модуль пользователей в WP не удовлетворяет требованиям задач.

На WP перешел не так давно ( до этого ajax не применял, так как только недавно немного его подучил ).

Так вот, в папке includes есть класс управляющий всеми модулями и в нем есть обработчик регистрации, вот так выглядит в конструкторе добавление хука для ajax запроса:
$loader->add_action( 'wp_ajax_nopriv_register_ajax_handler, $this, 'register_ajax_handler' );

Вот так выглядит функция register_ajax_handler:
public function register_ajax_handler {
// Здесь я просто сделал вывод для проверки
echo 'WORK!';
}

В js файле, который находится в js/cmt-plugin.js есть обработчик на форме, который все проверяет и если все ок то запускается такой скрипт:
var data = {
'action': 'register_ajax_handler'
};
$.post( ajaxurl, data, function( response ) {
$( '.#form-content' ).html( response );
});
}

в итоге в консоле просто выдает что не найден ajaxurl.

Я без понятия почему так, и вообще все это у меня на абстрактном уровне понимается пока.
Укажите пожалуйста что я делаю не так? Моя цель понять как можно вызвать ajax запрос из метода класса, примерно то что я описал вышел. Спасибо.
  • Вопрос задан
  • 442 просмотра
Решения вопроса 1
HeadOnFire
@HeadOnFire
PHP, Laravel & WordPress Evangelist
1. Если родные юзеры не подходят, им можно сделать class My_User extends WP_User
2. Чуть некорректная регистрация экшна в ООП-формате, надо
$loader->add_action( 'wp_ajax_nopriv_register_ajax_handler', array( $this, 'register_ajax_handler') );

3. Проверьте html код страницы, там где-то инлайном должен быть скрипт с определением переменной ajaxurl
4. А еще, есть wp_ajax_nopriv_* и wp_ajax_*

Собственно, думаю что №2 решит проблему.
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы