Опубликовано Оставить комментарий

WP AJAX

  1. jQuery.ajax() – https://api.jquery.com/jquery.ajax/
    WP грузит jQuery сам – ничего дополнительно делать не нужно
  2. jQuery AJAX обработчик – js файл, прописываем загрузку в functions.php
    wp_enqueue_script( ‘my-ajax’, get_template_directory_uri() . ‘/js/my-ajax.js’ );
    wp_localize_script( ‘my-ajax’, ‘MyAjax’, [ ‘ajaxurl’ => admin_url( ‘admin-ajax.php’ ) ] );
  3. Элемент активации (кнопка, чекбокс, радио и т.д.) размещаем на странице, где нужен ajax, с определенным классом. На этой же странице должно быть определено место куда будут попадать результаты запроса.
  4. В jQuery обработчике прописываем WP хук событие в виде
    $.ajax( { url: MyAjax.ajaxurl, data: ‘action=actionname’, …., success: function( data ) {}});
  5. В functions.php прописывается хуки
    wp_ajax_actionname {actionname – ЗНАЧЕНИЕ ПАРАМЕТРА ACTION!!} – для авторизованных пользователей
    wp_ajax_nopriv_actionname {actionname – ЗНАЧЕНИЕ ACTION!!} – для не авторизованных пользователей
    add_action( ‘wp_ajax_actionname’, ‘my_ajax_agent’ );
    add_action( ‘wp_ajax_nopriv_actionname’, ‘my_ajax_agent’ );
  6. WP обработчик my_ajax_agent в functions.php
    Здесь выполняется запрос данных, что-то делается с полученными данными и они выводятся.
    Результат функции все что выводит echo в ней.
    Этот результат попадает в jQuery обработчик – success: function( data ) { $(‘.место-на-странице’).append(data); }