WP ページ一覧の取得方法まとめ

WPでサイトを作るとき、簡単なブログサイトならウィジェットで事足りるのですが、コーポレートサイト等になるとそうはいきません。
規模が大きくなると、サイドバーで親ページに属する子ページのみの一覧を表示・・・なんてざらです。

なので、実際の案件で使ったことがあるページ一覧の取得方法をメモ。

特定のページに属する子ページ一覧を表示

<?php global $post;
$args = array(
	'post_type' => 'page',
	'sort_order' => 'asc',
	'sort_column' => 'menu_order',
	'child_of' => 616 //親ページのID
);
$myposts = get_pages( $args );

foreach( $myposts as $post ) :  setup_postdata($post);?>
<li><a href="<?php the_permalink(); ?>" title="<?php the_title() ?>"><?php the_title() ?></a></li>
<?php endforeach; ?>
</ul>

親ページにいる時は子ページ一覧を、
子ページにいるときは自分の親に属する子ページ一覧を表示

<a href="<?php
   $permalink = get_permalink($post->post_parent);
   echo $permalink;
?>" title="<?php the_title(); ?>">
<?php
   $parent_title = get_the_title($post->post_parent);
   echo $parent_title;
?>
</a></h3>
<?php
  if($post->post_parent)
  $children = wp_list_pages("sort_column=menu_order&title_li=&child_of=".$post->post_parent."&echo=0");
  else
  $children = wp_list_pages("sort_column=menu_order&title_li=&child_of=".$post->ID."&echo=0");
  if ($children) { ?>
  <ul>
  <?php echo $children; ?>
  </ul>
  <?php } ?>

参考サイト:<?php wp_list_categories( パラメータ ); ?>(wp-design.jp様)

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です