Php 如何使用自定义循环显示分页?

Php 如何使用自定义循环显示分页?,php,wordpress,posts,Php,Wordpress,Posts,我一整天都在断断续续地寻找解决我问题的办法。由于某些原因,我无法使分页与此循环正常工作。起初我使用的是“查询帖子”,这种方式很有效。。尽管每页都有相同的帖子。这是我的密码 <?php $paged = (get_query_var('paged')) ? get_query_var('paged') : 1; $args = array( 'cat' => '319',

我一整天都在断断续续地寻找解决我问题的办法。由于某些原因,我无法使分页与此循环正常工作。起初我使用的是“查询帖子”,这种方式很有效。。尽管每页都有相同的帖子。这是我的密码

<?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(); ?>

所以,这最终对我有效。有人能确切地向我解释一下为什么这是可行的,而我的原始代码却没有

$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; ?>
$page=(获取查询变量('paged'))?获取查询变量('paged'):1;
$temp=$wp\u查询;
$wp_query=null;
$wp_query=新的wp_query();
$wp_query->query('cat=319&posts_per_page=10'.&paged='.$paged);
而($wp_query->have_posts()):$wp_query->the_post();?>

在关闭if语句之前,您是否尝试过直接跳转下一个/上一个链接?我确实尝试过,但这是不可能的……如果您的代码中有错误,我看不到。找到了多少个帖子?还有,分页到底有什么不起作用?没有显示,没有写入正确的页面,还有其他什么?它是查找我指定要显示的帖子数量,不管我将其更改为什么数量。至于不起作用的内容,没有显示分页链接。。只有邮局。然而,我找到了一个可行的解决方案。
$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; ?>