2010.01.22. 金 18:11
記事が多くなってきたので、日付別の子ページとして分割した。
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> <!-- --------------------------------------------------------------------- --> |
・テンプレートファイル(php)の先頭に以下の記述を加えることでダッシュボードの「テンプレート」のドロップダウンメニューから選択ができるようになる。コメントの中に、Template Name: テンプレート名と書くだけでよい。
childpage.php
<!-- --------------------------------------------------------------------- --> <?php /* Template Name: チャイルドページ */ ?> <!-- --------------------------------------------------------------------- --> |
こんな簡単な方法でページごとに自分の好きなテンプレートを選んで読み込ませることができるのだった。
テンプレートはページだけでなく、投稿ページでもなんでも選択できるようになる。
いやぁ・・・知らなかった。
これは使える! っつーか、初めにわかっていたらもっといろいろ試せたのにぃ~! と思ったぞ。
入力時にいちいちテンプレートを指定しなくちゃならないのはメンドーだけど、今の特定の条件でテンプレート内で分岐させている方法よりずっと楽だね。phpも複雑にならなくていいと思う。
kokupsy_un | K.G.C.Works
Follow @kinzox2