WordPress テーマの詳説:第四章

ページテンプレート

さて、このテーマを完了させる前にページ・テンプレートについて触れておいた方がいいだろう。WordPressのバージョン1.5で追加された主な機能の一つが「ページ」機能だ。「ページ」は「投稿記事」に似ているが、通常の投稿記事の時系列の外に置かれる。

例えば、「管理者への連絡」ページは特定の日時に依存しない – このページが作成された日時に関係なくアクセスできるようにしたい。

さらに、WordPressではページ・テンプレートを作成する機能がある。ページ・テンプレートとはいわばミニテーマで、どのページにも割り当てることができる。つまり、PHPとHTMLを利用してテンプレートを作成すれば、ページの情報をどんな風にも好きなように表示させることができる。これはとても強力な機能で、WordPressを単なるブログ以上のものに拡張することができる。

ページ・テンプレートには一つ条件がある:このファイルにはテンプレート・ヘッダーを含めなくてはならない。例を次に挙げよう:

/*
Template Name: Archives
*/

WordPressはテーマのディレクトリをスキャンしてこのヘッダーを持つすべてのファイルを検知する。するとこのヘッダーを持つファイルはページ・テンプレートとして認知され、ページ作成時にアクセスできるようになる:

今作成しているテーマ内のファイルを見てみると次のページ・テンプレートがあるはずだ:

  • archives.php
  • links.php

また、WordPressはデフォルトのページ・テンプレートを持っているが、これは上述のテンプレート・ヘッダーを持っていない:

  • page.php

デフォルトのページ・テンプレート

page.phpファイルがページ・テンプレートのデフォルトだ。これはページのコンテンツと最低限の情報を表示する。

これは私たちのラッパー要素に含めるようにアップデートする必要がある。

<?php get_header(); ?><div id=“wrapper”>

<div id=“content” class=“narrowcolumn”>

<?php if (have_posts()) : while (have_posts()) : the_post(); ?>

<div class=“post”>
<h2 id=“post-<?php the_ID(); ?>”><?php the_title(); ?></h2>

<div class=“entrytext”>
<?php the_content(‘<p class=”serif”>Read the rest of this page »</p>’); ?>
<?php link_pages(‘<p><strong>Pages:</strong> ‘, ‘</p>’, ‘number’); ?>
</div>
</div>
<?php endwhile; endif; ?>

<?php edit_post_link(‘Edit this entry.’, ‘<p>’, ‘</p>’); ?>
</div>

<?php get_sidebar(); ?>

</div>

<?php get_footer(); ?>

気づいたと思うが、このコードにもindex.phpやsingle.phpと同じようにループが含まれている。

アーカイブズ・テンプレート

このarchives.phpテンプレートは特定期間にわたる投稿記事のアーカイブ・リストを表示する。ファイル名が複数形になっていることに注意してほしい – archive.phpという似たファイル名もあるが、これは別の目的を持っている。

他と同じように、このファイルも私たちのラッパー要素に含めるようアップデートする必要がある。

<?php
/*
Template Name: Archives
*/
?><?php get_header(); ?><div id=“wrapper”>

<div id=“content” class=“widecolumn”>

<h2>Archives by Month:</h2>
<ul>

<?php wp_get_archives(‘type=monthly’); ?>
</ul>

<h2>Archives by Subject:</h2>

<ul>
<?php wp_list_cats(); ?>
</ul>
<?php include (TEMPLATEPATH . ‘/searchform.php’); ?>

</div>

</div>

<?php get_footer(); ?>

このテンプレートではページ自身の情報を表示していないことにお気づきだろうか。その代わり、ここでは2つのWordPress関数を使用して、月別アーカイブとカテゴリー一覧を表示している。これは、ページがあなたのお好みのものを何でも含むことができること、そして完全にWordPressの外にある情報をも取り込める可能性を秘めていることを裏付けている。

リンク・テンプレート

このlinks.phpファイルはまた別のテンプレートで、archives.phpと似た働きをしている。またここでもラッパー要素を導入する必要がある:

<?php
/*
Template Name: Links
*/
?><?php get_header(); ?><div id=“wrapper”>

<div id=“content” class=“widecolumn”>

<h2>Links:</h2>
<ul>

<?php get_links_list(); ?>
</ul>

</div>

</div>

<?php get_footer(); ?>

ページ自身の情報は無く、管理画面を通じて追加されたすべてのリンクの一覧が表示される。

「WordPress テーマの詳説:第四章」への5件のフィードバック

  1. 突然の書き込みすいません。
    実は、以下の点に関して教えていただければと思います。
    WordPressで、各投稿の「コメント」を見ると、「古いコメント」が一番最初に来て、「新しいコメント」が一番最後に来ます。
    これを逆にするには、comments.phpにある以下のものをどう修正すればいいのでしょうか。
    教えていただければ幸いです。

コメントは停止中です。