Showposts 30但每页10

时间:2015-07-08 11:42:51

标签: php wordpress

我现在已经在每个页面10 posts上显示了这段代码,但我知道我仍然想要相同但总共最多的帖子只能是30

我该怎么做?

 <?php query_posts('showposts=10&paged='.$paged);?> 

2 个答案:

答案 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";
                }
            }
         }