当サイトには広告が含まれております

ホームページ設定を「最新の投稿」のときに、URLだけで投稿一覧を表示する方法

この記事は最終更新日から5年経過しています。内容が古い可能性があります。

Photo by Glenn Carstens-Peters on Unsplash

WordPressのカスタマイズで ホームページ設定 は「最新の投稿」にするか「固定ページ」にするかを選ぶことができます。「固定ページ」にしたときは同時に「投稿ページ」というところに固定ページを設定すると、投稿一覧を作ることができます。「最新の投稿」にした場合はなぜか、この 投稿一覧 ができないため、色々工夫したりしたのですが簡単なコードを入れるだけで 投稿一覧 を表示できることがわかったのでそれについて書きます。

記事をざっと見る

WordPressのカスタマイズで「ホームページ設定」の指定方法は2つあります

WordPressのカスタマイズで「ホームページ設定」の指定方法は2つあります。まずは簡単に固定ページをホームページに設定する動作について書きます。

ダッシュボード 外観>カスタマイズ をクリック

ホームページ設定をクリック

ホームページ設定:固定ページにしたとき

ホームページ設定を固定ページにしたときの表示について書きます。

固定ページにチェックして

ホームページのところにある新規ページをクリックして

分かりやすい名前(ここでは「ホームページ」)を入力して追加をクリック

同じく、投稿ページにも

分かりやすい名前(ここでは「ブログ」)を入力して追加をクリック

公開をクリック

これでトップページは「ホームページ」という固定ページから表示されるようになり、「ブログ」という固定ページを表示すると投稿一覧が表示されるようになります。

固定ページ一覧を見ると

このようにトップページのところにはフロントページブログのところには投稿ページという表示があり、特別な意味を表しています。

ブログページを表示させると、

ブログ一覧ブログ用サイドバー(テーマによって異なる)が表示されます。

ホームページ設定:最新の投稿にしたとき

WordPressのカスタマイズで「ホームページ設定」を最新の投稿にするには

ダッシュボード 外観>カスタマイズ ホームページ設定で、最新の投稿にチェックをして公開をクリックするだけです。これでトップページは最新の投稿になりますが、先ほどのブログページを見ても、

このように中身がない固定ページとして表示されるだけになります。固定ページ一覧を見ると

トップページブログの表示が一般の固定ページと同じになっていることがわかります。

ホームページ設定を「最新の投稿」にしていても、投稿一覧をトップページ以外でも表示したい

ホームページ設定を「最新の投稿」にしていても、投稿一覧をトップページ以外でも表示したいという場合もあると思います。今までは「カテゴリー」に「blog」のようなトップカテゴリーを作っておいて、そのカテゴリー一覧を投稿一覧として表示する、などの回避方法をとっていました。

参考にさせていただいたWEBサイト

今回ちょっと検索をしてみたところ、これだ!という解決方法を見つけました。

WordPressカスタマイズ辞典 投稿一覧ページを作成する

です。こちらに書いてあった、functions.phpにコードを追加する方法で思った通りのカスタマイズをすることができました!ありがとうございますm(_ _)m

コードの追加方法について

最近私はコードを追加する方法については2つの方法でご説明しています。

1.子テーマを使っていて、functions.phpに追加するのが容易である(好きである)方向け
2.子テーマではないあるいは子テーマを使ってるけどfunctions.phpはいじりたくない方向け

1.の方はお使いの子テーマのfunctions.phpにコードを追加します。
2.の方はプラグインCodeSnippetsを使ってコードを追加します。

CodeSnippetsを使うとテーマのアップデートがあっても影響がなく、またテーマを変更しても影響がありませんのでお勧めします。詳しい使い方は

あわせて読みたい
プラグイン「Code Snippets」で機能を追加するとテーマを変更しても大丈夫 仕事でホームページを制作する際にphpでコードを書いてカスタマイズをすることが多いです。その場合、「子テーマのfunctions.php」にコードを書いています。コードは使...

をご覧下さい。

上記のサイトを参考に追加するコードを書いてみました。
※ ページ名しか変えていません!

/*
 * 投稿にアーカイブ(投稿一覧)を持たせるようにします。
 * ※ 記載後にパーマリンク設定で「変更を保存」してください。
 */
function post_has_archive( $args, $post_type ) {
    if ( 'post' == $post_type ) {
        $args['rewrite'] = true;
        $args['has_archive'] = 'blog'; // ページ名
    }
    return $args;
}
add_filter( 'register_post_type_args', 'post_has_archive', 10, 2 );

このコードを1.の場合はfunctions.phpに追加、2.の場合はCodeSnippetsで追加します。

注意点として、

$args['has_archive'] = 'blog'; // ページ名

のところで、blogというページ名を付けていますが、既にblogというページ名やスラッグがある場合は、かぶらない名前にこのコードを変更して下さい。

CodeSnippetsをお使いの方はインポート用のファイルをこちらに置いておきますので、ダウンロードして解凍して、インポート、有効化してお使い下さい。

投稿一覧表示.code-snippets

コードを追加した後に必ず「パーマリンク設定」「変更を保存」をする

このコードを入れたら必ず、 

ダッシュボード 設定>パーマリンク設定をクリックし、

表示されたページの一番下にある

変更を保存をクリックします。

投稿一覧ページ表示の確認

http://ホームページURL/blog/ で表示すると、

このようにブログ一覧ブログ用サイドバー(テーマによって異なる)が表示されました。このようにこのカスタマイズをすると固定ページがなくてもURLだけで投稿一覧が表示できるようになります。

この記事が気に入ったら
いいね または フォローしてね!

あなたのシェアが励みになります!
  • URLをコピーしました!
  • URLをコピーしました!

コメント

コメントを残す

記事をざっと見る