首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >使用WP查询在wordpress中显示最新的100篇文章,每页5篇文章

使用WP查询在wordpress中显示最新的100篇文章,每页5篇文章
EN

Stack Overflow用户
提问于 2020-03-06 17:55:12
回答 2查看 2K关注 0票数 1

我的网站有5000多个帖子,我正试图在一个单独的页面上显示最新的100个帖子与分页(每页5个帖子)。

代码语言:javascript
复制
<?php
$paged = ( get_query_var( 'paged' ) ) ? get_query_var( 'paged' ) : 1;
$args = array(
'post_type' => 'post',
'posts_per_page' => 5,
'paged' => $paged
);
$wp_query = new WP_Query($args);
if( $wp_query->have_posts() ) : 
while( $wp_query->have_posts() ) : $wp_query->the_post();
get_template_part( 'template-parts/content', get_post_type() );
endwhile;
the_posts_navigation(); 
wp_reset_postdata();
else :
get_template_part( 'template-parts/content', 'none' );
endif;
?>

我使用上面的代码,每页显示5个帖子,但我可以找到一种方法来限制总帖子计数为100。我浏览了各种博客文章和各种SO帖子,但都找不到任何解决方案。

有几个帖子说,使用“数字帖子”=> 100会有所帮助。但这也没有帮助。我正在寻找一个解决方案使用普通的the_posts_navigation();因为我正在使用无限滚动插件加载滚动上的帖子。提前谢谢。

EN

回答 2

Stack Overflow用户

发布于 2020-03-06 18:15:55

希望这对你有帮助。

代码语言:javascript
复制
<?php
$paged = (get_query_var('paged')) ? get_query_var('paged') : 1;

$args = array(
    'post_type'=>'post',
    'posts_per_page' => 5,
    'paged' => $paged,
);

$loop = new WP_Query( $args );
if ( $loop->have_posts() ) {
    while ( $loop->have_posts() ) : $loop->the_post();
        get_template_part( 'template-parts/content', get_post_type() );        
    endwhile;

    $total_pages = $loop->max_num_pages;

    if ($total_pages > 1){

        $current_page = max(1, get_query_var('paged'));

        echo paginate_links(array(
            'base' => get_pagenum_link(1) . '%_%',
            'format' => '/page/%#%',
            'current' => $current_page,
            'total' => $total_pages,
            'prev_text'    => __('< Previous'),
            'next_text'    => __('Next >'),
        ));
    }    
}
wp_reset_postdata();
?>
票数 2
EN

Stack Overflow用户

发布于 2020-03-06 18:06:29

您可以按如下方式计算限制:

代码语言:javascript
复制
$paged = ( get_query_var( 'paged' ) ) ? get_query_var( 'paged' ) : 1;
$args = array(
'post_type' => 'post',
'posts_per_page' => 5,
'paged' => $paged
);
if($args['posts_per_page'] * $args['paged'] <= 100){
    $wp_query = new WP_Query($args);
    if( $wp_query->have_posts() ) : 
    while( $wp_query->have_posts() ) : $wp_query->the_post();
    get_template_part( 'template-parts/content', get_post_type() );
    endwhile;
    the_posts_navigation(); 
    wp_reset_postdata();
    else :
    get_template_part( 'template-parts/content', 'none' );
    endif;
}
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/60561592

复制
相关文章

相似问题

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