Get_Comments_Number()返回0

时间:2017-07-03 作者:Deka87

我正在自定义具有以下代码的主题以显示注释:

if ( have_comments() ) : ?>
    <h2 class="comments-title">
        <?php
            printf( // WPCS: XSS OK.
                esc_html( _nx( \'One thought on &ldquo;%2$s&rdquo;\', \'%1$s thoughts on &ldquo;%2$s&rdquo;\', get_comments_number(), \'comments title\', \'kadabra\' ) ),
                number_format_i18n( get_comments_number() ),
                \'<span>\' . get_the_title() . \'</span>\'
            );
        ?>
    </h2>
但是,它始终显示以下内容:

0 thoughts on “Post title”
尽管我有几点意见if ( have_comments() ) : 零件通过。有什么想法吗?

PS:wp\\U调试已启用,并且未显示任何错误。

2 个回复
SO网友:Rarst

快速查看来源,似乎有三种可能性:

  1. get_post() 返回了falsy值,因此当前的post上下文在某种程度上无效
  2. $post->comment_count0.
  3. get_comments_number 过滤器用于调整输出
最常见的情况是案例1/2中的某个内容干扰了全局post上下文,dumpget_post() 然后查看它是否包含预期的实例。

SO网友:Mantas Lukosevicius

可能发生的情况是,您没有批准管理面板中的评论。

当您只有“待定”的注释时,您仍然会通过have_comments(), 但这些评论不算在内。

结束

相关推荐

如果输入字段具有值,则需要另一个字段-PHP

FORM - http://hoffwebsites.com/CBENT/registration_form.php我有一张家长注册学生的表格。可以选择注册另一个孩子。我需要做的是,如果一个家长注册了另一个孩子Student\'s Full Name 填写(名称twosfn) 然后Hebrew Name 是必需的(名称twohn).这是我邮件脚本中的PHP代码。if ($_POST[\'twosfn\']==\"TRUE\" && $_POST[\"twohn\"] == \"\") &#