GET_COMMENTS不适用于自定义帖子类型

时间:2014-09-07 作者:Bernie

我正在尝试获取登录用户在“foods”CPT中的所有评论,但仍然没有成功。

这是我的代码:

<?php
$args = array(
        \'user_id\' => $user->ID,
        \'post_type\' => \'foods\', // when I removed this, the list only showed the comments left on posts but not on Foods CPT
        );

    $comments = get_comments( $args );

    if ( $comments )
    {
        $output.= \'<ul>\';
        foreach ( $comments as $c )
        {
        $output.= \'<li>\';
        $output.= \'<a href="\'.get_comment_link( $c->comment_ID ).\'">\';
        $output.= get_the_title($c->comment_post_ID);
        $output.= \'</a>, Posted on: \'. mysql2date(\'m/d/Y\', $c->comment_date, $translate);
        $output.= "</li>\\n";
        }
        $output.= \'</ul>\';



        echo $output;


    } else { echo "<p>No comments yet.</p>";}
?>
尽管我是用户,在Foods CPT中评论帖子,但此代码不返回任何评论。另外,当我删除post\\u类型行时,它没有显示我所做的所有评论,而是只显示我在post上留下的评论,而不是在Foods CPT上留下的评论。

我通过WP类型创建了CPT,但为了确保不是插件造成了问题,我在函数文件中手动创建了另一个CPT,并对我在那里创建的帖子发表了评论。尽管如此,我在CPT中的评论并没有显示出来。

这背后可能有什么问题?

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

出于某种原因,\'user_id\' => $user->ID, 无法工作,因为我没有将global current\\u user设置为on。前三行应替换为以下内容:

<?php
$args = array(
        \'user_id\' => get_current_user_id(),
现在开始工作:)

结束

相关推荐

以数组形式返回PAGINATE_COMMENTS_LINKS()

这个documentation 指定:类型(字符串)(可选)控制返回值的格式。可能的值包括:“普通”-链接由换行符分隔的字符串</“数组”-分页链接列表的数组,可完全控制显示为了将推特引导分页样式添加到wordpress评论分页中,我希望返回是一个数组。当我在通话中添加$args时,我得不到任何回报。我的代码:<ol class=\"commentlist\" style=\"list-style: none;\"> <?php wp_list_comments(\