Как решить проблему с кнопкой показать еще на ajax WordPress?

Проблема с кнопкой "Показать еще" на 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-запрос и серверную логику в соответствии со своими потребностями.