実務でカスタム投稿タイプを作成する機会があったのでメモ。
テーマファルダのfunctions.phpを編集します。なければ新規で作成します。
functions.php
<?php //この中に書いていきます
add_action('init', 'create_post_type');
//create_post_typeのactionを定義
function create_post_type () {
register_post_type(
'column', array( /*任意の名前*/
/*ラベルの作成*/
'labels' => array(
'name' => 'コラム', //管理画面などで表示する名前
'singular_name' => 'コラム', //管理画面などで表示する名前(単数形)
'menu_name' => 'コラム', //管理画面メニューで表示する名前(nameより優先される)
'add_new_item' => '新しいコラム', //新規作成ページのタイトルに表示される名前
'add_new' => '新規追加', //メニューの新規追加ボタンのラベル
'new_item' => '一覧ページの「新規追加」ボタンのラベル',
'edit_item' => '編集', //編集ページのタイトルに表示される名前
'view_item' => '編集', //編集ページの「投稿を表示」ボタンのラベル
'search_items' => 'コラムの検索', //一覧ページの検索ボタンのラベル
'not_found' => '見つかりません。', //一覧ページに投稿が見つからなかったときに表示
'not_found_in_trash' => 'ゴミ箱にはありません。' //ゴミ箱に何も入っていないときに表示
)
'descriptions' => 'コラムの概要', //カスタム投稿ページの概要文
'hierarchical' => false, //falseの場合、階層構造なし
'public' => true, //ユーザーが内容を投稿する場合true(通常はtrue)
'has_archive' => true, //アーカイブページを作成するか否かを設定(trueでindexページを作成)
'exclude_from_search' => false, //WPの検索機能から検索した際、検索対象に含めるか否かを設定(※trueの場合は検索対象に含めない)
'taxonomies' => [], //投稿の分類に用いるカスタムカテゴリ・カスタムタグ[配列]
//管理画面から投稿できる項目
'supports' => array(
'title', //タイトル表示を有効に
'editor' //本文の表示を有効に
)
)
);
};
?>
とりあえずこんな感じで記入していきます。
また何かわかったら追記していきます。
プラグイン使うとちゃちゃっと出来ます。
PHP書くのめんどくさいとか時間がねえよボケーな感じでしたら、下記のプラグインを使ってみてください。
- Types
- Custom Post Type UI
特に、Typesは日本語にも対応しており、かつカスタムフィールドの設定もできて一石三鳥なプラグインです。