从父评论ID中获取所有子评论ID

时间:2015-10-11 作者:Ravi Shakya

我想从父注释id获取所有子注释id。我必须编写自定义sql还是可以使用get\\u comments()来实现以下输出。

例1

我想从父id 1获取2,3,4,5,6,7,8 id。

|- 1 (parent comment)
|-- 2 ( child of 1)
|--- 3 ( grand child )
|-- 4 ( child of 1)
|--- 5 ( grand child )
|---- 6 ( grand grand child )
|----- 7 ( grand grand grand child )
|------ 8 ( grand grand grand grand child )
例2

我想从父id 4获取5,6,7,8个注释id。

|- 1 (parent comment)
|-- 2 ( child of 1)
|--- 3 ( grand child )
|-- 4 ( child of 1)
|--- 5 ( grand child )
|---- 6 ( grand grand child )
|----- 7 ( grand grand grand child )
|------ 8 ( grand grand grand grand child )

2 个回复
SO网友:Des79

我找到这篇文章是因为我在寻找类似的解决方案。

正如Captain47所建议的那样,使用父参数get\\u comments将不起作用,因为它只返回1级嵌套注释。

要获得无限制的嵌套,需要将层次结构参数用作:

           $args = array(
            \'parent\' => $comment_ID,
            \'hierarchical\' => true,
           );
        $questions = get_comments($args);
参考号:https://codex.wordpress.org/Class_Reference/WP_Comment_Query

SO网友:Arun Basil Lal

对于任何试图找到此项的其他人:

这可以使用的$parent参数完成get_comments.

下面是假定$parent\\u comment\\u id是父注释的id的代码。

$childcomments = get_comments(array(
    \'post_id\'   => get_the_ID(),
    \'status\'    => \'approve\',
    \'order\'     => \'DESC\',
    \'parent\'    => $question->comment_ID,
));
现在$childcomments将有一个对象,其comment\\u ID作为注释的ID。请参阅\'Returns\' 有关详细信息,请参阅get\\u comment。

希望这有助于其他人搜索此。

相关推荐

高级WP查询占用了SQL服务器

我最近为一位房地产经纪人的客户开发了一个网站。项目中包含一个名为listing. 此帖子类型用于他们的所有列表,其他信息存储在postmeta 表通过使用Advanced Custom Fields Pro.在网站的前端,我开发了一个过滤栏,用户可以通过几个过滤器进行选择并提交表单,然后生成一个复杂的WP\\u查询以返回匹配的列表。很简单!虽然大多数搜索都工作得很好,但一些更复杂的搜索将生成占用线程的SQL查询。当数据库需要刷新堆积的所有内容时,服务器基本上会冻结,直到有人终止进程。这在所有环境中都会发生