web-dev-qa-db-ja.com

カスタム投稿タイプをまとめてグループ化できますか。

これでwordpress 3.1が出ました。wpバックエンドでカスタム投稿タイプをグループ化するためのドキュメントはどこにありますか?

4
Amit Erandole

複数の投稿タイプを1つのメニューにまとめる方法を考えているのであれば、メニューを設定するときにshow_in_menu引数を使って簡単にこれを行うことができます。下記参照:

$args = array(
 'public' => true,
 'show_ui' => true, 
 'query_var' => true,
 'rewrite' => true,
 'capability_type' => 'post',
 'hierarchical' => false,
 'show_in_menu' => 'your-custom-menu-slug.php',
 'menu_position' => null,
 'supports' => array('title','editor','custom-fields'),
 'has_archive' => true
);
register_post_type('your-post-type',$args);

注:これが機能するためには、show_uiもtrueに設定する必要があります。

それからadd_menu_page関数を使ってメニューを作成します。

function add_your_menu() {
  add_menu_page( 'Multiple Post Types Page', 'Multiple Post Types', 'manage_options', 'your-custom-menu-slug.php', 'your_menu_function');
  // add_submenu_page() if you want subpages, but not necessary
}
add_action('admin_menu', 'add_your_menu');

同様に、投稿タイプを既存のメニューに添付することもできます。たとえば、特定の種類の投稿を「投稿」に、その他の投稿を「ページ」に、他の投稿を「ツール」に所属させると便利な場合があります。既存のメニューにアタッチする場合は、上記のadd_menu_page関数を無視して、カスタム投稿タイプを登録するときに$argsを変更するだけで済みます。

3
Velvet Blues

このページはGoogleでかなり上位にランクされているため、今後の参考のために、groupにしたい場合は、カスタムメニュー項目を作成する必要がありますnot同じメニューに一緒に入力する場合は、既存のメニュー項目を使用してグループ化できます。

「マスター」投稿タイプを定義することによって、あなたも同様のことをすることができます:

'show_in_menu' => 'edit.php?post_type=a_master_post_type',
1
Gavin