Help us understand the problem. What is going on with this article?

【WordPress】カスタム投稿タイプを他の投稿タイプの入れ子にしてサブメニューとして表示させる方法

More than 1 year has passed since last update.

カスタム投稿タイプを通常の投稿や固定ページの入れ子にする方法を書いていきます。

show_in_menuパラメータを利用する

メニューのどこに表示するかを設定する場合は、menu_positionパラメータを利用しますが、何かのサブメニューとして表示させる場合はshow_in_menuパラメータを使います。

functions.php
function create_custom_post_type() { 
    register_post_type('custom_post_type',
        array(
            'labels' => array(
            'name' => 'カスタム投稿タイプ',
            'singular_name' => 'カスタム投稿タイプ'
        ),
        'public' => true,
        'show_ui' => true,
        'has_archive' => true,
        'supports' => array('title','editor','author','thumbnail','excerpt','custom-fields','comments'),
        'show_in_menu' => 'edit.php' //通常の投稿タイプのサブメニューとする場合
        )
    );
}
add_action('init','create_custom_post_type');

上記コードは、通常の投稿タイプのサブメニューとする例です。他の投稿タイプのサブメニューにしたい場合は、edit.php?post_type={任意の投稿タイプ名}と指定すればいい形となります。
なので、固定ページのサブメニューにしたい場合は以下のように指定します。

'show_in_menu' => 'edit.php?post_type=page'

参考

awesam86
Webエンジニアをメインに、iOS&Androidのアプリ開発とかもしています。よく使う言語はPHP、JavaScript、Java、Objective-C、Swiftといった感じです。ゲーム作りにも興味があるのでUnityを使ったアプリ作りを勉強中。
Why not register and get more from Qiita?
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away