wordpress使用get_pages()显示分层子页面

时间:2013-09-09 07:18:55

标签: wordpress tree

我想使用get_pages()而不是wp_List_pages()来显示层次结构中的页面。例如:

parent
   child
      child1

但是可以使用下面的代码用wp_list_pages()显示吗?

 <?php
      if($post->post_parent)
      $children = wp_list_pages("title_li=&child_of=".$post->post_parent."&echo=0");
      else
      $children = wp_list_pages("title_li=&child_of=".$post->ID."&echo=0");
      if ($children) { ?>
      <ul>
      <?php echo $children; ?>
      </ul>
      <?php } ?>

get_pages()我设置了hierarchical=1,但它无法正常工作

在我的下面代码中,它显示在单个li

 <?php 
        global $post;
         if($post->post_parent)

   $child_pages = get_pages( array( 'child_of' => $post->post_parent, 'sort_column' => 'post_date', 'sort_order' => 'desc','hierarchical' => 1 ) );
  else
    $child_pages = get_pages( array( 'child_of' => $post->ID, 'sort_column' => 'post_date', 'sort_order' => 'desc','hierarchical' => 1 ) );
  if ( $child_pages) { ?>

  <?php }  



        if ( $child_pages ) :?>
        <ul>
          <?php
                    foreach ( $child_pages as $pageChild ) : setup_postdata( $pageChild ); ?><?php $child_title= get_field('sidebar_tittle',$pageChild->ID);?>
          <li> 
                 <?php  if($child_title):?>
                        <a href="<?php echo get_permalink($pageChild->ID); ?>"  title="<?php echo $pageChild->post_title; ?>"><?php echo $child_title; ?>
                        </a>
                        <?php  else:?>
                       <a href="<?php echo get_permalink($pageChild->ID); ?>"  title="<?php echo $pageChild->post_title; ?>"><?php echo $pageChild->post_title; ?>
                        </a>
                        <?php  endif;?>  


                        <span class="border_div"></span></li>
          <?php endforeach;?>
        </ul>
        <?php endif; ?>

1 个答案:

答案 0 :(得分:0)

child_of参数取消激活get_pages()函数的层次结构。

您应该像使用第一个代码一样使用wp_list_pages函数。