1

ページを階層で表示するには、wp_List_pages() の代わりに get_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; ?>
4

1 に答える 1

1

child_of パラメーターは、get_pages() 関数の階層を無効にします。

最初のコードのように wp_list_pages 関数を使用する必要があります。

于 2016-09-27T16:51:49.720 に答える