在当前页面上显示帖子数量和数量

时间:2014-07-26 作者:Dean Elliott

我知道如何显示网站中的帖子总数,但有没有办法显示你所在页面上显示的帖子数?

例如,我想在我的每个博客页面的底部显示这一点(每页8篇文章);

Index - "Showing posts 1 through 8 of 294 total"
Page2 - "Showing posts 9 through 17 of 294 total"
Page3 - "Showing posts 18 through 26 of 294 total"
如果这有所不同,帖子将按时间顺序显示。

这可能吗?

3 个回复
最合适的回答,由SO网友:karpstrucking 整理而成

这应该可以,但我还没有测试它:

global $wp_query;
$page = ( get_query_var(\'paged\') ) ? get_query_var(\'paged\') : 1;
$ppp = get_query_var(\'posts_per_page\');
$end = $ppp * $page;
$start = $end - $ppp + 1;
$total = $wp_query->found_posts;
echo "Showing posts $start through $end of $total total.";

SO网友:Ben

因为我现在正在这样做,所以我测试了最后一个解决方案,除了最后一页之外,它都能正常工作。

现在正在运行并经过测试:

global $wp_query;
$page = ( get_query_var(\'paged\') ) ? get_query_var(\'paged\') : 1;
$ppp = get_query_var(\'posts_per_page\');
$end = $ppp * $page;
$start = $end - $ppp + 1;
$total = $wp_query->found_posts;
if ($end > $total)
  $end = $total;

SO网友:thenomadicmann

@karpstrucking非常接近,但如果找到的帖子数量小于每页允许的帖子数量,您将回显一条消息,如;显示总共9篇文章中的第1篇到第12篇;。为防止出现这种情况,应将代码更新为如下内容:

    global $wp_query;
    $page = ( get_query_var(\'paged\') ) ? get_query_var(\'paged\') : 1;
    $ppp = get_query_var(\'posts_per_page\');
    $total = $wp_query->found_posts;
    $end = $ppp * $page;
    $start = $end - $ppp + 1;

    if( $ppp > $total ) {
        $results_summary_html = \'<p>Showing \' . $total . \' out of \' . $total;
    } else if( $end > $total ) {
        $results_summary_html = \'<p>Showing \' . $start . \'-\' . $total . \' out of \' . $total;
    } else {
        $results_summary_html = \'<p>Showing \' . $start . \'-\' . $end . \' out of \' . $total;
    }

结束

相关推荐

Stop duplicate posts

我有三个循环,我想阻止他们在每个循环中显示相同的帖子。任何帮助都将不胜感激<?php $i; $args = array( \'numberposts\' => 8); $posts= get_posts( $args ); if ($posts) { foreach ( $posts as $i => $post ) { setup_postdata($post);