Make WordPress Core


Ignore:
Timestamp:
03/04/2010 12:15:55 AM (14 years ago)
Author:
ryan
Message:

Fix submenus for post types. Props TobiasBg. see #12453

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/wp-admin/admin.php

    r12982 r13579  
    7373$editing = false;
    7474
    75 if (isset($_GET['page'])) {
     75if ( isset($_GET['page']) ) {
    7676    $plugin_page = stripslashes($_GET['page']);
    7777    $plugin_page = plugin_basename($plugin_page);
    7878}
     79
     80if ( isset($_GET['post_type']) )
     81    $typenow = sanitize_user($_GET['post_type'], true);
     82else
     83    $typenow = '';
    7984
    8085require(ABSPATH . 'wp-admin/menu.php');
     
    8287do_action('admin_init');
    8388
    84 if (isset($plugin_page) ) {
    85     if ( ! $page_hook = get_plugin_page_hook($plugin_page, $pagenow) ) {
     89if ( isset($plugin_page) ) {
     90    if ( !empty($typenow) )
     91        $the_parent = $pagenow . '?post_type=' . $typenow;
     92    else
     93        $the_parent = $pagenow;
     94    if ( ! $page_hook = get_plugin_page_hook($plugin_page, $the_parent) ) {
    8695        $page_hook = get_plugin_page_hook($plugin_page, $plugin_page);
    8796        // backwards compatibility for plugins using add_management_page
     
    96105        }
    97106    }
     107    unset($the_parent);
    98108}
    99109
     
    105115else if ( isset($pagenow) )
    106116    $hook_suffix = $pagenow;
    107 
    108 if ( isset($_GET['post_type']) )
    109     $typenow = $_GET['post_type'];
    110 else
    111     $typenow = '';
    112 // @todo validate typenow against post types.
    113117
    114118set_current_screen();
Note: See TracChangeset for help on using the changeset viewer.