カテゴリーのリカーシブを理解したい
-
WPのカテゴリーのhierarchicalの構造がイマイチ理解出来ないので質問させてください。
id|parent|name 1|0|root 2|1|child1 3|1|child2 4|0|child3 5|3|child4 6|2|child5 7|4|child6 8|7|child7 9|3|child8
上記のように親カテゴリーのidを持たせたテーブルをリカーシブでループさせます。
function test($r, $p = 0 ){ $t= $r; for( $i = 0; $i < count( $t ); $i++ ){ if( $i == 0 ){ echo '<ul>'; } if( $p == $t[$i]["parent"] ){ echo '<li>'; echo '<p>parent:' . $t[$i]["parent"] . '</p>'; echo '<p>id:' . $t[$i]["id"] . '</p>'; echo '<p>name:' . $t[$i]["name"] . '</p>'; test( $t, $r[$i]["id"] ); echo '</li>'; } if( $i == ( count($r) - 1 ) ){ echo '</ul>'; } } } test($category_array);
上記のソースでループすると、一応ツリー上の者が出来上がるのですが、
末子カテゴリーのときに中身の無い
<ul></ul>
が出力されてしまいます。こうならないようにするためにはwp_term_taxonomyのcountのようなカラムを持たせて0を入れておかなくてはいけないのでしょうか?
カテゴリーやらタグやらが更新されたときには、都度countの値をアップデートする必要がありますが、そのようにしているものなのでしょうか?
稚拙な質問で大変恐縮ですが、ご回答頂けると幸いです。
よろしくお願い致します。
8件の返信を表示中 - 1 - 8件目 (全8件中)
8件の返信を表示中 - 1 - 8件目 (全8件中)
- トピック「カテゴリーのリカーシブを理解したい」には新たに返信することはできません。