7

カスタム投稿(Custom Post Types)

WordPressのカスタム投稿タイプ(CPT)を使って
ブログとは別のコンテンツ(例:works, portfolio, other)を管理
投稿タイプごとにアーカイブやテンプレート、管理UIを分けてコンテンツ管理が可能になるとぐっと使いやすくなる。

大まかな手順メモ

  1. functions.php に register_post_type を追加。
  2. ラベル、supports(title, editor, thumbnail 等)、rewrite(スラッグ)を設定。
  3. archive-{post_type}.php、single-{post_type}.php を作成して表示をカスタマイズ。
  4. 必要に応じてカスタム分類(taxonomies)を register_taxonomy で追加。

(functions.php)

add_action('init', function(){
  register_post_type('works', [
    'labels' => ['name'=>'Works','singular_name'=>'Work'],
    'public' => true,
    'has_archive' => true,
    'rewrite' => ['slug' => 'works'],
    'supports' => ['title','editor','thumbnail','excerpt'],
  ]);
});

  • パーマリンク構造を変更した場合は管理画面で「設定 → パーマリンク」の保存(フラッシュ)を実行する。
  • has_archive:true により /works/ アーカイブが利用可能になる。

確認したことは以下

  • register_post_type が functions.php にある
  • archive と single テンプレートが存在する
  • 管理画面で投稿タイプが作成できる

次は「制作実績」のCPTを追加し投稿を1つ作成してアーカイブと single 表示を確認する。

コメント

タイトルとURLをコピーしました