我正试图解决一个问题,我已经在很长一段时间内完成了这个问题。
我想在一个WordPress页面的所有主页上创建一个UL LI
列表。这些主页有孩子,也可能有孩子也可能没有孩子。
我想出的是:
<?php
$children = get_pages('child_of='.$post->ID);
$count = 0;
echo '<ul id="accordion">';
foreach($children as $child) {
if($child->post_parent==$post->ID) {
echo '<li class="first-level">'.$child->post_title.'</li>';
} else {
echo '<li class="second-level">'.$child->post_title.'</li>';
}
}
echo '</ul>';
?>
第一级孩子很好,因为它被“ul id =”accordion“&gt; ... / ul&gt;”包裹。但现在我想把孩子们的孩子包裹在第二个ul列表中。所以结构将是这样的:
<ul>
<li>- Page 1
<ul><li>- Subpage 1 of Page 1</li>
<li>- Subpage 2 of Page 1</li>
</ul>
</li>
<li>Page 2</li>
...
我该如何使这项工作?如何在这样的foreach循环中添加<ul>...</ul>
- 换行?
答案 0 :(得分:2)
无需重新发明轮子,wp_list_pages
生成嵌套列表:
<ul id="accordion">
<?php wp_list_pages( 'title_li=&child_of=' . $post->ID ); ?>
</ul>
查看http://codex.wordpress.org/Function_Reference/wp_list_pages
上的许多示例