【WordPress】カスタム投稿タイプのメニューの中にオリジナルのメニューページ(サブメニュー)を追加する方法

【WordPress】カスタム投稿タイプのメニューの中にオリジナルのメニューページ(サブメニュー)を追加する方法

カスタム投稿タイプのメニュー一覧の中にオリジナルのメニュー(サブメニュー)を追加する方法のメモです。

カスタム投稿タイプのメニューにページを追加する

カスタム投稿タイプの「新規追加」や投稿タイプについたタクソノミーの編集メニューの他に、オリジナルのサブメニューを追加する事ができます。

投稿タイプに関連する設定を用意する必要があって、なるべく投稿タイプと近いところにメニューをおいておきたいときなどに活躍しそうな方法です。

コードはこちら▼

function my_post_menu() {
	add_submenu_page(
		'edit.php?post_type=[カスタム投稿タイプ]',
		'オリジナルメニュー', // メニューページのタイトル(title)
		'オリジナル', // メニューに表示されるタイトル
		'manage_options', // 権限
		'my-post-menu', // スラッグ
		'my_post_menu_html' // メニューページの内容を出力する処理を行う関数名
	);
}

add_action( 'admin_menu', 'my_post_menu' );

function my_post_menu_html() {
	if ( ! current_user_can( 'manage_options' ) ) {
		wp_die( __( 'You do not have sufficient permissions to access this page.' ) );
	}
	?>
	<div class="wrap">
		<div id="my-post-menu">
			<h1>オリジナルメニュー</h1>
			<p>メニューの中身を追加していきます。</p>
		</div>
	</div>
	<?php
}

※「edit.php?post_type=[カスタム投稿タイプ]」部分は適宜調整してください。

「投稿」メニューにオリジナルのサブメニューを追加したときも内部的にはadd_submenu_pageを使っているのでほとんど同じような書き方になりました。

【WordPress】「投稿」メニューの一覧にオリジナルのメニューを追加する方法
管理画面の「投稿」メニューの中にオリジナルのメニューページを追加する方法のメモです。
yosiakatsuki.net

add_submenu_pageの第一引数の部分はカスタム投稿タイプの一覧ページを開いて、URLのedit.php?~~~の部分をコピーすると簡単です!