カスタム投稿タイプとは?
カスタム投稿タイプとは、分かりやすく言えば
「デフォルトで設置されている『ブログ』以外のブログ機能を追加できる機能、およびその仕組み」
のことです。
WordPressには、元から「投稿」という記事ページがありますが
このブログ機能は好きなように追加・編集・削除などをすることができ、これをカスタム投稿タイプといいます。
プラグインを導入したり、自身でfunctions.phpにコーディングをすることによって
下のように、デフォルトで実装されている「投稿」以外の新しいカスタム投稿タイプを追加することができます。

例えば、建築会社さんがHPを制作したいとなった際、自分たちの活動の様子を伝える「投稿」だけでなく
今まで建設した家の実績を「建築実績」として、ブログのように投稿していきたい。
そういった要望がある際は、Web制作会社がフリーランスのWeb制作者が
このカスタム投稿タイプという機能を利用して、「建築実績」という欄を用意してあげる、というわけです。
プラグインを利用する場合【初心者向け】
カスタム投稿タイプを作れるプラグインは複数ありますが、今回は「Custom Post Type UI」の使い方をご紹介します。
①プラグイン「Custom Post Type UI」をインストール、有効化
まずは、プラグインの「新規追加」から「Custom Post Type UI」と検索し、出てきたプラグインをインストール&有効化しましょう。

②新規投稿タイプを追加する
設定ができたら、新規の投稿タイプを追加していきましょう。
管理画面に「CPT UI」というメニューが追加されているはずですので、こちらを選択。

今回は、冒頭の例で出した「建設実績」と「イベント」というカスタム投稿タイプを作っていきたいと思います。
まずは、「建設実績」。

投稿タイプのスラッグと、ラベルを決めていきます。
複数形のラベルと単数形のラベルは、区別する必要がないなら同じ を入れてOKです。
「投稿タイプを追加」を押すと、このように投稿タイプが追加されます。

もし、デフォルトの投稿タイプの下に配置したい場合は、メニューの位置を「5」に設定しましょう。
追加した投稿タイプは、デフォルトの投稿と同じように「新規投稿」で投稿を追加したり、投稿を編集もできたりします。
続いては、イベントの設定をしていきます。

投稿タイプを追加すると、建設実績同様、管理画面に追加されます。

このように、Custom Post Type UI を利用するとカスタム投稿タイプが簡単に追加できます。
投稿タイプを編集する
Custom Post Type UIでは、既に設定した投稿タイプを編集することもできます。
主な項目と、その意味はこちら。
パブリック(public) | 投稿タイプを公開するかどうか。trueは公開、falseは非公開。 |
アーカイブ(has_archive) | アーカイブを持つかどうか。trueだと持つ。 |
ヒエラルキー(hierarchical) | trueだと、カスタム投稿タイプに階層構造を持たせられる。 |
メニューの位置(menu_position) | 管理画面でのメニューの位置を決める。5にすると、デフォルト投稿の下に来る。 |
サポート(supports) | 投稿画面に表示させる機能(項目)を指定する。 |
自作する場合【中級者向け】
カスタム投稿タイプを自作する場合は、functions.phpにコーディングをしていきます。
※ただし、エラーを出してしまうとサイトが表示されなくなったり、管理画面にログインできなくなってしまう可能性がありますので
必ずバックアップを取ってからfunctions.php内に記述をすることをお勧めします。
例えば、冒頭でも紹介したような「会社実績」のカスタム投稿タイプを作成する場合は、以下の通りになります。
// カスタム投稿タイプ「会社実績」を追加
add_action('init', 'create_performance');
function create_performance() {
register_post_type('performance', array(
'labels' => array(
// 投稿タイプの名称
'name' => '会社実績',
// この投稿タイプのオブジェクト1個の名前
'singular_name' => '会社実績',
),
// 公開するかどうか。
'public' => true,
// post_typeクエリが実行可能かどうか。
'publicly_queryable' => true,
// 管理するデフォルトUIを生成するかどうか。初期値: public引数の値
'show_ui' => true,
// query_varキーの名前。初期値: true - $post_typeの名前
'query_var' => true,
// 投稿タイプのパーマリンクのリライト方法を変更。初期値: true
'rewrite' => true,
// 権限の指定。初期値: 'post'
'capability_type' => 'post',
// アーカイブページを有効にするかどうか。初期値: false
'has_archive' => true,
// 階層構造を持つかどうか。初期値: false
'hierarchical' => false,
// メニューの表示位置を示す。5はデフォルトの投稿の下
'menu_position' => 5,
// 投稿できる項目。初期値: titleとeditor
'supports' => array('title', 'editor', 'thumbnail')
));
}
上のようなコードをfuncitons.phpに実装すると、下の画像のようにデフォルトの投稿の下に「会社実績」という投稿タイプが追加されます。

最後に
ということで、今回はプラグインやコードを利用してカスタム投稿タイプの追加を行う方法を紹介しました。
カスタム投稿タイプの実装方法をマスターできたら、かなり自由度が高いカスタマイズができるようになりますのでぜひ、何回も記事を読み返してみてくださいね。
このブログでは、Web制作に関する話題やコーディング、WordPressなどに役立つ情報を発信しているので
次回の記事もぜひ見てくださいね。

記事をSNSで拡散すると、有益な投稿をするアカウントだと思われ
フォロー数やいいね数が増えるかもしれないよ!
コメント