2012-06-08 3 views
3

나는 분류가있는 사용자 정의 게시 유형을 작성하고 모두 올바르게 작동합니다. 나는이처럼 내 자신의 메뉴를 만들려면, 그러나사용자 정의 게시 유형에 show_in_menu가 설정된 경우 누락 된 분류 메뉴

MyCustomPost 
    +----------> MyCustomPost 
    +----------> Add New 
    +----------> My Taxonomy 

:

 $menu_main = add_menu_page('MyMenu', 'MyMenu', 'edit_posts', 'my_menu_key', array($this, 'menu_main'), $icon_menu, 100); 
:

MyTitle 
    +----------> MyCustomPost 
    +----------> Add New 
    +----------> My Taxonomy 

그래서, 나는 내 자신의 메뉴를 만들 워드 프레스는 메인 메뉴를 만들

내 맞춤 게시 유형을 등록 할 때 show_in_menumy_menu_key으로 설정하고 작동합니다.

MyMenu 
    +----------> MyCustomPost 

질문은 어디에 분류가 있습니까? Add New sub menu? 아이디어가 있으십니까?

답변

1

멋진 트릭이 show_in_menu입니다. 하지만 분류법 하위 메뉴는 built in a hard-coded manner이고 register_taxonomydoesn't take any parameter입니다. 아마도 Add New 하위 메뉴는 동일한 방식으로 작동합니다. 그것은 매우 간단

// PHP 5.3+ anonymous function 
add_action('admin_init', function() { 
    global $submenu; 
    $submenu['my_menu_key'][10] = $submenu['edit.php?post_type=YOUR-CPT-SLUG'][10]; 
    $submenu['my_menu_key'][15] = $submenu['edit.php?post_type=YOUR-CPT-SLUG'][15]; 
}); 
0

:

해결 방법은 global $submenu를 조작하는 것입니다.

'menu_name' => 'Docs',은 자세한 내용은 워드 프레스 코덱스을 확인합니다 추가 : http://bitly.com/194qjN3

0

를 대신 $ 하위 메뉴가 글로벌 조작, 당신이 사용하여이 작업을 수행 할 수 있습니다 내장 된 워드 프레스의 기능을 더 나은 미래의 호환성을 위해.

add_action('admin_menu', 'add_tax_menus'); 
function add_tax_menus() { 
    $key = 'edit.php?post_type=CUSTOM_POST_TYPE_SLUG'; 
    add_submenu_page($key, 'My Page Title', 'My Menu Title', 'manage_categories', 'edit-tags.php?taxonomy=TAXONOMY_SLUG&post_type=CUSTOM_POST_TYPE_SLUG'); 
}