我现在已经在每个页面10 posts
上显示了这段代码,但我知道我仍然想要相同但总共最多的帖子只能是30
。
我该怎么做?
<?php query_posts('showposts=10&paged='.$paged);?>
答案 0 :(得分:2)
这是您要显示帖子的代码:
<?php $paged = (get_query_var('paged')) ? get_query_var('paged') : 1;
$args = array( 'post_type' => 'post', 'posts_per_page' => 10,'paged' => $paged);
$loop = new WP_Query( $args );
while ( $loop->have_posts() ) : $loop->the_post();
print_r($post); ?>
<h1> <?php the_post_thumbnail(); ?></h1>
<h2><?php the_title(); ?></h2>
<h3><?php the_content(); ?></h3>
<?php endwhile; ?>
这是您需要显示分页的页脚。
<?php $paged = (get_query_var('paged')) ? get_query_var('paged') : 1; ?>
<?php if($loop->max_num_pages>1){?>
<ul class="pager">
<?php for($i=1;$i<=$loop->max_num_pages; $i++){ ?>
<li><a href="<?php get_permalink();?>page/<?php echo $i; ?>"> <?php echo $i; ?></a></li>
<?php } ?>
</ul>
答案 1 :(得分:0)
你应该使用wp_query来检索帖子,就像Pieter Goosen所说的那样,效率更高。另外wp_query有一个名为$ max_num_page的属性,可用于限制你获得的页数。
您可以将您的分页修改为以下内容:
System.loadLibrary("mylib");
我还找到了this question。此代码似乎有效,您无需更改任何当前代码:
global $wp_query;
if ( $wp_query->max_num_pages > 1 ){
$current_page = max( 1, get_query_var('paged') );
$max_pages = 3;
$args = array(
'base' => @add_query_arg('paged','%#%'),
'format' => '/paged/%#%',
'current' => $current_page,
'total' => $max_pages,
'show_all' => false,
'type' => 'array',
'paged' => 1
);
$pages = paginate_links( $args );
if (is_array($pages)) {
$paged = ( get_query_var('paged') == 0) ? 1 : get_query_var('paged');
foreach( $pages as $page) {
echo "$page";
}
}
}