Wp_Query中的‘pages’不起作用

时间:2013-11-13 作者:Ehsan

我尝试向我的wordpress博客添加代码以显示以前的帖子(在上一页中)。我尝试了此代码,但不起作用:

<?php
$paged = get_query_var( \'paged\' ) ? get_query_var( \'paged\' ) : 1;
$args = array(
    \'offset\' => 1,
    \'cat\' => -22,
    \'paged\'=>$paged
);
$recent = new WP_Query($args);
while($recent->have_posts()) : $recent->the_post();
// here some code to view
<?php endwhile; ?>
<div class="navigation"><p><?php posts_nav_link(\'&#8734;\',\'next page\',\'previous page\'); ?></p></div>
<?php wp_reset_query(); ?>
它不适用于http://mydomain.com/page/2

1 个回复
最合适的回答,由SO网友:Krzysiek Dróżdż 整理而成

您已设置offset 参数,sopaged 参数被忽略;)

抄本:

偏移(int)-要置换或传递的桩号。警告:设置偏移参数会覆盖/忽略页面

如果要忽略此查询中最近的帖子,可以通过两种方式实现。

1. Custom pagination.

$ppp = get_option(\'posts_per_page\');  // or any other method to get your posts_per_page

$paged = get_query_var( \'paged\' ) ? get_query_var( \'paged\' ) : 1;
$args = array(
    \'offset\' => 1 + ( $paged * $ppp ),
    \'cat\' => -22,
    \'paged\'=>$paged
);

2. Ignore first post

$most_recent_post_id = ...;  // get the ID of most recent post
$paged = get_query_var( \'paged\' ) ? get_query_var( \'paged\' ) : 1;
$args = array(
    \'post__not_in\' => array($most_recent_post_id),
    \'cat\' => -22,
    \'paged\'=>$paged
);

结束

相关推荐

Pagination posts. Url format

我对很长的帖子使用分页。所以我这里有个问题。我对标准的utl结构不满意(在我的项目中,这有几个个人原因)。例如,我有帖子/post.htm 我需要拿到它的第二页/post2.htm 不是/post.htm/2 我确信我不会用slug post2创建帖子/页面我如何才能以这种方式更改标准url?我试过这个add_action( \'init\', \'wpa5413_init\' ); function wpa5413_init() { add_