【问题标题】:Nested List in foreach loop for WordpressWordpress 的 foreach 循环中的嵌套列表
【发布时间】:2013-05-24 02:15:22
【问题描述】:

我正在尝试解决一个我一直在苦苦挣扎的问题。

我想在一个 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>';
?>

第一层children 没问题,因为它被"ul id="accordion">.../ul>"包裹了。但现在我想将孩子的孩子也包装在第二个 ul-list 中。所以结构是这样的:

<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 循环中添加&lt;ul&gt;...&lt;/ul&gt;-wrap?

【问题讨论】:

    标签: html wordpress loops foreach nested


    【解决方案1】:

    无需重新发明轮子,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上的许多示例

    【讨论】:

    • ..我什至知道这个功能。有时在编程时,您只是一遍又一遍地用头撞砖墙;)谢谢!
    猜你喜欢
    • 1970-01-01
    • 2012-05-16
    • 2023-02-12
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-06-01
    • 2012-09-17
    • 2019-07-13
    相关资源
    最近更新 更多