在index.php中仅显示父回复计数

时间:2013-04-10 作者:Yusuf Alii

当前我的帖子显示评论总数(即回复和子评论)。

我只想显示索引中的回复计数。每个帖子的php(而不是回复评论),即comment\\u parent=0

我尝试过不同的密码,但没有成功。最好的方法是什么?

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

基于this answer 我建议使用以下代码:

// the theme\'s functions.php

/**
 * Get the number of top level comments for a post.
 *
 * @param  int $post_id
 * @return int
 */
function wpse_95242_top_level_comments_for_post( $post_id = NULL )
{
    if ( NULL === $post_id )
        $post_id = get_the_ID();

    if ( ! $post_id )
        return 0;

    add_filter( \'comments_clauses\', \'wpse_95242_where_top_comments_only\' );

    $comments = get_comments(
        array (
            \'post_id\' => $post_id
        )
    );

    remove_filter( \'comments_clauses\', \'wpse_95242_where_top_comments_only\' );

    if ( ! $comments )
        return 0;

    return count( $comments );
}

/**
 * Filter comment query for top level comments.
 *
 * @wp-hook comments_clauses
 * @param   array $clauses
 * @return  array
 */
function wpse_95242_where_top_comments_only( $clauses )
{
    $clauses[\'where\'] .= \' AND comment_parent = 0\';
    return $clauses;
}
在循环中,对每个项调用函数:

printf(
    __( \'%d top level comments\', \'theme_text_domain\' ),
    wpse_95242_top_level_comments_for_post()
);

结束

相关推荐

force login loophole

我想限制对WordPress网站的访问,只允许注册用户访问。我尝试了以下插件:它们都有相同的问题:在看到登录页面后,您可以轻松地在浏览器地址栏中重新键入URL,以绕过登录屏幕,直接访问主页,而无需登录。只有主页可以通过这种方式访问。单击任何菜单,将返回登录屏幕。我怀疑我的网站有问题,而不是插件有问题。我有以下活动插件:高级自定义字段Akismet分析360自定义帖子模板登录重定向选择问题(&L);A-WordPress问答插件原始HTML Relevanssi版本控制快速类型搜索(Swiftype Sea