WordPressのカスタム投稿をfunctions.phpに記述して作成してみます。
サンプルコード
カスタム投稿の作成と、いくつかオプションを設定してみます。
functions.php
function create_posttype() {
register_post_type('cly_item',
array(
// ラベルはlabel または labelsのどちらかで指定
// 'label' => '商品', // ラベルをまとめて指定
'labels' => array( // ラベルを個別に指定
'name' => '商品一覧', // 投稿タイプの一般名(通常は複数形)
'singular_name' => '商品', // 投稿タイプのオブジェクト1個の名前(単数形)
'menu_name' => '商品登録', // 左メニューの項目名のテキスト
'name_admin_bar' => '商品追加', // 管理バーの「新規」のドロップダウン内のテキスト
'all_items' => '商品一覧', // 左メニューの一覧部分に使うテキスト
'add_new' => '商品追加', // 「新規追加」のテキスト
'add_new_item' => '商品の登録', // 新規追加ページのテキスト
'edit_item' => '商品の編集', // 編集ページのテキスト
'new_item' => '新規商品', // 新規投稿のテキスト
'view_item' => 'この商品のページを表示', // 投稿を表示のテキスト
'search_items' => '商品を検索', // 検索ボタンのテキスト
'not_found' => '商品が見つかりませんでした', // 投稿が見つからなかった場合のテキスト
'not_found_in_trash' => 'ゴミ箱の中に商品が見つかりませんでした', // ゴミ箱内に投稿が見つからなかった場合のテキスト
'parent_item_colon' => '', // 親ページのテキスト
),
'description' => '商品の登録ページです', // 投稿タイプの簡潔な説明
'public' => true, // 投稿タイプをパブリックにするかどうか。ユーザーが内容を投稿する場合はtrue
'menu_position' => 5, // この投稿タイプが表示されるメニューの位置
'menu_icon' => 'dashicons-smiley', // このメニューで使用するアイコンの指定
'hierarchical' => false, // この投稿タイプが階層を持つかどうか
'supports' => array( // この投稿タイプがサポートする機能を指定
'title',
'editor',
'thumbnail',
),
'has_archive' => true, // アーカイブページを有効にするかどうか
'rewrite' => array( // この投稿タイプのパーマリンクのリライト方法を変更
'slug' => 'item' // パーマリンク構造のスラッグを変更
),
'query_var' => false, // この投稿に使用するquery_varキーの名前を指定。falseの場合はquery_varキーを使用しない。
'can_export' => true, // この投稿タイプをエクスポート可能かどうか
)
);
}
add_action('init', 'create_posttype');
投稿の項目の下にカスタム投稿が追加できました。

| register_post_type($post_type, $args) |
投稿タイプの作成や変更をする関数。 $post_type: 投稿タイプを指定。 $args: オプションを指定。 |
|---|
menu_positionの値は以下のようになります。
- 5: 投稿の下に配置
- 10: メディアの下に配置
- 15: リンクの下に配置
- 20: 固定ページの下に配置
- 25: コメントの下に配置
- 60: コメントの下の区切りの下に配置
- 65: プラグインの下に配置
- 70: ユーザーの下に配置
- 75: ツールの下に配置
- 80: 設定の下に配置
- 100: 設定の下の区切りの下に配置
menu_iconのアイコンは画像を用意してパスを指定するか、Dashiconsのアイコン名を使用します。
【参考サイト】
コメントが承認されるまで時間がかかります。