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のアイコン名を使用します。
【参考サイト】
コメントが承認されるまで時間がかかります。