• Здравствуйте! У меня не работает пагинация.
    Вот код шаблона вывода новостей:

    $paged = ( get_query_var( 'paged' ) ) ? get_query_var( 'paged' ) : 1;					
    					
    $query = new WP_Query( [
                    'post_type'      => 'post',
                    'posts_per_page' => 1,
                    'paged'          => $paged,
                ] );					
    					
    				
    if( have_posts() ){
    	// перебираем все имеющиеся посты и выводим их
    	while( have_posts() ){
    		the_post();
    		?>
          <div class="news__item" id="news_i">
          <p class="news__title"><a class="news__link" href="<?php the_permalink(); ?>"><?php the_title(); ?></a></p>
            <p class="news_datetime"><?php echo get_the_date('d.m.Y'); ?></p>
    		<div <?php post_class(); ?>  class="news__item" id="post-<?php the_ID(); ?>">
                <?php echo get_the_post_thumbnail($post->ID, $size = array(220,200),'thumbnail', array('class' => 'news__img') ); ?>
                <?php the_excerpt(); ?>
    		</div>
            <a class="news__link-bot" href="<?php the_permalink(); ?>">Подробнее</a>
          </div>
    		<?php
    	}
    	?>
    	<?php
    	the_posts_pagination(array('prev_next'    => true, 'mid_size'     => 1,'prev_text'    => __('«'),
        'next_text'    => __('»'), ));
                        wp_reset_query();
    }
    

    При переходе на другую страницу в браузере показывается страница 404. А в строке браузера адрес: /news/page/2/.
    Подскажите, пожалуйста, как решить проблему.

Просмотр 5 ответов — с 1 по 5 (всего 5)
  • Модератор Юрій

    (@yube)

    как решить проблему.

    Без особой нужды не перешибать основную выборку в шаблоне. Любые (почти) манипуляции с параметрами выборки можно сделать на хуке pre_get_posts.

    Подскажите, пожалуйста, откуда брать post_type? Что это за параметр?
    Я ставил news — это не то. Выводит не новости, а что-то другое и из других рубрик.

    • Ответ изменён 3 года, 3 месяца назад пользователем tchprogrammer.
    Модератор Yui

    (@fierevere)

    永子

    https://wordpress.org/support/article/post-types/

    Home


    news там нет, если только вы не регистируете его как custom post type

    Да, Yui, я решил вопрос с post_type . Он у меня равен post. Показывается пагинатор. Но при переходе на другую страницу (/news/page/2/) показывается, что страница не найдена. Я пробовал ставить ‘posts_per_page’ => 4, но нет никакой реакции на этот параметр.

    Ваш код в первом сообщении, вы создаете объект $query и дальше его никак не используете.

    • Ответ изменён 3 года, 3 месяца назад пользователем pluginfactory.
Просмотр 5 ответов — с 1 по 5 (всего 5)
  • Тема «Не работает пагинация» закрыта для новых ответов.