Single.php类别帖子计数

时间:2014-07-16 作者:Josh Rodgers

我的单曲中有以下代码。php文件:

<?php 
    if ( have_posts() ) : 
        while ( have_posts() ) : the_post(); 
            next_post_link(\'%link\', \'Next\', TRUE); 
            previous_post_link(\'%link\', \'Previous\', TRUE);

            the_title(); 
            the_content(); 

        endwhile; 
    endif; 
?>
我想做的是计算一个类别中的帖子数量,并使用next_post_linkprevious_post_link 链接以浏览它们,然后显示计数。

因此,如果该帖子是该类别中的第二个帖子,那么输出就会像(第2个帖子,共20个帖子),如果是第三个帖子,那么输出就会像(第3个帖子,共20个帖子),以此类推。

感谢您的帮助或指导:-)

谢谢,乔希

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

好啊

这是一个由两部分组成的问题,第一部分:

我想做的是计算一个类别中的帖子数量,并使用next_post_linkprevious_post_link link 浏览它们,然后显示计数。

我所做的是安装Smarter Navigation plugin

然后将以下内容用于我的上一个和下一个链接:

next_post_smart("%link", "Next", TRUE);
previous_post_smart("%link", "Previous", TRUE);

下一部分有点棘手。。。

第2部分:

因此,如果该帖子是该类别中的第二个帖子,那么输出就会像(第2个帖子,共20个帖子),如果是第三个帖子,那么输出就会像(第3个帖子,共20个帖子),以此类推。

现在,为了修复这个问题,我使用了以下函数:

显示并获取帖子编号(这是我发现的经过调整的版本here):

function Get_Post_Number($postID){
    $temp_query = $wp_query;
    $referrer_cat = get_referrer_category();
    $referrer_cat_id = ( is_object( $referrer_cat ) ) ? $referrer_cat->term_id : false;
    $postNumberQuery = new WP_Query(\'cat=\'.$referrer_cat_id.\'&orderby=date&posts_per_page=-1\');
    $counter = 1;
    $postCount = 0;
    if($postNumberQuery->have_posts()) : while ($postNumberQuery->have_posts()) : $postNumberQuery->the_post();
        if ($postID == get_the_ID()) {
            $postCount = $counter;
        } else {
            $counter++;
        }
        endwhile; endif;
    wp_reset_query();
    $wp_query = $temp_query;
    return $postCount;
}
基本上区别在于。。。

我从Smarter Navigation 插件:referrer_catreferrer_cat_id 并将它们添加到我的函数中(函数的第二行和第三行):

$referrer_cat = get_referrer_category();
$referrer_cat_id = ( is_object( $referrer_cat ) ) ? $referrer_cat->term_id : false;
我从我添加到函数中的referer变量中查询当前类别-查看$postNumberQuery (功能开始后的第四条线城镇)在new WP_Query 我补充道\'cat=\'.$referrer_cat_id.\'&

这是:

<?php 
if ( have_posts() ) : 
    while ( have_posts() ) : the_post(); 
        next_post_link(\'%link\', \'Next\', TRUE); 
        previous_post_link(\'%link\', \'Previous\', TRUE); 

        the_title(); 
        the_content(); 

    endwhile; 
endif; 
?>
对此:

<?php 
    if ( have_posts() ) : 

        while ( have_posts() ) : the_post(); 

            $referrer_cat = get_referrer_category();
            $referrer_cat_id = ( is_object( $referrer_cat ) ) ? $referrer_cat->term_id : false;

            next_post_smart("%link", "Next", TRUE);
            previous_post_smart("%link", "Previous", TRUE);

            the_title(); 
            the_content();

        endwhile; 

        $cat = get_category($referrer_cat);
        $count = $cat->count;
        $currentID = get_the_ID(); 
        $current = Get_Post_Number($currentID);

        printf(_( \'Post: %d of %d\' ), $current, $count );

    endif;
?>
因此,在添加了一个插件并结合了我从几个地方获得的一些代码之后,我现在有了一段很好的代码,可以显示位于多个类别中的帖子的下一个和上一个链接,并且我能够在单个类别中显示帖子数量和总帖子数量。php。

我希望这对某人有帮助!

结束

相关推荐

List all blog categories

我已经创建了一个博客插件。我的博客中有博客类别。我想获得所有博客类别的列表,并将其列在我的www.domain中。com/blogs/page。我的博客类别名称为“blogcategory”。我不知道如何在list-category 作用我是wordpress开发的nooby。