Проблема с кнопкой "Показать еще" на AJAX в WordPress может быть решена с помощью следующего подхода:
1. Во-первых, у вас должен быть обработчик AJAX-запросов на сервере. Для этого вам понадобится создать функцию, которая будет принимать данные от клиента, обрабатывать их и возвращать результат.
Пример:
add_action('wp_ajax_load_more_posts', 'load_more_posts'); add_action('wp_ajax_nopriv_load_more_posts', 'load_more_posts'); function load_more_posts() { // Ваша логика для загрузки дополнительных постов // Например, получение постов из базы данных и отправка их клиенту в JSON формате wp_send_json($posts); }
2. Далее вам нужно написать скрипт на стороне клиента для отправки AJAX-запросов на сервер и обновления контента на странице.
Пример:
jQuery(function ($) { var page = 2; // Номер страницы для загрузки дополнительных данных $('#load-more-button').on('click', function () { $.ajax({ url: ajaxurl, type: 'post', data: { action: 'load_more_posts', page: page, }, success: function (response) { // Обновляем контент на странице с помощью данных из response // Например, добавляем новые посты на страницу page++; } }); }); });
3. Не забудьте добавить кнопку "Показать еще" и подключить скрипт на странице с вашими постами.
Пример кнопки:
<button id="load-more-button">Показать еще</button>
4. Наконец, вы должны убедиться, что вы правильно подключили скрипты и стили WordPress AJAX в вашу тему.
function enqueue_scripts() { wp_enqueue_script('my-ajax-script', get_template_directory_uri() . '/js/my-ajax-script.js', array('jquery'), null, true); wp_localize_script('my-ajax-script', 'ajaxurl', admin_url('admin-ajax.php')); } add_action('wp_enqueue_scripts', 'enqueue_scripts');
После выполнения этих шагов у вас должна появиться кнопка "Показать еще", которая загружает дополнительные посты с сервера без перезагрузки страницы. Не забудьте настроить ваш AJAX-запрос и серверную логику в соответствии со своими потребностями.