Создать акаунт
Всё для вебмастера » Вопросы и ответы » CMS » WordPress » Почему у меня не работает кнопка «показать еще»?

Почему у меня не работает кнопка «показать еще»?

26 сен 2022, 00:18
WordPress
326
0
Здравствуйте, делаю кнопку показать еще по примерам в интернете. Но что то не находит мои посты. В чем я ошибся? Тип записис называется projects.
вывод кнопки на фронте:
<?php            // текущая страница            $paged = get_query_var( 'paged' ) ? get_query_var( 'paged' ) : 1;            // максимум страниц            $max_pages = $wp_query->max_num_pages;            // если текущая страница меньше, чем максимум страниц, то выводим кнопку            if( $paged < $max_pages ) {                echo '<div id="loadmore" style="text-align:center;" class="loadmore grey_button">                        Показать ещё                    <a href="https://qna.habr.com#" data-max_pages="' . $max_pages . '" data-paged="' . $paged . '" class="button"></a>                </div>';            }            ?>


js код:
jQuery(function($){ // определяем в переменные кнопку, текущую страницу и максимальное кол-во страницvar button = $( '#loadmore a' ),    paged = button.data( 'paged' ),    maxPages = button.data( 'max_pages' ); button.click( function( event ) { event.preventDefault(); // предотвращаем клик по ссылке $.ajax({type : 'POST',url : misha.ajax_url, // получаем из wp_localize_script()data : {paged : paged, // номер текущей страницaction : 'loadmore' // экшен для wp_ajax_ и wp_ajax_nopriv_},beforeSend : function( xhr ) {button.text( 'Загружаем...' );},success : function( data ){ paged++; // инкремент номера страницыbutton.parent().before( data );button.text( 'Загрузить ещё' );  // если последняя страница, то удаляем кнопкуif( paged == maxPages ) {button.remove();} } }); } );});


подключение скриптов и код фильтра из functions.php:
// подключение скриптовadd_action( 'wp_enqueue_scripts', 'true_loadmore_scripts' ); function true_loadmore_scripts() {wp_enqueue_script( 'jquery' ); // в TwentyTwentyOne он не подключен по умолчанию  wp_register_script( 'true_loadmore', get_stylesheet_directory_uri() . '/loadmore.js', array( 'jquery' ),time() // не кэшируем файл, убираем эту строчку после завершение разработки); wp_localize_script( 'true_loadmore', 'misha', array( 'ajax_url' => admin_url( 'admin-ajax.php' ) )); wp_enqueue_script( 'true_loadmore' );}// подключение скриптов// фильтрadd_action( 'wp_ajax_loadmore', 'projects_loadmore' );add_action( 'wp_ajax_nopriv_loadmore', 'projects_loadmore' ); function projects_loadmore() { $paged = ! empty( $_POST[ 'paged' ] ) ? $_POST[ 'paged' ] : 1;$paged++;$args = array('post_type'      => 'projects','paged'  => $paged,); $query = new WP_Query( $args );if ( $query->have_posts() ) :while ( $query->have_posts() ) :$query->the_post();get_template_part( 'template-parts/template', 'projects-catalog' );endwhile;else :echo 'Не найдено записей по заданным параметрам';endif; die; }// фильтр

Внимание! Почему у меня не работает кнопка «показать еще»? предоставлен пользователями сайта исключительно в ознакомительных целях. Администрация не несет ответственности за его содержимое.

Смотрите также:

Комментарии к Почему у меня не работает кнопка «показать еще»?
Добавить Комментарий
В комментариях запрещаются спам, а также реклама любых товаров и услуг, иных ресурсов.
Информация
Посетители, находящиеся в группе Гости, не могут оставлять комментарии к данной публикации.