web-dev-qa-db-ja.com

カスタムポストタイプメニュー

私たちのメインのWebサイトはWordPressに移植されているので、私は仕事のためのプラグインを書いています。私はこのプラグインのために計画された複数のカスタム投稿タイプを持っていて、それらを1つのメインメニューにグループ化したいと思います。

基本的に、 "Visitors"リンクを "Argus Admin"の下に配置したい他のリンクを追加する必要はありません。 「欲しいところはどこでも」.

    $v_args = array(
        'labels' => array (
                'name' => 'Visitors',
                'singular_name' => 'Visitor',
                'add_new_item' => 'Register New Visitor', // TODO: http://codex.wordpress.org/Function_Reference/register_post_type#Arguments
            ),
        'public' => true,
        'publicly_queryable' => false,
        'exclude_from_search' => true,
        'show_ui' => true,
        'show_in_menu' => 'argus',  // TODO: This doesn't work...
        'hiearchical' => false,
        'supports' => array( '' ),
        'register_meta_box_cb' => array ( &$this, '_wp_visitor_meta_box_cb' ),
    );

    register_post_type( $post_type, $v_args );

私が作成したこの私のメニューページ:

add_menu_page( 'Argus', 'Argus Admin', 'manage_options', 'argus', array( &$this, '_wp_argus_main_panel' ), '', -1 );
4
Zack

あなたはそれを正しく得ました、しかしあなたはそれが実際に実行されたところでWordPress 3.1を待つ必要があります。待てない場合は、 'show_in_menu'をfalseに変更し、add_submenu_page()関数で 'argus'をトップページとして定義し、Argus管理メニューの下に「手動で」訪問者を追加することができます。

だからあなたのコードは次のようになります。

$v_args = array(
        'labels' => array (
                'name' => 'Visitors',
                'singular_name' => 'Visitor',
                'add_new_item' => 'Register New Visitor',
            ),
        'public' => true,
        'publicly_queryable' => false,
        'exclude_from_search' => true,
        'show_ui' => true,
        'show_in_menu' => 'flase',
        'hiearchical' => false,
        'supports' => array( '' ),
        'register_meta_box_cb' => array ( &$this, '_wp_visitor_meta_box_cb' ),
    );

    register_post_type( $post_type, $v_args );

その後

add_menu_page( 'Argus', 'Argus Admin', 'manage_options', 'argus', array( &$this, '_wp_argus_main_panel' ), '', -1 );
add_submenu_page( argus, 'Visitors', 'Visitors', 'manage_options' , 'visitors' , 'edit.php?post_type=visitors'); 

お役に立てれば

6
Bainternet

これが最終的にWordPressに移植されるのであれば(のように、あと数週間ではありません)、WordPress 3.1が出るのを待つことをお勧めします。もうすぐ期限が到来しており、すでにこれは完了しています。もちろん、あなたは待っているのをスキップして、ただトランクで成長することができました。あなたがしているやり方は、何も変更せずに3.1でうまくいくはずです。

1
John P Bloch