[wordpress] トップページを「固定ページ」で「最新記事」も見せる

wordpressで、「フロントページ」を「固定ページ」にして、「最新記事」も作る方法です。

wordpress3.0.1が対象です。

フロントページを「固定ページ」にして最新記事?

wordpressを使って、普通のホームページっぽいの作ったりしません?

で、グローバルナビに

「HOME」「なんたら」「かんたら」「ブログ」

なんて並べちゃったりって・・・ありません?

とりあえず、ホームやなんたらかんたらは、「ページ」として作りますよね。

で、管理画面の「設定」の「表示設定」で、「固定ページ」にして、「フロントページ」をトップページに割り当てますよね。

で、「ブログ」・・・

どうしましょ。

何がやりたいかって、ドメイン直下は「ページ」として作ったトップページになります。

で、「ブログ」をクリックすると、ブログの最新記事の一覧が出て欲しいわけです。

ってか、「表示設定」でフロントページを「最新の投稿」にして、ドメイン直下にアクセスしたのと同じようになって欲しいです。

「フロントページ 固定ページ 最新記事」でぐぐるぐぐる

で、どうせググれば出るかな~と思ってたんだけど、無いね。

探し方が良いかどうかは別として

自分で作ったほうが早い <> ググレば早い

の天秤が左に動いたので、作ってみました。

最新記事のためのテンプレートファイルを作る

あ、テーマですけど、wordpress3.0.1のデフォルトテーマ「twentyten」を基に書きますです。

で、とりあえず「index.php」をコピーして、リネームします。
なんでもいいんだけど、とりあえず「page-blog.php」ってしてみました。

で、「page-blog.php」をちょちょいと編集します。

<?php
/**
* Template Name: blog
*
* This is the most generic template file in a WordPress theme
* and one of the two required files for a theme (the other being style.css).
* It is used to display a page when nothing more specific matches a query.
* E.g., it puts together the home page when no home.php file exists.
* Learn more: http://codex.wordpress.org/Template_Hierarchy
*
* @package WordPress
* @subpackage Twenty_Ten
* @since Twenty Ten 1.0
*/

get_header(); ?>

<div id="container">
<div id="content" role="main">
<?php
query_posts('numberposts=10&offset=0&orderby=post_date&order=DESC');
$wp_query->is_archive = true;
get_template_part( 'loop', 'index' );
wp_reset_query();
?>
</div><!-- #content -->
</div><!-- #container -->

<?php get_sidebar(); ?>
<?php get_footer(); ?>

これでOK。

書き直した箇所ですが・・・

3行目

* Template Name: blog

として、「blog」と言う名前で、「ページ」のテンプレートとして出てくるようにします。

んで、20~25行目

<?php
query_posts('numberposts=10&offset=0&orderby=post_date&order=DESC');
$wp_query->is_archive = true;
get_template_part( 'loop', 'index' );
wp_reset_query();
?>

こんな感じに書き足します。

で、アップロード。

で、管理画面から「ページ」を新規作成しましょ。
タイトルは、一応>title<タグとかに設定されるのでそれなりに書きます。
本文は使わないのでそのままで、保存(公開)しちゃいましょ。

え?これ以上何かしたかったですか?
もう終わりですよ。

で、さっき作ったページにアクセスすると、期待しているものが出てくるので、そのURLを、グローバルナビの<a>タグに設定しちゃえばokok。

でした。

あ、で、結局のところ、これがベストアンサーなのかな。
それは知らない。

広告