cue. つくるんです

Word Pressに旅立ってから10年。こそこそ戻る準備中。

wordpressをCMSとして使う(4) トップページの実装

ご無沙汰しております。rcorcoです〜!
気づけばすっかり半年以上の月日が流れ、wordpressCMSとして使うが、中途半端なまま置き去りにされておりました……。
のですが、温かいコメントを頂いてやる気を出したので、続きを書くことに致しました!

前回は、なんとな〜くblogっぽい形のスキンが出来上がったところで終わっていましたので、第4回では、トップページを実装します。


トップページは、1枚絵の上に<タイトル><メニュー><最新の記事3件の情報>を表示する構成です。
他のページとレイアウトが大きくことなるので、トップページ用のテンプレートを使うことにしました。
な、な、な、なんと、wordpressでは、テンプレートのファイル名によって、
「これはトップページ用」
「これはカテゴリページ用」
「これは固定ページ用」
「これはカテゴリスラッグがdiaryになっているもの用」
というように、簡単にデザインを分岐することができるのです!

トップページ独自のテンプレートをつくる場合は、
home.php
という名前にします。
※他のテンプレートについては、下記のURLを参考にしてくださいね。
http://luelue.com/tips/wordpress/#filename

タイトル・メニューの表示


タイトル・メニュー部分を出力するのには、
下記のタグを記述しています。
実に単純です!

<div class="menu">
<h1><?php bloginfo('name'); ?></h1>
 	<ul id="navi">
            <?php wp_list_pages('sort_column=menu_order&title_li='); ?>
            <?php wp_list_categories('title_li='); ?>
        </ul>
</div>
(1)wordpressで指定したタイトルを引用する
<?php bloginfo('name'); ?>

と記述すると、
wordpress側で設定したタイトルを呼び出すことが出来ます。

wordpress側で設定したタイトルを呼び出せるということは、あとで気が変わってサイト名を変更したくなったときに、管理画面からタイトルを変えると全ての出力されるページのタイトルが変わるということです。

今回の例では、タイトルのみの表示になっていますが、
例えば、サイトの説明文も表示したい場合は、

<?php bloginfo('description'); ?>

と記述することで、管理画面で設定した説明文を表示できるようになります。

(2)メニューを表示する
 <?php wp_list_pages('sort_column=menu_order&title_li='); ?>

と記述すると、固定ページの一覧が表示されます。

 <?php wp_list_categories('title_li='); ?>

と記述すると、カテゴリの一覧が表示されます。

一覧のタグは、<li>〜</li>の形式で出力されるため、
かならず、メニューを表示する位置の前後に
<ul>〜</ul>を記述してあげてください。

カテゴリの更新情報を出力する


記事を更新すると、トップページに更新のお知らせが表示されると便利なので、
更新情報を出力するようにしました。

日付 カテゴリ名 - 記事のタイトル

という形式で表示させたかったので、下記のタグを記述しています。

<dl>        
    <?php if (have_posts()) : while (have_posts()) : the_post(); ?>
    <dt><?php the_date(); ?></dt>
    <dd><?php the_category(',') ?> - <a href="<?php the_permalink(); ?> "><?php the_title(); ?></a><?php echo new_up(); ?></dd>
	<?php endwhile; else: endif; ?>
</dl>

せっかくですので、上からひとつひとつ説明します。

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

は、記事を呼び出すためのタグです。
お決まりの定型文だと思っていただければ良いかと思います。

<?php the_date(); ?>

は、日付を呼び出すためのタグです。
日付の書式は、
管理画面>設定>一般設定>日付フォーマット

で変更できます。

<?php the_category(',') ?>

は、記事の属しているカテゴリと、カテゴリへのリンクを出力するタグです。

<?php the_permalink(); ?>

は、記事へのリンクを出力するタグです。

<?php the_title(); ?>

は、記事のタイトルを出力するタグです。

<?php echo new_up(); ?>

は、投稿されたばかりの記事に[new]マークを表示するためのタグです。
Customizable Post Listingsで新着にNEWをつける | さんきゅう堂的_STYLE
を参考にさせていただきました。

<?php endwhile; else: endif; ?>

これは、記事の呼び出しの終わりを意味するタグです。
endとついているのでなんとな〜くイメージできますよね。

最後に……

wordpressとは関係ありませんが、
1枚絵はブラウザのサイズに合わせて自動的に伸縮するのが理想だったので、
jquery.maximage.js
を使用しています。
wordpress上で使うために、なにか特別なことをする必要はなく、通常通りにjQueryと、jquery.maximage.jsを〜の間に読み込み、jquery.maximage.jsを動かすために必要なコードをペーストするだけです。

*1

こんな感じで、トップページの出来上がりです!
※デザインはcssで指定してあります。

*1:jquery.maximage.jsの詳しい使い方については、配布サイトまたは、ご丁寧な説明をしてくださっているサイトをご参照ください。