時給単価UP【3大特典付き】
コーディングテクニック集100選⋙

【簡単】カスタム投稿タイプの一覧ページ表示コード【WordPress】

記事内に広告を含みます

パソ君
パソ君

・カスタム投稿タイプの一覧ページを表示するには?

こんな疑問にお答えします。

WordPressのテーマ作成時、実績やお知らせなどのカスタム投稿タイプを作成することがあるはず。

その投稿全てを一覧で表示したい場合ありますよね。

実はあるコードを使えば、簡単に表示可能です。

ジト
ジト

すぐにできるよ!

ということで、この記事では「カスタム投稿タイプの一覧ページ表示コード」について解説していきます!

この記事でわかること

カスタム投稿タイプの一覧ページ表示コード

【簡単】カスタム投稿タイプの一覧ページ表示コード【WordPress】

カスタム投稿タイプの一覧ページを表示するために、下記を紹介しますね。

  1. ファイル名
  2. ループ処理をする
  3. アクセスするURL名

順に見ていきましょう!

➀:ファイル名

まずファイル名。

カスタム投稿タイプを表示するファイルとしては下記になります。

  • archive-[slug].php
  • archive.php

他にもありますが、特定のカスタム投稿タイプに対してファイルを分けたい場合は、スラッグを用いります。

今回は例として実績一覧ページを作るとしますね。
workというスラッグ名でカスタム投稿タイプを作成。

すると「archive-work.php」というファイルを用いります。

➁:ループ処理をする

次にループ処理を使って、実際に記事を表示していきます。

記事数が違う場合やページネーションを使うなどは、案件ごとにカスタマイズしてくださいね。

メインループを使う場合

function change_posts_per_page($query) {
  if ( is_admin() || ! $query->is_main_query() )
    return;
  if ( $query->is_post_type_archive('work') ) {
    $query->set( 'posts_per_page', '-1' );
    return;
  }
}
add_action( 'pre_get_posts', 'change_posts_per_page' );
<?php if ( have_posts() ) : ?>
  <?php while(have_posts()): the_post(); ?>
    <!-- 処理内容 -->
  <?php endwhile; ?>
<?php endif; ?>

functions.phpにてアクションフックを使用して、ループ処理します。

is_post_type_archive(‘work’)部分に、カスタム投稿タイプのスラッグを記述。

メイルループを使う理由などの詳細は下記に↓

【簡単】カスタム投稿タイプ別にアーカイブ表示件数を指定【WordPress】

サブループを使う場合

<?php
  $args = array(
    'post_type' => 'work',
    'posts_per_page' => -1,
  );
  $the_query = new WP_Query($args);
?>
<?php if ($the_query->have_posts()): ?>
  <?php while ($the_query->have_posts()) : $the_query->the_post(); ?>
    <!-- 処理内容 -->
  <?php endwhile; ?>
<?php endif; wp_reset_postdata(); ?>

‘post_type’ => の部分に、カスタム投稿タイプのスラッグを記述します。

これで実績というカスタム投稿タイプの記事が表示されることになりました。

ちなみに表示件数を-1にすることで全部の記事を表示することができますよ。

【解決】WordPressのWP_queryで全部の記事取得する方法

➂:アクセスするURL名

あとはカスタム投稿タイプの一覧ページにアクセスすればOK。

アクセスするURLは下記になります。

https://example.com/カスタム投稿タイプのスラッグ名

今回の例としてはこちら↓

https://example.com/work/

これでカスタム投稿タイプの一覧ページにアクセスでき、表示することができました!

プラグインを使った場合

CPT ULを使ってカスタム投稿タイプを作成した場合、設定が必要です。

「アーカイブあり」という項目をTrueにしておきましょう。

これをすることで、アーカイブページが表示されます。

functions.phpを使った場合

functions.phpを使ってカスタム投稿タイプを作成した場合も、設定が必要です。

has_archiveをtrueにしていおきましょう。

'has_archive' => true,

これをすることで、アーカイブページが表示されます。

【簡単】カスタム投稿タイプの一覧ページ表示コード【WordPress】:まとめ

  • archive-[slug].php
  • ‘post_type’ => の部分に、カスタム投稿タイプのスラッグを記述
  • https://example.com/カスタム投稿タイプのスラッグ名
ジト
ジト

カスタム投稿タイプの一覧ページを表示する際は覚えておこう!

コメントを残す

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

CAPTCHA