如何在循环中使用全局POST计数器?

时间:2015-04-27 作者:KingStakh

在循环中使用此代码

<?php $count = $wp_query->current_post;  echo $count; ?>
在第一页上,post计数从0到14,但在第二页上,post计数从0到14到。如何使用全局计数器在第二个从15到29,第三个从30到44上计数。。。

1 个回复
最合适的回答,由SO网友:Pieter Goosen 整理而成

正如我在评论中所说的,

您需要使用get_option( \'posts_per_page\' )get_query_var( \'paged\' ) 计算您的帖子编号

您可以执行以下操作:(我对代码进行了注释,使其易于理解。这将进入函数。php)

function get_post_number()
{
    global $wp_query;

    /*
     * Get current page number. Set page 1 to one as get_query_var( \'paged\' ) will be 0
     */
    $current_page_number   = get_query_var( \'paged\' ) ? get_query_var( \'paged\' ) : 1;
    /* 
     * Get the posts_per_page option that is set under "Reading"
     */
    $posts_per_page        = get_option( \'posts_per_page\' );
    /*
     * Get the current post position in the loop, add 1 because the counter starts at 0
     */
    $current_post_position = $wp_query->current_post + 1;

    /*
     * If this is page one, return the post position as is
     */
    if ( $current_page_number == 1 )
        return $current_post_position;

    /*
     * Calculate the post number on paged pages
     */
    return ( $posts_per_page * ( $current_page_number - 1 ) ) + $current_post_position;
}
然后,您可以在模板中按如下方式使用它来显示正确的帖子编号(您需要使用这个inside 回路

echo get_post_number();

结束

相关推荐

Modify text after post count

在我的归档页面上,我列出了带有帖子计数的类别。我修改了post count,删除了括号,将括号括在一个向右浮动的范围内,并在每次post count后加上“Entries”一词。但我希望计数后的文本更改为只有一篇文章的类别(即“条目”而不是“条目”)。我当前的代码是:<?php $variable = wp_list_categories(\'title_li=&echo=0&show_count=1\'); $variable = str_replace( \'(\