2013
3
26

WordPressで固定ページをブログのトップとして記事を一覧表示する方法

過去に、query_postsを使って試行錯誤して固定ページに記事一覧を表示させる記事を書いたのですが、もっと簡単にできる方法を教えて頂いたのでシェアさせて頂きます!ありがとうございますー!。・゚・(ノД`)・゚・。


ここまでの流れ

query_postsで固定ページに一覧表示していた

昨年、こんな記事を書きました。

サイト構造の図

こんな構造のサイトを作りたくて、blog.phpという固定ページをブログのトップにしたいんだよーと。で、試行錯誤して書いたのがこちらの記事です。

query_postsは非推奨…!?

それが、冒頭に追記させて頂いていたようにquery_postsが非推奨である、という記事を拝見してこれ、ダメなんじゃないかと…。

ここで、私は非推奨=使っちゃダメ!なんだと思ってしまい、焦って「ヤバい!あんな間違った記事晒してたらヤバい!」とわたわたしてしまったのですが、

…というものなのですね…!Hishikawaさん(@HissyNC)、今村さん(@s56bouya)、大変失礼致しました…!優しく接してくださってありがとうございます…!!

もっと簡単な方法が…!

そして私のトラックバックから、Hishikawaさんがこのような記事を書いてくださいました。

WP_Queryで記事一覧を取得する方法を紹介して頂きました。こんなふうに書けばいいのかー!と感動していたら、その後半、@jim0912さんの発言が。普通に、管理画面の設定からできるみたいです。知らなかった…なんてことなの…

方法

まず、投稿ページ用とトップページ用のふたつの固定ページを用意して、

130326-1

管理ページから、設定→表示設定。

130326-2

ここで、フロントページと投稿ページをさっきつくった固定ページに設定します。

当初、blog.phpなどのファイルを用意して、ページテンプレートの設定に…としていたのですが、また教えて頂きました。

130326-3

つまり、上記の設定をすればこのように使えるようになるということですね…!ありがとうございますー!。・゚・(ノД`)・゚・。

あとは普通のブログをつくるようにindex.phpに書くのと同じことをhome.phpに書けば良いのです!こんな、方法が、あったなんて…orz

追記:front-page.phphome.phpを作成すると優先的にそちらが使われることになり、存在しない場合はテンプレート階層に従って別ファイルが使われます。

今回の例だと、一般的には

  • front-page.phppage.php
  • home.phpindex.php

が該当するので、そのファイルにてis_front_page()is_home()の分岐を使ってレイアウトを変えることも可能です。

ちなみに個人的な経験では、home.phpindex.phpと表示させたい内容がさほど変わらなかったのでhome.phpは作成せず、index.phpで代用して必要なところだけis_home()の分岐でレイアウトを変える、というほうが多かったかな、と思いましたのでよろしければご参考までに。

追記:トップに新着情報を表示

トップページ(front-page.php)にブログの新着情報を載せておきたい場合は、こんなふうに書くのが良いんじゃないでしょうか。

日付、カテゴリー、リンク付きのタイトルを5件取得します。

たくさんの方に助けて頂きました

今回、トラックバックという形から解決策を教えて頂き、本当にネットってすごいなぁと感じています。WP_Queryを使った方法も、とても勉強になります。本当に、皆様、ありがとうございました!

  • このエントリーをはてなブックマークに追加
  • follow us in feedly 618
  • RSSを登録

公開日:2013/03/26
更新日:2015/11/18


4件のコメント

  • yuya
    2015年2月19日 12:16 AM

    ちょうど同じ状況で悩んでおり、googleしてたどりつき、参考にさせていただきました。わかりやすくまとめていただきありがとうございます!フロントページの表示設定を行った場合、トップページはfront-page.php、投稿ページはhome.phpがテンプレートとなるのですね。
    運営者さんのおっしゃるとおり、こんなに情報がきれいに繋がるとは。。ネットってすごいです。

    • *you
      2015年2月19日 11:48 AM

      yuyaさん、コメントありがとうございます。

      お役に立てて光栄です(*´∀`*) ブログだけじゃない使い方をしたい、って思ったときに便利ですよね。たくさんの方に教えていただけて、わたしもとっても嬉しかったですー!

  • hiroshi
    2015年11月17日 1:41 AM

    home.php / front-page.php を使うということは、
    「設定>表示設定>フロントページの表示」
    の部分は特に設定しないということになるのでしょうか?
    プルダウンに出てこなくなりますので。

    その場合 front-page.php のURLは何になるのでしょうか?

    • *you
      2015年11月18日 11:55 AM

      hiroshiさん、コメントありがとうございます。

      home.php / front-page.php を使う場合でも、固定ページを2つ作って設定が必要です。

      例えば、http://sample.com/ に WP があるとして、

      • フロントページ(スラッグ:front-page)
      • ブログトップ(スラッグ:blog-top)

      という2つの固定ページを作成して「設定>表示設定>フロントページの表示」からそれぞれ設定し、front-page.php / home.php を用意してやると、

      • フロントページ → http://sample.com/(front-page.phpを使用)
      • ブログトップ → http://sample.com/blog-top/(home.phpを使用)

      というURLになるかと思います。

1件のトラックバック

コメントを残す




*印は必須項目です。コメントは承認制ですので、反映までしばらくお待ち下さい。(稀にですがスパムの誤判定にて届かないこともあるようですので、必要な際はお問い合わせからお願い致します。)


back to top