当您使用paged
在单个帖子上,它检查的是分页的帖子,而不是一页一页的帖子。因为你的主题没有分页内容,所以它假设这是一个错误,并重定向到主题的“第一”页,远远早于你的自定义循环。因此,在这种情况下,paged
总是以1的形式返回。作为一种解决方法,我会为这个主题注册一个EP Permalink。类似这样:
add_rewrite_endpoint( \'tpage\', EP_PERMALINK );
然后,而不是检查
get_query_var( \'paged\' );
, 检查
get_query_var( \'tpage\' );
并将其值传递给自定义查询。设置重写端点意味着所有永久链接都与
EP_PERMALINK
位掩码(您的主题兼容)将接受
/tpage/XXXX
结构添加到url的末尾,其中XXXXX可以是您想要的任何内容(在本例中,您希望将其转换为整数,可能是绝对值)。
编辑这样的内容应该可以为您提供分页链接数组:
$links = paginate_links(array(
\'base\' => trailingslashit( get_permalink( $temp->post->ID ) ) . \'%_%\',
\'format\' => \'tpage/%#%\',
\'type\' => \'array\'
));
从那里,你可以做这样的事情:
<div class="page-navi clear-block">
<?php foreach( $links as $link ){
if( false !== strpos( $link, " class=\'page-numbers\'" ) )
$link = str_replace( " class=\'page-numbers\'", " class=\'page page-numbers\'", $link );
echo $link;
} ?>
</div>
我敢肯定,这会为链接提供相同的样式和“当前”样式。