WordPressでカスタム投稿タイプとカテゴリー一覧ページを作成する方法
WordPressでは、カスタム投稿タイプを作成して、特定のコンテンツを管理することができます。今回は、「映画レビュー」というカスタム投稿タイプを作成し、カテゴリー一覧ページを作成する方法を解説します。
1. カスタム投稿タイプの作成
まず、テーマの functions.php
ファイルにカスタム投稿タイプを作成するコードを追加します。
コード例:
function create_movie_review_post_type() {
$labels = array(
'name' => '映画レビュー',
'singular_name' => '映画レビュー',
'menu_name' => '映画レビュー',
'name_admin_bar' => '映画レビュー',
'add_new' => '新規追加',
'add_new_item' => '新しい映画レビューを追加',
'new_item' => '新しい映画レビュー',
'edit_item' => '映画レビューを編集',
'view_item' => '映画レビューを表示',
'all_items' => '全ての映画レビュー',
'search_items' => '映画レビューを検索',
'parent_item_colon' => '親映画レビュー:',
'not_found' => '映画レビューが見つかりません。',
'not_found_in_trash' => 'ゴミ箱に映画レビューが見つかりません。',
);
$args = array(
'labels' => $labels,
'public' => true,
'has_archive' => true,
'rewrite' => array('slug' => 'movie-reviews'),
'supports' => array('title', 'editor', 'author', 'thumbnail', 'excerpt', 'comments'),
'taxonomies' => array('category', 'post_tag'),
'show_in_rest' => true,
'menu_position' => 5,
'menu_icon' => 'dashicons-video-alt',
);
register_post_type('movie_review', $args);
}
add_action('init', 'create_movie_review_post_type');
2. パーマリンク設定の更新
カスタム投稿タイプを作成した後、WordPressの管理画面から「設定」→「パーマリンク設定」を開き、「変更を保存」をクリックしてパーマリンク設定を更新します。
3. カスタム投稿タイプの詳細ページの作成
カスタム投稿タイプの詳細ページを作成するために、テーマフォルダ内にカスタムテンプレートファイルを作成します。
手順:
- テーマフォルダに移動
- テンプレートファイルを作成:
single-movie_review.php
- テンプレートファイルにコードを追加
コード例:
<?php
get_header();
?>
<div id="primary" class="content-area">
<main id="main" class="site-main">
<?php
while ( have_posts() ) :
the_post();
?>
<article id="post-<?php the_ID(); ?>" <?php post_class(); ?>>
<header class="entry-header">
<?php the_title( '<h1 class="entry-title">', '</h1>' ); ?>
</header><!-- .entry-header -->
<div class="entry-content">
<?php
the_content();
wp_link_pages( array(
'before' => '<div class="page-links">' . esc_html__( 'Pages:', 'textdomain' ),
'after' => '</div>',
) );
?>
</div><!-- .entry-content -->
<footer class="entry-footer">
<?php
if ( is_singular( 'movie_review' ) ) {
echo get_the_date();
echo ' by ';
echo get_the_author();
}
?>
</footer><!-- .entry-footer -->
</article><!-- #post-<?php the_ID(); ?> -->
<?php
if ( comments_open() || get_comments_number() ) :
comments_template();
endif;
the_post_navigation(
array(
'prev_text' => '<span class="nav-subtitle">' . esc_html__( 'Previous:', 'textdomain' ) . '</span> <span class="nav-title">%title</span>',
'next_text' => '<span class="nav-subtitle">' . esc_html__( 'Next:', 'textdomain' ) . '</span> <span class="nav-title">%title</span>',
)
);
endwhile;
?>
</main><!-- #main -->
</div><!-- #primary -->
<?php
get_sidebar();
get_footer();
?>
4. カテゴリー一覧ページの作成
カスタム投稿タイプのカテゴリー一覧ページを作成するために、テーマフォルダ内にテンプレートファイルを作成します。
手順:
- テーマフォルダに移動
- テンプレートファイルを作成:
taxonomy-category.php
- テンプレートファイルにコードを追加
コード例:
<?php
get_header();
?>
<div id="primary" class="content-area">
<main id="main" class="site-main">
<?php
if ( have_posts() ) :
?>
<header class="page-header">
<?php
the_archive_title( '<h1 class="page-title">', '</h1>' );
the_archive_description( '<div class="archive-description">', '</div>' );
?>
</header><!-- .page-header -->
<?php
while ( have_posts() ) :
the_post();
get_template_part( 'template-parts/content', get_post_format() );
endwhile;
the_posts_navigation();
else :
get_template_part( 'template-parts/content', 'none' );
endif;
?>
</main><!-- #main -->
</div><!-- #primary -->
<?php
get_sidebar();
get_footer();
?>
まとめ
これで、WordPressでカスタム投稿タイプとカテゴリー一覧ページを作成する方法が完了です。カスタム投稿タイプを利用することで、サイトの内容をより細かく管理・表示することができ、ユーザーにとっても分かりやすいサイトを作成することができます。必要に応じてテンプレートをカスタマイズし、魅力的なサイトを構築してください。
Contact Form 7のエラー時に該当箇所へスクロールさせる方法
3月 4, 2025Contact Form 7 でお支払い方法に応じた送付先の動的表示とメール送信内容の変更
2月 27, 2025Contact Form 7で選択項目によって必須項目を切り替える方法
2月 25, 2025