是否在寻呼时跳过5个最新帖子?

时间:2011-03-27 作者:AboSami

index.php 第页,我需要跳过5篇帖子(博客中的最后5篇帖子)。

我使用the WP-Paginate plugin, 但所有页面都显示相同的内容。我正在使用offset=5, 这是我的代码:

<?php  $paged = (get_query_var(\'paged\')) ? get_query_var(\'paged\') : 1;?>
<?php   $additional_loop = new WP_Query("offset=5&paged=".$paged);  
        if ($additional_loop->have_posts()) :

        while ($additional_loop->have_posts()) : $additional_loop->the_post();
        the_title();?><br/>
        <?php the_content();?>
        <?php endwhile;endif;?>
        <?php if(function_exists(\'wp_paginate\')) {
    wp_paginate(\'range=4&anchor=2&nextpage=Next&previouspage=Previous\');
} ?>

1 个回复
SO网友:Jan Fabry

您可以指定paged 用于简单分页,或offset if you want to do something special. 自己计算偏移量很容易:只需将当前页码(减去2)乘以每页的帖子数,然后添加起始偏移量:

$paged = (get_query_var(\'paged\')) ? get_query_var(\'paged\') : 1;
$posts_per_page = get_option( \'posts_per_page\' ),
$additional_loop = new WP_Query( array(
    \'offset\' => ( $paged - 2 ) * $posts_per_page + 5,
) );
我看到你用wp_paginate(), 但此函数不知道您正在使用其他查询will read the global $wp_query object 要获取当前页面和总页数,除非您自己传递这些值:

wp_paginate( array(
    \'range\' => 4,
    \'anchor\' => 2,
    \'nextpage\' => \'Next\',
    \'previouspage\' => \'Previous\',
    \'page\' => $paged,
    \'pages\' => intval( ceil( $additional_loop->found_posts / $posts_per_page ) ),
) );
这是一个额外的循环,所以这个页面上还有一个“正常”循环?请注意,这不会混淆分页,因为WordPress也会尝试对该循环分页,如果循环已用完,则返回404,这可能是在您到达最后一页之前。尝试仅在主循环中进行分页,使用pre_get_posts

结束

相关推荐

如何在_loop上跟踪帖子编号

我需要从循环中自定义一些帖子<交易如下:我的网站设置为每页10篇帖子。在帖子#2、#5、#7(每页)上,我想显示特定的背景。这种问题的最佳解决方案是什么?