カスタム投稿タイプを作成する | SkillhubAI(スキルハブエーアイ)

カスタム投稿タイプを作成する

今回からは、最後のfront-page.phpの作成に入っていきます。

【作成順序】
  1. 開発環境の用意
  2. テーマ初期設定
  3. index.php(一覧表示)
  4. sidebar.php(サイトバー部分)
  5. single.php(記事ページ)
  6. front-page.php(サイトのトップページ)

……が、その前に、PORTFOLIOセクションからリンクするページを作りましょう。
ブログ記事とは別に、手掛けた仕事・作品を紹介できるようにします。

file

1.カスタム投稿タイプとは

WordPressにはカスタム投稿タイプという機能があります。 カスタム投稿タイプはワードプレスの通常の「投稿」とは別に、投稿する機能を追加することです。

通常の「投稿」はブログ寄りの内容、ある程度鮮度がある情報に使うことが多いです。 固定ページは反対に、鮮度が関係ない普遍的な情報であったり、1ページ内で完結する情報を掲載することが主になっています。

file

カスタム投稿タイプは、その中間のようなイメージです。 特定の項目を決め、それに関連する投稿を別仕立てに出来る機能です。

file

今回のPORTFOLIO部分(制作物の紹介)のようにブログ的な投稿にも、固定ページにも当てはまらない情報をまとめるにはうってつけの機能です。 カスタム投稿タイプを加えることで、投稿内でカテゴリーによって分けるよりも管理しやすく、ユーザーにも分かりやすい構造にすることが出来ますよ。

説明だけではピンとこないかもしれません。 実際に作ってみましょう。

2.カスタム投稿タイプを新設する

カスタム投稿タイプを作成するにはいくつか方法があります。 今回は「Custom Post Type UI」というプラグインを使用します。

WordPressの管理画面から、プラグインの新規追加画面を開いて下さい。 「Custom Post Type UI」をインストール&有効化します。

file

すると左のメニューに「CPT UI」という項目が追加されます。 投稿タイプの追加と編集、をクリックしてください。

file

  ↓

file

追加画面が開きました。

フォームに投稿タイプスラッグとラベルを打ち込みましょう。 後のfunctions.phpの記述や、front-page.phpを作るときにもこのスラッグは使用します。
今回は投稿タイプスラッグを「works」に設定しておいてください。

file

三か所入力したら、左下にある「投稿タイプを追加」ボタンをクリック。 左メニューに設定したカスタム投稿タイプ名(ラベル名)が表示されるようになります。

file

3.functions.phpに記述

functions.phpに下記コードをコピーして貼り付けて下さい。 このコードはカスタム投稿(works)のタグ・カテゴリーを、通常の投稿と共通で使えるようにするためのものです。

functions.php

<? //この行はコピーしない
// カスタム投稿のタグとカテゴリーを、通常投稿のものと一緒に表示する
function add_post_tag_archive( $wp_query ) {
  if ($wp_query->is_main_query() && $wp_query->is_tag()) {
    $wp_query->set( 'post_type', array('post','works'));
    return;
  }
  if ($wp_query->is_main_query() && $wp_query->is_category()) {
    $wp_query->set( 'post_type', array('post','works'));
    return;
  }
}
add_action( 'pre_get_posts', 'add_post_tag_archive');

【functions.php全体図】

file

4.カスタム投稿を投稿

作成したMy Worksに投稿を追加してみましょう。 新規追加をクリックしてください。

file

通常の投稿と同じくエディター画面に変わります。

file

使い方も通常投稿とほぼ一緒です。 フロントページの表示確認用に、下記3つの投稿を作ってください。 タイトルとアイキャッチが設定されていれば、本文は空もしくはサンプルテキストで良いです。

file

file

4.カスタム投稿のカテゴリーを作る

カスタム投稿タイプもsingle.phpをテンプレートに出力されます。 このままだと下図のようにカテゴリーのところが空欄になってしまうので、カテゴリーを設定してみましょう。

file

カスタム投稿のみ有効なタクソノミーを作ることも出来るのですが、今回は通常の投稿と同じカテゴリーを使います。

CPT UI>投稿タイプの追加と編集画面から「投稿タイプを選択」タブを開いてください。

file

ページの一番下までスクロールしてください。 タクソノミーという項目があります。 ここにチェックを入れると通常投稿で使用しているタグ/カテゴリーが使用できるようになります。両方にチェックを入れて「投稿タイプを保存」ボタンをクリックしてください。

Worksのエディタ画面を開いてください。 カテゴリーやタグが選べるようになっているはずです。

file

どれかのカテゴリーにチェックを入れ「更新」してみて下さい。 プレビューを見ると、空欄が埋まっているはずです。

file

これでカスタム投稿タイプの作成は完了です。