Поддержка Проблемы и решения Не выводится пагинация на странице категории записей

  • WordPress 4.9.7 с темой оформления Basic.
    Тему немного дорабатываю под себя.
    Для вывода анонсов записей на страницы категории сделала такой код (взят отсюда: https://webgyry.info/posts-for-one)

    <?php get_header(); ?>
    	<main id="content">
    
    <?php do_action( 'basic_before_page_title' );  ?>
    				<h1 class="mainarticle"><?php the_title(); ?></h1>
    				<?php do_action( 'basic_after_page_title' );  ?>
    <?php
    if ( have_posts() ) : // если имеются записи в блоге.
      query_posts('cat=1');   // указываем ID рубрик, которые необходимо вывести.
      while (have_posts()) : the_post();  // запускаем цикл обхода материалов блога
    ?>
    
    <!--здесь выводится миниатюра записи-->
    <div class="thumbnail"><?php the_post_thumbnail(array(150,150));?></div>
    <div class="announce">
    <!--в этой строке выводится название статьи, анонос и ссылка на неё-->
    <h2 class="articleheader"><a href="<?php the_permalink(); ?>"><?php the_title(); ?></a></h2>
    <?php the_excerpt() ?>&nbsp;<a href="<?php the_permalink(); ?>">Читать далее</a>
    </div>
    
    <?php
    endwhile;  // завершаем цикл.
    endif;
    /* Сбрасываем настройки цикла. Если ниже по коду будет идти еще один цикл, чтобы не было сбоя. */
    wp_reset_query();
    ?>
    
     </main>
    <!-- END #content -->
    	
    <?php get_sidebar(); ?>
    <?php get_footer(); ?> 

    10 записей выводятся, но нет пагинации.
    Вставляла такой код, взятый из index.php темы

    <?php
    
    	the_posts_pagination( array(
    		'mid_size' => 2,
    		'prev_text' => __( '&laquo; Prev', 'basic'),
    		'next_text' => __( 'Next &raquo;', 'basic'),
    	) );
    ?>

    Но пагинация не выводится.
    Однако если же этот код пагинации поставить между Читать далее и </div>, то пагинация выводится после каждого анонса, т.е. теоретически работать она тут может, но что-то ей мешает.

    А мне нужно, чтоб выводилась внизу страницы.

    Что и как можно поправить в коде шаблона для страницы статей?

    Страница, с которой нужна помощь: [войдите, чтобы увидеть ссылку]

Просмотр 14 ответов — с 1 по 14 (всего 14)
  • Для вывода анонсов записей на страницы категории сделала такой код (взят отсюда:

    Удалите и не читайте больше такие древности.
    См https://wpmag.ru/2014/query_posts-wordpress/

    Что вообще Вы хотите сделать? Какова цель?

    Что вообще Вы хотите сделать? Какова цель?

    Хочу на странице Статьи вывести анонсы записей в категории «Статьи» с картинками.
    И чтобы анонсы выводились по 10 штук на страницу, с разбивкой на страницы, т.к. статьи будут добавляться.
    Плагин использовать не хотела, хотела сделать кодом
    Пробовала менять на get_posts и WP_Query, там либо белая страница выходит, либо всё равно пагинация не работает.

    • Ответ изменён 5 лет, 4 месяца назад пользователем Inngrid.
    • Ответ изменён 5 лет, 4 месяца назад пользователем Inngrid.

    Хочу на странице Статьи вывести анонсы записей в категории «Статьи» с картинками.
    И чтобы анонсы выводились по 10 штук на страницу, с разбивкой на страницы, т.к. статьи будут добавляться.

    Что-то вы какой-то велосипед изобретаете. Это базовые возможности WordPress
    http://joxi.ru/Vm6ZlNMCDKRLDm

    • Ответ изменён 5 лет, 4 месяца назад пользователем O.
    • Ответ изменён 5 лет, 4 месяца назад пользователем O.

    Сделала через WP_Query
    код взяла отсюда:
    https://lets-code.ru/php/kak-vyivesti-zapisi-iz-opredelyonnoy-rubriki-v-wordpress/

    <?php
        $id=1; // Идентификатор нужной рубрики
        $n=10;   // Количество выводимых записей
        $recent = new WP_Query("cat=$id&showposts=$n"); //Запрашиваем нужные записи
        while($recent->have_posts()) : $recent->the_post(); //Если они есть, то выводим в цикле
    ?>
    
    <!--здесь выводится миниатюра записи-->
    <div class="thumbnail"><?php the_post_thumbnail(array(150,150));?></div>
    <div class="announce">
    <!--в этой строке выводится название статьи, анонос и ссылка на неё-->
    <h2 class="articleheader"><a href="<?php the_permalink(); ?>"><?php the_title(); ?></a></h2>
    <?php the_excerpt() ?>&nbsp;<a href="<?php the_permalink(); ?>">Читать далее</a>
    </div>
    
    <?php endwhile; //Конец цикла вывода
    the_posts_pagination( array(
    		'mid_size' => 2,
    		'prev_text' => __( '&laquo; Prev', 'basic'),
    		'next_text' => __( 'Next &raquo;', 'basic'),
    	) );
     ?>

    Пагинация не выводится.
    С кодом плагина page-navi тоже не выводится (плагин установлен)

    Хочу на странице Статьи вывести анонсы записей в категории «Статьи» с картинками.

    На СТРАНИЦЕ не выводятся рубрики (а не категории). У рубрик есть свои архивные виртуальные «страницы», за вывод которые отвечают шаблоны рубрик.

    В указанной же теме на архивной странице рубрики — по умолчанию итак есть то, что Вы хотите: http://themes.wp-puzzle.com/basic/ru/featured-images
    Поэтому совершено не понятно чего Вы добиваетесь и зачем читаете всякое.

    Что-то вы какой-то велосипед изобретаете. Это базовые возможности WordPress
    http://joxi.ru/Vm6ZlNMCDKRLDm

    не знаю, я может что не так делаю?
    Я создала категорию для записей Статьи.
    Отдельными записями создаю статьи.
    Затем создала страницу Статьи, для которой сделала шаблон с кодом вывода анонсов.
    И там вот пагинация не выводится.

    Или можно как-то иначе вывести на страницу анонсы записей из категории? без создания шаблона страницы?
    гугленье даёт только такой вариант.
    или плагины

    Поэтому совершено не понятно чего Вы добиваетесь и зачем читаете всякое.

    Почти офтоп. Не первый раз замечаю тех, кто еще не разобравшись в основах, азах WP начинает его «усовершенствовать» с помощью «всемогущего гугления». 🙂

    В указанной же теме на архивной странице рубрики — по умолчанию итак есть то, что Вы хотите: http://themes.wp-puzzle.com/basic/ru/featured-images
    Поэтому совершено не понятно чего Вы добиваетесь и зачем читаете всякое.

    и как же мне тогда вывести анонсы записей рубрики?
    я что-то не понимаю

    • Ответ изменён 5 лет, 4 месяца назад пользователем Inngrid.

    и как же мне тогда вывести анонсы статей рубрики?

    Да они в этой теме сами выводятся в том виде в каком Вы хотите.

    1.Я создала категорию для записей Статьи.
    2.Отдельными записями создаю статьи.
    3.Затем создала страницу Статьи,

    Вот третьего не надо было делать! Каждую запись надо присоединить к категории «Статьи». И тогда сама собой появится страница (архив) категории «Статьи». Её url будет:
    ваш сайт/category/статьи

    Короче говоря вам не «гуглить надо» а вот с этого начать

    • Ответ изменён 5 лет, 4 месяца назад пользователем O.

    Затем создала страницу Статьи

    Не нужно этого делать (и шаблонов не нужно создавать)! Просто переходите в созданную РУБРИКУ с таким названием.
    См https://ru.wordpress.org/support/topic/%D0%97%D0%B0%D0%BF%D1%83%D1%82%D0%B0%D0%BB%D0%B0%D1%81%D1%8C-%D1%81%D0%BE%D0%B2%D1%81%D0%B5%D0%BC-%D1%87%D1%82%D0%BE-%D0%BF%D0%B5%D1%80%D0%B2%D0%B8%D1%87%D0%BD%D0%BE/#post-155549

    Каждую запись надо присоединить к категории «Статьи». И тогда сама собой появится страница (архив) категории «Статьи». Её url будет:
    ваш сайт/category/статьи

    Методом тыка выяснила, что анонсы записей из рубрики статьи выводятся по адресу
    http://blog.astrofortuna.ru/stati/ (без category). Это даже хорошо, т.к. это category в url’e мне не нужно. И даже пагинация внизу есть.
    Но тут возникают две проблемы:
    1) переход на 2 страницу пагинации всё равно не работает: выдаёт 404 ошибку.
    2) Мне не нравится тайтл:
    <title>Архивы Статьи по астрологии — Astrofortuna.ru</title>
    Как убрать оттуда слово Архивы? Где в коде оно прописывается?

    Но тут возникают две проблемы:
    1) переход на 2 страницу пагинации всё равно не работает: выдаёт 404 ошибку.
    2) Мне не нравится тайтл:
    <title>Архивы Статьи по астрологии — Astrofortuna.ru</title>
    Как убрать оттуда слово Архивы? Где в коде оно прописывается?

    Разобралась!
    2) Настраивается в плагине Yoast Seo:
    SEO -> Отображение в поисковой выдаче -> Таксономии.
    Убрала там в SEO-заголовке слово Архивы.
    1) Там же в блоке URL рубрик передвинула слайдер Удалить префиксы рубрик с Оставить на Убрать.
    Теперь пагинация заработала.

    Большое всем спасибо за подсказки!

    • Ответ изменён 5 лет, 4 месяца назад пользователем Inngrid.

    (без category)

    Это уже работа СЕОплагинов.

    Это даже хорошо, т.к. это category в url’e мне не нужно

    А это напрасно. Рекомендую не ломать «естественные» правила ЧПУ.

    По Вашей теме рекомендую документацию и в частности список экшенов.
    Не забывайте что все изменения нужно делать в дочерней теме.
    А обновлять с предельной осторожностью. Я уже сталкивался, когда в эту тему были внесены такие изменения, что поломали внешний вид. Разработчики с какого-то бодуна решили переименовать css-классы.

Просмотр 14 ответов — с 1 по 14 (всего 14)
  • Тема «Не выводится пагинация на странице категории записей» закрыта для новых ответов.