Плагин Wordpress Настройка класса Ajax - PullRequest
0 голосов
/ 09 ноября 2018

Я создаю плагин, используя Class, мне нужно запустить Ajax на Front end. Все сценарии правильно поставлены в очередь. когда я запускаю вызов, я получаю ошибку 400.

class CCYTFeatured {

public function __construct(){
        add_action( 'wp_enqueue_scripts', array($this, 'cc_yt_scripts' ));
        add_action( 'wp_ajax_cc_get_featured_yt', array( $this, 'cc_get_featured_yt' ) );
        add_action( 'wp_ajax_nopriv_cc_get_featured_yt', array( $this, 'cc_get_featured_yt' ) );

} 
public function cc_yt_scripts() {

    // JAVASCRIPT
    wp_register_script( 'cc_yt_script',
        plugins_url( '/js/cc_yt.js', __FILE__ ),
        array('jquery'),
        cc_yt_version(),
        true
    );
    wp_localize_script(
        'cc_yt_script',
        'cc_yt_ajax',
        array(
            'ajax_url' => admin_url( 'admin-ajax.php' )
        )
    );
    wp_enqueue_script('cc_yt_script');

}
public function cc_get_featured_yt(){
    echo 'SUCCESS!';
    die();
}

Мой вызов ajax:

function start_yt(){
jQuery('#cc_yt_light_wrap').show();
// REGISTER NEW ENTRY USING AJAX
jQuery.ajax({
    url: cc_yt_ajax.ajax_url,
    type: 'POST',
    data: {
        action : 'cc_get_featured_yt',
    },
    async: true,
    success: function(response) {
        console.log(response);
    }
});
}

Спасибо за вашу помощь! X)

Ответы [ 2 ]

0 голосов
/ 13 ноября 2018

Код в порядке,

То, как я звонил в класс, было неверным.

Я назвал это внутри темы. Вместо этого я создал новый метод и переместил все из __construct ().

Запустил мой класс и вызвал метод внутри файла плагина. После того, как я снова начал класс и вызвал только необходимый метод внутри моей темы. Работал отлично.

0 голосов
/ 10 ноября 2018

Попробуйте это: Измените имя метода с cc_get_featured_yt на get_featured и измените имя метода везде в вашем классе. а затем в ajaxcall вы положили этот код:

data: {
    action : 'featured_yt',
}

Я думаю, get в имени метода является ключевым словом. Это сработало для меня.

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