wordpressについてのメモを子ページに分けた

記事が多くなってきたので、日付別の子ページとして分割した。

page.php の一部を変更して、新たに childpage.php というテンプレートを作った。
親ページと子ページの両方で子ページのリンクを表示させるテンプレートタグ wp_list_pages() を追加した。
表示順序は
 sort_column=post_date 日付でソート
 show_date=created ページ投稿日を表示
 sort_order=desc 逆順(最新投稿が最初に表示される)

page.php にリスト表示をさせる部分を追加して childpage.php とした。

<!-- --------------------------------------------------------------------- -->
<br />
<div id="plist">
<?php
  if($post->post_parent)
  $children = wp_list_pages("title_li=&sort_column=post_date&show_date=created&sort_order=desc&child_of=".$post->post_parent."&echo=0");
  else
  $children = wp_list_pages("title_li=&sort_column=post_date&show_date=created&sort_order=desc&child_of=".$post->ID."&echo=0");
  if ($children) { ?>
  <p><?php echo $children; ?></p>
  <?php } ?>
</div>
<!-- --------------------------------------------------------------------- -->

<!-- --------------------------------------------------------------------- --> <br /> <div id="plist"> <?php if($post->post_parent) $children = wp_list_pages("title_li=&sort_column=post_date&show_date=created&sort_order=desc&child_of=".$post->post_parent."&echo=0"); else $children = wp_list_pages("title_li=&sort_column=post_date&show_date=created&sort_order=desc&child_of=".$post->ID."&echo=0"); if ($children) { ?> <p><?php echo $children; ?></p> <?php } ?> </div> <!-- --------------------------------------------------------------------- -->

・テンプレートファイル(php)の先頭に以下の記述を加えることでダッシュボードの「テンプレート」のドロップダウンメニューから選択ができるようになる。コメントの中に、Template Name: テンプレート名と書くだけでよい。
childpage.php

<!-- --------------------------------------------------------------------- -->
<?php
/*
Template Name: チャイルドページ
*/
?>
<!-- --------------------------------------------------------------------- -->

<!-- --------------------------------------------------------------------- --> <?php /* Template Name: チャイルドページ */ ?> <!-- --------------------------------------------------------------------- -->

こんな簡単な方法でページごとに自分の好きなテンプレートを選んで読み込ませることができるのだった。
テンプレートはページだけでなく、投稿ページでもなんでも選択できるようになる。
いやぁ・・・知らなかった。
これは使える! っつーか、初めにわかっていたらもっといろいろ試せたのにぃ~! と思ったぞ。

入力時にいちいちテンプレートを指定しなくちゃならないのはメンドーだけど、今の特定の条件でテンプレート内で分岐させている方法よりずっと楽だね。phpも複雑にならなくていいと思う。

コメントを残す

モバイルバージョンを終了