【WordPress】カスタム投稿の一覧ページを作成する方法

WordPressはその柔軟性から、個人ブログから大規模なニュースサイトまで、さまざまな用途で使用されています。その中でも「カスタム投稿タイプ」は、特定の内容を専用に管理するための非常に強力な機能として知られています。今回は、このカスタム投稿タイプを使用して、独自の一覧ページを作成する方法を解説します。

カスタム投稿タイプとは?

カスタム投稿タイプとは、WordPressのデフォルトの投稿やページとは別に、独自の投稿の種類を作成することができる機能のことを指します。例えば、商品情報、スタッフ紹介、イベント情報など、標準の投稿とは異なる構造やデザインでコンテンツを表示したい場合に非常に役立ちます。

カスタム投稿タイプの登録

まず、独自の投稿タイプを作成するには、次のようなコードをテーマのfunctions.phpに追加する必要があります。

function custom_post_type() {
    $args = array(
        'label' => 'ポートフォリオ',
        'public' => true,
        'has_archive' => true,
        'supports' => array('title', 'editor', 'thumbnail')
    );
    register_post_type('portfolio', $args);
}
add_action('init', 'custom_post_type');

上記のコードは、portfolioという名前のカスタム投稿タイプを作成しています。labelで表示名、supportsでサポートする機能(タイトル、エディタ、アイキャッチ画像など)を指定します。

アーカイブページの作成

カスタム投稿タイプ用のアーカイブページ(一覧ページ)を作成するには、archive-{post-type}.phpという命名規則に従ったテンプレートファイルを作成します。今回の例ではarchive-portfolio.phpというファイルを作成します。

<?php get_header(); ?>

<div id="primary" class="content-area">
    <main id="main" class="site-main">

    <?php if(have_posts()) : while(have_posts()) : the_post(); ?>
        <h2><a href="<?php the_permalink(); ?>"><?php the_title(); ?></a></h2>
        <?php the_excerpt(); ?>
    <?php endwhile; endif; ?>

    </main>
</div>

<?php get_footer(); ?>

パーマリンクの更新

最後に、WordPressのパーマリンク設定を更新することで、新しいアーカイブページにアクセス可能になります。WordPress管理画面から設定 -> パーマリンク設定にアクセスし、「変更を保存」ボタンをクリックします。

まとめ

カスタム投稿タイプを使用することで、WordPressサイトの機能を拡張し、より柔軟なコンテンツ管理が可能になります。特定のコンテンツに特化したデザインや機能を追加する際に、この機能は非常に役立ちます。