Страница, отображающая указанную категорию c, имеет проблему разбиения на страницы - PullRequest
0 голосов
/ 05 апреля 2020

У меня есть клиент, у которого есть веб-сайт Stati c WordPress с блогом.

Основная страница блога (home. php) прекрасно работает с нумерацией страниц.

Примечание : я использую WP-PageNavi, чтобы сделать нумерацию страниц для меня.

Я также создал настраиваемую страницу шаблона, которая отображает сообщения из определенной категории c (рецепты) , Код нумерации страниц на этой странице работает неправильно. Должно быть доступно две страницы, и это только показывает, что есть одна.

Я знаю, что проблема в том, что мне нужно настроить код для нумерации страниц на странице рецепта, но я действительно не знаю, что делать.

Это ссылка на страницу блога рецепта (категории): www.aphrodisiacsexpert.com/aphrodisiacs-expert-blog/aphrodisiac-recipes/

Вот код, который отображает страницу с сообщениями блога рецептов вместе с его разбиение на страницы:

            <?php
            $paged = (get_query_var( 'paged' )) ? get_query_var( 'paged' ) : 1;
            $args = array(
                'post_type' => 'post',
                'post_status' => 'publish',
                'order'=> 'DESC', 
                'orderby' => 'post_date', 
                'category_name' => 'Recipes',
                'posts_per_page' => 9,
                'paged' => $paged,
            );
            $postslist = get_posts( $args );
            foreach ($postslist as $post) :  setup_postdata($post); ?> 
                <div class="col-lg-4 col-md-4 col-sm-6 col-xs-12 home-blog-list" style="float: left; display:block">                
                    <center>
                      <div class="img-responsive box-shadow shadow-effect" style="">
                        <a href="<?php the_permalink(); ?>"><?php the_post_thumbnail(); ?></a>
                      </div>
                      <h3 class="entry-title script" style="text-align: center;">
                        <a class="entry-title-link" href="<?php the_permalink(); ?>"><?php the_title(); ?>
                        </a>
                      </h3>
                    <center>
                </div>
            <?php endforeach; ?>
            <?php wp_pagenavi(); ?>

Может кто-нибудь дать мне несколько идей о том, как решить эту проблему?

Спасибо, SunnyOz

1 Ответ

0 голосов
/ 08 апреля 2020

После многих часов исследований я наконец нашел один вопрос, похожий на мой (из 10 лет go), с отличным решением. Его можно найти здесь: https://wordpress.stackexchange.com/questions/4696/pagination-not-working-with-custom-loop.

Ответ, который мне помог, был предоставлен @ChowKaiDeng (комментарий @Jan Fabry и оригинальный код @nurain)

Я решил опубликовать ответ здесь, чтобы показать, что решение все еще работает в 2020 году с текущей версией Wordpress и плагином WP-PageNavi. (Проблема, похоже, связана с PageNavi и переменной $ wp_query.)

Вот мой код, обновленный с помощью рабочего решения:

        <?php
        $paged = (get_query_var('paged')) ? get_query_var('paged') : 1;
        $myquery = new WP_Query(
            array(
                'posts_per_page' => '9',
                'paged'=>$paged,
                'post_type' => 'post',
                'post_status' => 'publish',
                'order'=> 'DESC', 
                'orderby' => 'post_date', 
                'category_name' => 'Recipes',
            )   
        );  
        ?>

        <?php
        if ($myquery->have_posts()) :  while ($myquery->have_posts()) : $myquery->the_post();
        ?>

        <!-- Start your post -->

            <div class="col-lg-4 col-md-4 col-sm-6 col-xs-12 home-blog-list" style="float: left; display:block">                
                <center>
                  <div class="img-responsive box-shadow shadow-effect" style="">
                    <a href="<?php the_permalink(); ?>"><?php the_post_thumbnail(); ?></a>
                  </div>
                  <h3 class="entry-title script" style="text-align: center;">
                    <a class="entry-title-link" href="<?php the_permalink(); ?>"><?php the_title(); ?>
                    </a>
                  </h3>
                <center>
            </div>

        <!-- End of your post -->

        <?php endwhile; ?>
        <?php wp_pagenavi( array( 'query' => $myquery ) ); ?><!-- IMPORTANT: make sure to include an array with your previously declared query values in here -->
        <?php wp_reset_query(); ?>
        <?php else : ?>
        <p>No posts found</p>
        <?php endif; ?>         
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...