Плагин Wordpress: AJAX Запрос не работает с Boilerplate - PullRequest
0 голосов
/ 26 марта 2020

У меня не было проблем с использованием AJAX запросов в моих плагинах Wordpress прежде, но я изо всех сил пытался заставить его работать с Boilerplate Plugin .

Это то, что define_admin_hooks ( ) Метод выглядит так:

private function define_admin_hooks() {
    $plugin_admin = new MyPlugin_Admin( $this->get_plugin_name(), $this->get_version() );
    // Some other Hooks
    $this->loader->add_action( 'wp_ajax_my_action', $plugin_admin, 'my_action');

}

Это вызов ajax:

$.ajax({
            type: 'POST',
            url: ajaxurl,
            dataType: 'json',

            data:{ action: 'my_action' },
            success:function(res) {
                alert(res);
            }
        });

Каким-то образом метод my_action () - класса MyPlugin_Admin не вызывается, и каждый запрос возвращает 0.

Но когда я определяю простую функцию my_action и регистрирую ловушку с

add_action('wp_ajax_my_action', 'my_action');

вместо

$this->loader->add_action( 'wp_ajax_my_action', $plugin_admin, 'my_action');

, все работает нормально.

Почему метод класса не вызывается?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...