WordPressでカスタム投稿タイプを設定する方法

どうも、ホワイトです。

これまでWordPressのカスタム投稿タイプについて、あれこれ書いてきましたが肝心のカスタム投稿タイプの設定方法は書いてませんでした。

うっかり…

カスタム投稿タイプはプラグインでも簡単に設定することはできますが、ここではプラグインなしでのカスタム投稿タイプの作成方法の説明です。

設定は凄く簡単で、初心者だったころの自分はプラグインがあることも知らずにプラグインなしを使い始めましたが、WordPressの知識が少ない中でも使えるぐらいなので本当に簡単だと思います。

カスタム投稿タイプとは

WordPressにある通常の投稿とは別に投稿機能を追加できるのがカスタム投稿タイプです。

新着情報のみに通常投稿を使用して、それ以外に「ブログ」や「ポートフォリオ」などといった投稿タイプを作って通常投稿との区分けをします。

デザインも全く別物で作ることが出来るので、通常投稿とは違った投稿を作ることができて便利です。

便利だからといって作り過ぎるのも管理上で大変になってしまってあまり良くありません。

カテゴリーやタグで住み分けをするには難しいものだけをカスタム投稿タイプで管理するようにしましょう。

とりあえずプラグインでのカスタム投稿タイプ設定

Custom Post Type UI」が有名ですね。

今回はこの使用方法ではないので、とりあえずのご紹介まで。

functions.phpにカスタム投稿タイプの記述をする

まずは自分が良く使う記述方法から。

register_post_type(
    'blog', //投稿タイプ名、ここではブログ
    array(
        'label'=> 'ブログ', //カスタム投稿タイプの表示名
        'public' => true,
        'query_var' => true,
        'hierarchical' => false, //記事に親子関係を持たせるかを指定する
        'rewrite' => array('slug' => 'blog'),
        'has_archive' => true, //アーカイブページを作成するかどうか指定
        'menu_position' => 5, //管理画面での表示位置指定、詳細は後述
        'supports' => array(
            'title',
            'editor',
            'custom-fields',
            'thumbnail',
            'page-attributes',
            'excerpt'
        )
    )
);

特に細かい事を考えずとも、これを記述するとカスタム投稿タイプ「ブログ」が作成されます。

最初のうちは「ブログ」というカスタム投稿タイプを作成するときは、このように書くんだと覚えてしまいましょう。

menu_positionを指定したときの参考表示位置

それぞれのメニュー項目の直下に表示されます。

5:「投稿」
10:「メディア」
15:「リンク」
20:「固定ページ」
25:「コメント」
60:「外観」
65:「プラグイン」
70:「ユーザー」
75:「ツール」
80:「設定」
100:「最下部」

supportsの内容

カスタム投稿タイプの投稿画面で入力・編集できる項目を設定できます。

通常投稿であれば、タイトル書いて、本文書いて、サムネイル入れて、と入力項目が決まっていますが、カスタム投稿タイプはそこも必要に応じて調整することが可能です。

上記の例では通常投稿とほぼ同じ項目を記述していますが、その他も含めて以下のような設定ができます。

title:タイトル
editor:エディター
thumbnail:サムネイル(アイキャッチ画像)
excerpt:抜粋
custom-fields:カスタムフィールド
revitions:リビジョン
comments:コメント
page-attributes:ページ属性
post-formats:投稿フォーマット
trackbacks:トラックバック
author:作成者

カスタム投稿タイプ設定後の注意点

functions.phpにコードを記述し、管理画面上ではメニューにカスタム投稿タイプが追加されます。

が、ここで投稿しても記事が表示されません。

テンプレートを作っていても表示されません。

必ずコード記述後にパーマリンク設定を更新しましょう!

「設定」→「パーマリンク設定」を開き、特に何も変更は行わず、下部にある「変更を保存」をクリックするだけ。

これでカスタム投稿タイプの設定が完了となります。

カスタム投稿タイプは通常投稿と同様にカテゴリーやタグを設定して記事を分類することも可能です。

カテゴリーとタグのように設定するにはこちら↓