WordPressをお客様に提案するときに、サイトトップとブログトップページを別々にしたいことがあります。特に、CMSとして提案するとき。

今回も、ブログとトップの新着情報の提案を同時にすることを考えていました。
ブログの中のカテゴリー「新着情報」がトップページに引っ張ってこれる。

これだけなら、トップページはRSSリーダー埋め込んだ、Wordpressの管理下じゃないものを置くという手もあったんですけど、トップページには、Wordpressのリンクで管理した情報も入れたかったので、トップもwordpressの管理下じゃないとまずいなと。

つまりこんな感じ。

トップページ(ブログカテゴリーの「新着情報」一覧のみ表示。wordpressのリンク先で登録したリンク先を表示)
  └ブログページ

サイトトップとブログトップの設定をするときはどうしたらいんだろう?

と検索してみると、情報を掲載してくださってる方がいらっしゃいました。ありがとうございます!

WordPress でトップページを静的ページにして、サブディレクトリにブログを配置する方法(@minorio のプログラミング・メモ

掲載は、Wordpress2.6のお話ですので、2.8.5で試してみたところ、うまくいきました。

ツꀀ

説明内の「オプション」 が 「設定」にあたります。
「トップページ」は「フロントページ」にあたります。

●トップページに特定カテゴリーの記事リストを掲載するは以下の記事を参考にしました。
WordPress のトップページに更新情報とかニュースを表示する(@WordPress 研究室

●リンクを表示するには、「wp_list_bookmarks」タグを使用(概要はこちら@Wordpress Codex)

ということを踏まえて、sitetop.php(サイトトップテンプレート)は、以下な感じに

<?php
/*
Template Name: sitetop
*/
?>

<!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>
<?php query_posts($query_string . ‘showposts=5&cat=1’); ?>
<?php if (have_posts()) : ?>
<dl>
ツꀀツꀀツꀀ <?php while (have_posts()) : the_post(); ?>
ツꀀツꀀツꀀ <dt><?php the_time(‘Y-m-d’) ?></dt>
ツꀀツꀀツꀀ <dd>[ <?php the_category(‘, ‘) ?> ]
ツꀀツꀀツꀀ <a href=”<?php the_permalink() ?>”><?php the_title(); ?></a></dd>
ツꀀツꀀツꀀ <?php endwhile; ?>
</dl>
<?php else : ?>
<p>更新情報はありません</p>
<?php endif; ?>
<?php query_posts($query_string . “”); ?>

<?php wp_list_bookmarks(‘categorize=0&title_li=&category_before=&category_after=’); ?>

</body>
</html>