首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >展示30篇,但每页10篇

展示30篇,但每页10篇
EN

Stack Overflow用户
提问于 2015-07-08 11:42:50
回答 2查看 100关注 0票数 0

我现在要在每一页10 posts上显示这段代码,但我知道我想要的仍然是相同的,但是总发帖的最大值只能是30

我该怎么做?

代码语言:javascript
复制
 <?php query_posts('showposts=10&paged='.$paged);?> 
EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2015-07-08 13:45:52

这是要显示post的代码:

代码语言:javascript
复制
<?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; ?>

这是页脚,您需要在其中显示分页。

代码语言:javascript
复制
<?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>
票数 2
EN

Stack Overflow用户

发布于 2015-07-08 13:12:19

你应该使用wp_query检索这些帖子,就像Pieter说的那样,效率更高。此外,wp_query有一个名为$max_num_page的属性,您可以使用它来限制获得的页面数。

您可以将分页修改为如下内容:

代码语言:javascript
复制
        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";
                }
            }
         }

我还找到了this question。这段代码似乎有效,您不需要更改当前的任何代码:

代码语言:javascript
复制
add_filter('pre_get_posts', 'limit_pages');
function limit_pages($query) {

    $query->max_num_pages = 3;
    if ($query->query_vars['paged'] > 3) {
        $query->query_vars['paged'] = 3;
        $query->query['paged'] = 3;
    }

    return $query;
}
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/31291625

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档