大阪府堺市のWEB制作(ホームページ制作)事務所です

[WordPress]トップ以外で全カテゴリの投稿一覧の出し方

最終更新日:2022.05.23 [月] 公開日:2018.09.06 [木] カテゴリー:WordPress 備忘

全カテゴリーを含んだ投稿一覧を作る方法です。
普通にしたらトップページがそれに当たるわけですが、トップページが固定ページで固定のデザインを表示させたり、いろいろ事情があってトップを普通にブログ的な投稿一覧にできないことは本当に多々あります。

企業サイト、小売業のサイトなどほとんどそちらの方が多いくらいじゃないかと。

多分、これってめっちゃ使う人多いと思うんですよね。
私すっごい使うんです。
なんでWP本体にこの機能がないのか。。とても不思議なんですけどね。

とにかく、そんなカテゴリを超えた、投稿全てをトップ以外でアーカイブとして出す方法です。



方法その1:管理画面の設定→表示設定の中のホームページの表示より固定ページに投稿一覧を当てる

ポピュラーな方法だと思うのですが・・・

固定ページを一つ作る

一覧を表示させるページになる固定ページを作ります。
これが全アーカイブ一覧を表示させるページになります。

管理画面の設定→表示設定の中のホームページの表示から設定


設定→表示設定の中の項目でこのように設定します。
これで当てた固定ページがアーカイブ一覧になります。

ちなみに、同時にホームページも設定する必要があり、ホームページもまた固定ページを当てる必要があります。
固定ページにテンプレートを当てるなりでしてる場合はそのまま当てたらいいと思うのですが、
home.phpとかfront-page.phpでやってる場合はこれ困るんですよねえ、、、その場合は次の方法で行きましょうか。

方法その2:function.phpで投稿のアーカイブ一覧を有効にする

function.phpに次のコードを追加してください

function post_has_archive( $args, $post_type ) {
    if ( 'post' == $post_type ) {
        $args['rewrite'] = true;
        $args['has_archive'] = 'all-archives'; // ページ名、任意で変更可能
    }
    return $args;
}
add_filter( 'register_post_type_args', 'post_has_archive', 10, 2 );

そしてパーマリンクの設定を更新してください

あとは、そのドメインの末尾に/all-archives(ページ名、任意で変更可能)とつけて、パーマリンクを更新したら、一覧が出ます。

ただし、もし、パーマリンクを「/post/%post_id%」とかにしてる場合は、
「/post/all-archives」を末尾に付けたら出ます。
パーマリンクに合わせて調整してください。


スポンサーリンク

コメントを残す