2015-10-07 37 views
2

分類我試圖表現出管理菜單項下自定義分類這僅僅是一個頁面即http://example.com/wp-admin/admin.php?page=blaWordPress的表演下,定製管理菜單

據WordPress的開發。爲register_taxonomyshow_in_menu頁面它說如下:

「一些字符串」 - 如果現有的頂級頁面,如「tools.php」或「?edit.php post_type =頁面」,後類型會作爲其子菜單放置。

這是否意味着分類法不能顯示在下面的任何東西之下?

PHP

<?php 
// hook into the init action and call create_book_taxonomies when it fires 
add_action('init', 'create_book_taxonomies', 0); 

// create two taxonomies, genres and writers for the post type "book" 
function create_book_taxonomies() { 
    // Add new taxonomy, make it hierarchical (like categories) 
    $labels = array(
     'name'    => _x('Genres', 'taxonomy general name'), 
     'singular_name'  => _x('Genre', 'taxonomy singular name'), 
     'search_items'  => __('Search Genres'), 
     'all_items'   => __('All Genres'), 
     'parent_item'  => __('Parent Genre'), 
     'parent_item_colon' => __('Parent Genre:'), 
     'edit_item'   => __('Edit Genre'), 
     'update_item'  => __('Update Genre'), 
     'add_new_item'  => __('Add New Genre'), 
     'new_item_name'  => __('New Genre Name'), 
     'menu_name'   => __('Genre'), 
    ); 

    $args = array(
     'hierarchical'  => true, 
     'labels'   => $labels, 
     'show_ui'   => true, 
     'show_in_menu'  => 'bla', // not working | tried admin.php?page=bla as well, also not working 
     'show_admin_column' => true, 
     'query_var'   => true, 
     'rewrite'   => array('slug' => 'genre'), 
    ); 

    register_taxonomy('genre', array('book'), $args); 
} 

回答

1

我發現解決此問題,下面的代碼的方式:

add_action('admin_menu', 'shmeh_menu'); 
    add_action('parent_file', 'menu_highlight'); 

    function shmeh_menu() { 
     add_submenu_page('bla', 'Shmeh', 'Shmeh', 'manage_options', 'edit-tags.php?taxonomy=shmeh'); 
    } 

    function menu_highlight($parent_file) { 
     global $current_screen; 

     $taxonomy = $current_screen->taxonomy; 
     if ($taxonomy == 'shmeh') { 
      $parent_file = 'bla'; 
     } 

     return $parent_file; 
    }