front-page.phpを使うテーマテンプレートで「最新の投稿」を表示

front-page.phpにてホームを固定ページにしていると、「最新の記事」を表示する方法がないことに、はたと気づいて方法を調べた。
WordPressのテンプレート呼び出し順序の関係で、front-page.phpファイルがあると、それが最優先となる。
ダッシュボードからの設定よりもファイル構成の方が優先されます。
index.phpを使った「最新の投稿」を表示させる方法はあるのか…さて…?

設定方法

方法はありました。

  1. 中身が空の「固定ページ」を作成
  2. 1.で作った固定ページを「投稿ページ」として表示するよう設定

以上、2ステップです。

1. 固定ページ作成

ダッシュボードから固定ページを作ります、タイトルなどは自由につけて構わないです。
パーマリンクは、WordPressの表示変更をした際に強制的に変更されます。
投稿の中身は空欄としておきます。
latest-page

2. 設定 > 表示設定で「投稿ページ」を設定

デフォルトではこのように、「フロントページの表示」は「最新の投稿」になっているはずです。
options-reading-before

ここを「固定ページ」をチェック。
フロントページ:今回は「About for root」を指定。front-page.phpは、ここの設定にかかわらず優先で表示される。
投稿ページ:先ほど作った「Latest」固定ページを選択。
「変更を保存」
options-reading-after

3. 表示の確認

ダッシュボードの「固定ページ」管理画面へ戻ってみます。
「Latest -投稿ページ」となっています。
pages-after
blog-page-after
これで、パーマリンク blog/ で「最新の投稿」が表示されるようになりました。
当サイトではhttps://autumnsky.jp/blog/となります。
blog-entry

そもそも何をどうしたかったのか?

このサイト…というかこのテーマのフロントページは、固定のfront-page.phpにてページを作っている。
Shirohanadaテーマのフロントページは下図のように、「カスタムメニュー」と「ウィジェット」エリアを設定している。
front-page
これにより、コンテンツへのリンクがダッシュボードから柔軟に構築できる……
のであるが、「最新の投稿」リンクはメニューのカスタマイズからは選べない。
また、月ごとのアーカイブへもカスタムリンクを使うしかないようだ。
customize-menu
しかし、「最新の投稿」はきちんとWordPressの機能でカバーする方法が用意されていました。
若干面倒ですが、テンプレート構成を変更することなく「最新の投稿」表示ができました。

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

このサイトはスパムを低減するために Akismet を使っています。コメントデータの処理方法の詳細はこちらをご覧ください