WordPress でトップページを静的ページにして、サブディレクトリにブログを配置する方法
基本的な情報は、Pages - WordPress Codex 日本語版に書いてあるんだけど、なんだかややこしいので整理しておこう。
※ WordPress のバージョンは 2.6 として書いています。それ以前のバージョンではプラグインなどを導入しないと使えない機能があるかも知れません。
目標とするサイト構造
今回、目標とするサイト構造は、http://example.com/ に静的なトップページがあり、http://example.com/blog/ にアクセスするとブログのトップページが表示されるというもの。http://example.com/ で表示されるトップページには http://example.com/blog/ へのリンクが含まれる。またブログの記事は全て http://example.com/blog/ 以下に配置される。
ページテンプレートを2つ作成する
以下の2つのページテンプレートを作成する必要がある。いずれも使用中のテーマの中に保存する。
sitetop.php:
<?php /* Template Name: サイトトップ */ ?> <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml" dir="ltr" lang="ja"> <head profile="http://gmpg.org/xfn/11"> <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /> <title>サイト名</title> </head> <body> <h1>サイトのトップページ</h1> <p><a href="<?php bloginfo('url'); ?>/blog">ブログへのリンク</a></p> </body> </html>
blog.php:
<?php /* Template Name: ブログトップ */ ?> <?php query_posts('cat=-0'); //すべてのブログ記事を取得 load_template( TEMPLATEPATH . '/index.php'); //indexを読み込む ?>
ページの作成
管理画面にログインし、新規ページを作成する。
表示設定の変更
管理画面の「オプション>表示設定」をクリックし、「トップページの表示」から「固定ページ」を選択して、以下のように設定する。
- トップページ:「サイトトップ」
- 投稿ページ:「ブログトップ」