Самая верхняя строка сайта vahro.ru
- jQuery.ajax() – https://api.jquery.com/jquery.ajax/
WP грузит jQuery сам – ничего дополнительно делать не нужно
- 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’ ) ] );
- Элемент активации (кнопка, чекбокс, радио и т.д.) размещаем на странице, где нужен ajax, с определенным классом. На этой же странице должно быть определено место куда будут попадать результаты запроса.
- В jQuery обработчике прописываем WP хук событие в виде
$.ajax( { url: MyAjax.ajaxurl, data: ‘action=actionname’, …., success: function( data ) {}});
- В 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’ );
- WP обработчик my_ajax_agent в functions.php
Здесь выполняется запрос данных, что-то делается с полученными данными и они выводятся.
Результат функции все что выводит echo в ней.
Этот результат попадает в jQuery обработчик – success: function( data ) { $(‘.место-на-странице’).append(data); }
Запросов к БД - 44, загрузка - 0,132 сек., память - 11.55 МБ