home.php
WordPressをCMSとして利用して、Webサイト構築をする場合、TOPページ(フロントページ)用のテンプレートファイルが「home.php」です。テーマの中に「home.php」がある場合はサイト表示の際、最初に表示され、ない場合はテーマ内の「index.php」が代行します。(テンプレートファイルの階層)
ブログの場合、TOPページのメインコンテンツは投稿記事の時系列的な配列がほとんどですが、一般的なWebサイトの場合はそうともかぎりません。サイトの説明、サイト内容に合った画像や動画など、訴求性を持ったレイアウトが必要になります。その際、自由にデザインできるようにTOPページ用に用意されたテンプレートファイルが「home.php」です。
また、「home.php」を利用しなくても、「設定」-「表示設定」で「フロントページの表示」の設定をおこなえば、「ページテンプレートファイル」で作成したページコンテンツを使用することもできます。その場合、TOPページ(フロントページ)用のページを用意して、利用するので、「home.php」は必要としません。
2009.04.26 17;19
category.php
投稿記事に付けられる「カテゴリー」属性によって、分類表示する時に利用されるテンプレートファイルです。通常は「カテゴリー」に属する投稿記事が日付順に表示されます。
ブログでは「カテゴリー」属性別の表示は多用されていて、とても一般的です。テーマの中に「category.php」がない場合はテーマ内の「archive.php」が、「archive.php」がない場合は「index.php」が代行します。(テンプレートファイルの階層)
「カテゴリー」別にテンプレートを分けたい場合はファイル名をID別の表記(category-xxx.php)にすることで、分類することができます。
*「Default_Theme(英語版)」の「アーカイブテンプレート(archive.php)」を修正して、「category.php」を制作してみましょう。
category.php 例
<?phpget_header();?> //インクルードファイル:header.phpを読み込みます
<div id="content" class="narrowcolumn">
<?php if (have_posts()) : ?> //属性別の条件式の開始
<?php $post = $posts[0]; // Hack. Set $post so that the_date() works. ?>
//カテゴリータイトル表示
<h2 class="pagetitle">Archive for the ‘<?php single_cat_title(); ?>’ Category</h2>
//投稿前後のナビゲーションの表示
<div class="navigation">
<div class="alignleft"><?php next_posts_link('? Older Entries') ?></div>
<div class="alignright"><?php previous_posts_link('Newer Entries ?') ?></div>
</div>
<?php while (have_posts()) : the_post(); ?> //コンテンツデータを取得する・ループのPHPコードの開始
<div <?php post_class() ?>>
//投稿(コンテンツ)タイトル名の表示
<h3 id="post-<?php the_ID(); ?>"><a href="<?php the_permalink() ?>" rel="bookmark" title="Permanent Link to <?php the_title_attribute(); ?>"><?php the_title(); ?></a></h3>
<small><?php the_time('l, F jS, Y') ?></small>
//投稿(コンテンツ)内容の表示
<div class="entry">
<?php the_content() ?>
</div>
//投稿タグ・カテゴリー・編集リンク・コメントの表示
<p class="postmetadata"><?php the_tags('Tags: ', ', ', '<br />'); ?> Posted in <?php the_category(', ') ?> | <?php edit_post_link('Edit', '', ' | '); ?> <?php comments_popup_link('No Comments ?', '1 Comment ?', '% Comments ?'); ?></p>
</div>
<?php endwhile; else: ?> //コンテンツデータを取得する・ループのPHPコードの終了
//コンテンツデータがないときのメッセージ表示
<h2 class='center'>Sorry, but there aren't any posts in the %s category yet.</h2>
<? php endif; ?> //属性別の条件式の終了
//投稿前後のナビゲーションの表示
<div class="navigation">
<div class="alignleft"><?php next_posts_link('? Older Entries') ?></div>
<div class="alignright"><?php previous_posts_link('Newer Entries ?') ?></div>
</div>
</div>
<?php get_sidebar(); ?> //インクルードファイル:sideber.phpを読み込みます
<?php get_footer(); ?> //インクルードファイル:footer.phpを読み込みます
2009.05.03 17;23

