分页在本地工作,但不在远程主机上

时间:2016-01-14 05:51:35

标签: php wordpress pagination

我的WordPress网站中的帖子分页在开发环境中运行良好,但它不能在远程主机上运行。

将帖子总数除以页面有效,但 next 按钮仅停止参考第1页

以下代码在开发环境中有效但在远程主机上没有问题?

<?php
    $paged = is_front_page() ? get_query_var('page') : get_query_var('paged');
    query_posts('posts_per_page=3&paged=' . $paged);
?>
<?php if (have_posts()): ?>
    <?php while (have_posts()): ?>
        <?php the_post(); ?>
        <div class="post">
            <a href="<?php the_permalink(); ?>"><?php the_title(); ?></a>
            <?php if (is_singular() && get_option('thread_comments')) wp_enqueue_script('comment-reply'); ?>
            <div class="entry">
                <div class="SinglePost">
                    <a href="<?php the_permalink(); ?>">
                        <?php
                            if (has_post_thumbnail()) {
                                echo ('<div class="HomeThumbnails">');
                                $image_src = wp_get_attachment_image_src(get_post_thumbnail_id() , 'full');
                                echo '<img src="' . $image_src[0] . '"width="100%"' . 'style="border-radius:20px;height:200px;" />';
                                echo ("</div>");
                            } 
                        ?>
                    </a>
                    <div class="HomePost">
                        <?php the_content(); ?>
                    </div>
                </div>
            </div>
        </div>
    <?php endwhile; ?>

<div class="navigation">
    <?php posts_nav_link(); ?>
</div>

1 个答案:

答案 0 :(得分:1)

这里有两个重要的事情:

  • 永远不要使用query_posts,它会破坏所有页面功能,因为它会破坏主查询对象。它也很慢并重新运行SQL查询。总而言之,这只是运行自定义查询的一种可怕方式。而是使用WP_Query来运行自定义查询。 Here是如何使用分页运行自定义查询的示例。

  • WordPress 4.4.1中有一个错误(请参阅trac ticket #35365 ),静态首页上的get_query_var( 'page' )会返回0。根据链接的trac票证,它将在下次更新时修复。链接中还有一个补丁,您可以使用该补丁,直到下一个版本