WP のナビゲーション メニュー項目でいっぱいのフラットな配列があります。各アイテムはその親を知っていますが、子があるかどうかは誰も知らないようです。
Array
(
[0] => stdClass Object
(
[ID] => 22
[menu_item_parent] => 0
)
[1] => stdClass Object
(
[ID] => 108
[menu_item_parent] => 22
)
[2] => stdClass Object
(
[ID] => 117
[menu_item_parent] => 108
)
[3] => stdClass Object
(
[ID] => 118
[menu_item_parent] => 108
)
[4] => stdClass Object
(
[ID] => 106
[menu_item_parent] => 22
)
[5] => stdClass Object
(
[ID] => 119
[menu_item_parent] => 106
)
[6] => stdClass Object
(
[ID] => 120
[menu_item_parent] => 106
)
[7] => stdClass Object
(
[ID] => 23
[menu_item_parent] => 0
)
)
私はいくつかの異なる方法で条件付きロジックを使用してアプローチしようとしましたが(そして毎回理想的ではない値をハードコーディングしました)、自分自身を混乱させ続けています。このような結果を生成するために配列を反復処理するにはどうすればよいですか?
<ul>
<li>22
<ul class="child">
<li>108
<ul class="grandchild">
<li>117</li>
<li>118</li>
</ul>
</li>
<li>106
<ul class="grandchild">
<li>119</li>
<li>120</li>
</ul>
</li>
</ul>
</li>
<li>23</li>
</ul>