簡體   English   中英

如何使用自定義循環顯示分頁?

[英]How to display pagination with custom loop?

我整天都在搜尋StackOverflow,以尋找解決問題的方法。 出於某種原因,我無法使用分頁功能來使此循環正常工作。 起初,我使用的是“ query_posts”,雖然每個頁面都有相同的帖子,但這種方法還是有效的。 這是我的代碼...

<?php
                $paged = (get_query_var('paged')) ? get_query_var('paged') : 1;
                $args = array(
                    'cat' => '319',
                    'posts_per_page' => 8,
                    'paged' => $paged
                );
                $loop = new WP_Query( $args );

                if ( $loop->have_posts() ) {
                    /* The Loop */
                    while ( $loop->have_posts() ) {
                        $loop->the_post();
                        // do something
                        echo '<li>';
                        echo '<a class="syncopate" href="';
                        the_permalink();
                        echo '">';
                        the_title();
                        echo '</a>';
                        echo '</li>';
                    }
                } ?>
                <div class="nav-previous alignleft"><?php next_posts_link( 'Older posts' ); ?></div>
                <div class="nav-next alignright"><?php previous_posts_link( 'Newer posts' ); ?></div>
                <?php wp_reset_query(); ?>

看來這應該工作,但是為什么不呢?

這就是在pagination.php中調用的函數。

function html5wp_pagination()
 {
  global $wp_query;
  $big = 999999999;
  echo paginate_links(array(
    'base' => str_replace($big, '%#%', get_pagenum_link($big)),
    'format' => '?paged=%#%',
    'current' => max(1, get_query_var('paged')),
    'total' => $wp_query->max_num_pages
  ));
  }

因此,這最終為我工作。 誰能確切地向我解釋為什么這行得通,而我的原始代碼卻行不通?

$page = (get_query_var('paged')) ? get_query_var('paged') : 1;
                $temp = $wp_query;
                $wp_query = null;
                $wp_query = new WP_Query();
                $wp_query -> query('cat=319&posts_per_page=10'.'&paged='.$paged);
                while ($wp_query->have_posts()) : $wp_query->the_post(); ?>
                    <div class="post">
                        <?php echo '<li>';
                            echo '<a class="syncopate" href="';
                        the_permalink();
                        echo '">';
                                the_title();
                                echo '</a>';
                            echo '</li>'; ?>
                    </div>
                <?php endwhile; // end of the loop. ?>

                <div class="pagenav">
                    <div class="alignleft"><?php previous_posts_link('Previous') ?></div>
                    <div class="alignright"><?php next_posts_link('Next') ?></div>
                </div>

                <?php $wp_query = null; $wp_query = $temp; ?>

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM