カスタム投稿タイプの作成と設定


WordPressで通常のページや投稿の他に、製品や紹介文、プロジェクトといった異なるタイプのコンテンツを表示させたい場合は、カスタム投稿タイプを定義します。

基本操作

管理画面>Types>タイプ&タクソノミーに移動し、「Add Custom PostType」をクリックします。

WordPress管理画面からTypesプラグインへ移動

「Add Custom PostType」をクリック

カスタム投稿タイプ作成画面

新規作成画面では、最初にカスタム投稿タイプの名前とスラグ、説明を入力します。上の画像では、家(Houses)という名前のカスタム投稿タイプを作成してみました。
Name and descriptionの欄は上から順に、

  • Custom post type name plural:複数形のカスタム投稿タイプ名(必須)。
  • Custom post type name singular:単数形のカスタム投稿タイプ名(必須)。
  • Slug:スラグ名(必須)。スラグの欄はWordPressがカスタム投稿タイプを識別する他、アーカイブページのURLの一部に使用されるので、半角英数字やアンダースコアで記述します。
  • Description:説明(任意)。
  • Icon:WordPress管理画面のメニューに表示されるアイコンを選択できます。

投稿タイプ名と説明については日本語で記述しても問題ありませんが、投稿タイプ名は複数形と単数形が同一だとエラーになります。したがって英語で入力しておいた方が無難でしょう。なお、画面上の表示についてはこの後に説明するオプションから変更できます。

名前とスラグを入力したら、ひとまず画面の一番下まで移動し「Save Custom Post Type」をクリックして内容を保存します。これで新しいカスタム投稿タイプが使用可能になりました。

保存するとWordPress管理画面のメニューに表示される

 

オプション設定

標準のオプション設定でも問題なく使うことができますが、作成したカスタム投稿タイプのWordPress内での表示方法やアーカイブページ生成の有無、検索結果に含めるかどうか、他のカスタム投稿タイプとの関連づけなど、サイト運用にあたって重要なオプションを設定することができます。

可視性(Visibility)

WordPressの管理画面にカスタム投稿タイプを表示させるかどうかを選択します。

  • Make this type public (公開する) :WordPress管理画面のメニューに表示されます。通常はこちら。
  • Hidden(隠す):ユーザーはこの投稿タイプを直接編集できなくなります。
    ※ただし、親子関係を設定したカスタム投稿タイプの場合、接続しているカスタム投稿タイプの投稿編集画面からデータを作成・編集することは可能です。
  • Menu position:WordPress管理画面のメニュー上の順番を変更します。表示させたい位置に応じて数字を入力します(下の画像参照)。詳細についてはCodexのパラメーター(menu_position)を参照して下さい。
  • Menu icon:詳細についてはCodexのパラメーター(menu_icon)を参照して下さい。

 

投稿タイプで使用するタクソノミーの選択(Select Taxonomies

投稿タイプで使用するタクソノミーを選択します。下の画像では、Houses(家)というカスタム投稿タイプを分類するために、あらかじめ作成しておいた「Property Types (物件タイプ)」にチェックを入れます。なお、カスタムタクソノミーの作成画面から、カスタム投稿タイプを関連づけることもできます。


 

カスタム投稿タイプで使用するラベルの設定(Labels)

ラベルは、たとえば「新しいの追加」または「が見つかりません」といったように、管理画面とは異なる場所に表示されるテキスト部品です。※にはカスタム投稿タイプ名が入ります。

新規投稿画面のラベル変更前

新規投稿画面のラベル変更後

通常は、デフォルトのままで問題ありませんが、ラベル欄を調整することで、視覚的に、より便利に使うことができます。

表示するセクションの選択(Display Sections

ここでは、カスタム投稿タイプの記事を入力・編集する画面で表示されるWordPressのセクションのON・OFFを切り替えることができます。

  1. Title:投稿記事のタイトル(初期値:ON)
  2. Editor:本文入力エリアのエディター(初期値:ON)
  3. Comments:コメント機能のオン・オフ設定
  4. Trackbacks:トラックバック送信先入力エリア
  5. Revisions:記事のリビジョン管理
  6. Author:記事の投稿者を変更するためのドロップ ダウンメニュー
  7. Excerpt:抜粋テキストの入力エリア
  8. Thumbnail:アイキャッチ画像のアップロード機能
  9. custom-fields:ワードプレス標準のカスタムフィールド入力エリア
  10. page-attributes:ページ属性。親ページの設定及び表示順序の変更
  11. post-formats:投稿フォーマット(標準、アサイド、画像、引用等々)

タイトル、エディタ、投稿者、アイキャッチ、フォーマット セクションの表示

ディスカッション・コメント、トラックバック、抜粋、属性 セクションの表示

リビジョン、カスタムフィールド セクションの表示

投稿画面の表示オプションで選択できる表示項目も変化する

デフォルトではタイトルとエディタ以外のワードプレス標準のセクションは非表示になっているので必要に応じてチェックボックスをオンにします。なおリビジョンについては、他のプラグイン等でリビジョン作成を無効にしている場合、チェックボックスをオンにしてもリビジョンに関するセクションを表示することはできません。またページ属性セクションを表示させるには、下記、高度な設定の、「hierarchical(階層構造)」にチェックを入れる必要があります。


 

さらに高度な設定(Options)

「オプション」については、通常デフォルトのままで問題ありませんが、必要に応じて設定することができます。

高度な設定セクション

  • Rewrite(パーマリンクの上書き):カスタム投稿タイプのパーマリンクを書き換えます。標準のWordPressのURLロジックとカスタムURL書式を選択できます。初期設定はONで、カスタム投稿タイプ(画面上部)で定義したスラグが使用されます。
  • パターン1(上書きON、WordPress標準ロジック、投稿名:テスト物件)

    パターン2(上書きON、カスタム書式(カスタムスラグ:custom-style、投稿名:テスト物件)

    パターン3(上書きOFF、WordPress標準ロジック、投稿名:テスト物件)

  • Allow permalinks to be prepended
    with front base
    (パーマリンクの前に固定リンク名を付加する)
    :このオプションをONにすると、例えば、サイトの固定リンク(下図赤線部分)が、「/blog/」となっている場合、カスタム投稿タイプのスラグ「/property/」の前に「/blog/」が付加されます。
  • Feeds(フィード):このカスタム投稿タイプのフィードを公開(生成)するかを選択します。下のオプション「にアーカイブがあります(has_archive)」をオンにしている場合は、アーカイブページは維持しつつも、フィードの生成をOFFにすることができます。
  • Pages:このカスタム投稿タイプのページは、動的(ポスト)または静的(ページ)のコンテンツの一部である。
  • has_archive(アーカイブの有無):このカスタム投稿タイプのアーカイブページを生成するかを選択します。
  • show_in_menu(メニュー内に表示):管理画面にこの投稿タイプを表示するかどうか。表示するには下のshow_ui がONにします。
  • show_ui:この投稿タイプを管理するデフォルトUIを生成するかどうか。
  • publicly_queryable:フロントエンドでpost_typeクエリが実行可能かどうか。OFFにするとカスタム投稿をプレビューも表示もできなくなります。
  • exclude_from_search(検索から除外):このカスタム投稿タイプを検索結果から除外させます。
  • hierarchical(階層構造):固定ページのように、カスタム投稿タイプで階層や順序を指定することができます。チェックすると前述の「表示するセクション」でページ属性の表示を操作できるようになります。
  • can_export(エクスポートの許可):このカスタム投稿タイプのエクスポートを許可します。
  • show_in_nav_menus(ナビメニューでの表示):ナビゲーションメニューでこの投稿タイプが選択可能かどうか。
  • query_var:クエリの禁止・許可
  • Permalink epmask:この投稿タイプにエンドポイントを追加します。詳しくはこちらを参照してください(英語)。

 

投稿タイプに親子関係を設定する(Post Relationship

Post Relationshipセクションでは、なるカスタム投稿タイプを親子関係を持たせて接続することができます。例えば、「家・House」と「部屋・Room」というカスタム投稿タイプを作成した場合、「家・House」の下に「部屋・Room」を関連づけることができます。詳しくは次のページを参照して下さい。
カスタム投稿タイプに親子関係を設定する