如何获得具有正确嵌套注释顺序的数组?

时间:2012-09-07 作者:morpe

array (size=10)
  \'comment 0\' =>
    array (size=2)
      \'comment_id\' => string \'22\' (length=2)
      \'parent_of\' => string \'0\' (length=1)
  \'comment 1\' =>
    array (size=2)
      \'comment_id\' => string \'23\' (length=2)
      \'parent_of\' => string \'0\' (length=1)
  \'comment 2\' =>
    array (size=2)
      \'comment_id\' => string \'24\' (length=2)
      \'parent_of\' => string \'0\' (length=1)
  \'comment 3\' =>
    array (size=2)
      \'comment_id\' => string \'25\' (length=2)
      \'parent_of\' => string \'0\' (length=1)
  \'comment 4\' =>
    array (size=2)
      \'comment_id\' => string \'26\' (length=2)
      \'parent_of\' => string \'24\' (length=2)
  \'comment 5\' =>
    array (size=2)
      \'comment_id\' => string \'27\' (length=2)
      \'parent_of\' => string \'22\' (length=2)
  \'comment 6\' =>
    array (size=2)
      \'comment_id\' => string \'28\' (length=2)
      \'parent_of\' => string \'0\' (length=1)
  \'comment 7\' =>
    array (size=2)
      \'comment_id\' => string \'29\' (length=2)
      \'parent_of\' => string \'25\' (length=2)
  \'comment 8\' =>
    array (size=2)
      \'comment_id\' => string \'30\' (length=2)
      \'parent_of\' => string \'29\' (length=2)
  \'comment 9\' =>
    array (size=2)
      \'comment_id\' => string \'31\' (length=2)
      \'parent_of\' => string \'27\' (length=2)
这是一个var_dump 属于comment_IDcomment_parent.

主要输出:22、23、24、25、26、27、28、29、30、31

正确顺序:22 -> 27->31,23,24 -> 26、,25 -> 29->30,28

1 个回复
SO网友:Otto

除非你自己构建,否则你不会。WordPress没有办法获得这样的嵌套注释数组。相反,它获取要显示的所有注释,然后使用一个名为“walker”的类来显示它们。

Walker\\u Comment类构建在泛型Walker类之上。Walker类实现遍历数组并使用父字段确定嵌套的逻辑,Walker\\u Comment类实现显示特征,例如将它们放入适当的HTML列表项中等等。

结束

相关推荐

将GET_CURRENT_USER_ID代码更改为作者个人资料

我一直在修改一个长期废弃的插件项目,该项目为Wordpress提供了一个Stackoverflow启发的徽章系统。我已经升级了它的一些代码,因此它可以在新的Wordpress版本中运行。如果您感兴趣,可以在此处查看整个代码:http://pastebin.com/kCWWLPL2我想给作者添加一个代码。php页面列出作者获得的徽章。到目前为止,我只显示了登录用户的徽章,其工作代码如下:<?php $user_id = get_current_user_id(); if ($user_