Ticket #14145: 14145.2.diff
File 14145.2.diff, 4.7 KB (added by , 15 years ago) |
---|
-
wp-admin/menu-header.php
47 47 if ( !empty($submenu[$item[2]]) ) 48 48 $class[] = 'wp-has-submenu'; 49 49 50 if ( ( $parent_file && $item[2] == $parent_file ) || ( false === strpos($parent_file, '?') && $self == $item[2] ) ) {50 if ( ( $parent_file && $item[2] == $parent_file ) || ( empty($typenow) && $self == $item[2] ) ) { 51 51 if ( !empty($submenu[$item[2]]) ) 52 52 $class[] = 'wp-has-current-submenu wp-menu-open'; 53 53 else -
wp-admin/menu.php
105 105 106 106 $_wp_last_object_menu = 25; // The index of the last top-level menu in the object menu group 107 107 108 foreach ( (array) get_post_types( array('show_ui' => true, '_builtin' => false ) ) as $ptype ) {108 foreach ( (array) get_post_types( array('show_ui' => true, '_builtin' => false, 'show_in_menu' => true ) ) as $ptype ) { 109 109 $ptype_obj = get_post_type_object( $ptype ); 110 // Check if it should be a submenu. 111 if ( $ptype_obj->show_in_menu !== true ) 112 continue; 110 113 $ptype_menu_position = is_int( $ptype_obj->menu_position ) ? $ptype_obj->menu_position : ++$_wp_last_object_menu; // If we're to use $_wp_last_object_menu, increment it first. 111 114 $ptype_for_id = sanitize_html_class( $ptype ); 112 115 if ( is_string( $ptype_obj->menu_icon ) ) { -
wp-includes/post.php
778 778 * - exclude_from_search - Whether to exclude posts with this post type from search results. Defaults to true if the type is not public, false if the type is public. 779 779 * - publicly_queryable - Whether post_type queries can be performed from the front page. Defaults to whatever public is set as. 780 780 * - show_ui - Whether to generate a default UI for managing this post type. Defaults to true if the type is public, false if the type is not public. 781 * - show_in_menu - Where to show the post type in the admin menu. True for a top level menu, false for no menu, or can be a top level page like 'tools.php' or 'edit.php?post_type=page'. show_ui must be true. 781 782 * - menu_position - The position in the menu order the post type should appear. Defaults to the bottom. 782 783 * - menu_icon - The url to the icon to be used for this menu. Defaults to use the posts icon. 783 784 * - capability_type - The post type to use for checking read, edit, and delete capabilities. Defaults to "post". … … 814 815 '_builtin' => false, '_edit_link' => 'post.php?post=%d', 'capability_type' => 'post', 'capabilities' => array(), 'hierarchical' => false, 815 816 'public' => false, 'rewrite' => true, 'query_var' => true, 'supports' => array(), 'register_meta_box_cb' => null, 816 817 'taxonomies' => array(), 'show_ui' => null, 'menu_position' => null, 'menu_icon' => null, 817 'permalink_epmask' => EP_PERMALINK, 'can_export' => true, 'show_in_nav_menus' => null 818 'permalink_epmask' => EP_PERMALINK, 'can_export' => true, 'show_in_nav_menus' => null, 'show_in_menu' => null, 818 819 ); 819 820 $args = wp_parse_args($args, $defaults); 820 821 $args = (object) $args; … … 830 831 if ( null === $args->show_ui ) 831 832 $args->show_ui = $args->public; 832 833 834 // If not set, default to the setting for show_ui. 835 if ( null === $args->show_in_menu ) 836 $args->show_in_menu = $args->show_ui; 837 833 838 // Whether to show this type in nav-menus.php. Defaults to the setting for public. 834 839 if ( null === $args->show_in_nav_menus ) 835 840 $args->show_in_nav_menus = $args->public; … … 963 968 * Builds an object with custom-something object (post type, taxonomy) labels out of a custom-something object 964 969 * 965 970 * @access private 971 * @since 3.0.0 966 972 */ 967 973 function _get_custom_object_labels( $object, $nohier_vs_hier_defaults ) { 968 974 … … 978 984 } 979 985 980 986 /** 987 * Adds submenus for post types. 988 * 989 * @access private 990 * @since 3.1.0 991 */ 992 function _add_post_type_submenus() { 993 foreach ( get_post_types( array( 'show_ui' => true ) ) as $ptype ) { 994 $ptype_obj = get_post_type_object( $ptype ); 995 // Submenus only. 996 if ( ! $ptype_obj->show_in_menu || $ptype_obj->show_in_menu === true ) 997 continue; 998 add_submenu_page( $ptype_obj->show_in_menu, $ptype_obj->labels->name, $ptype_obj->labels->name, $ptype_obj->cap->edit_posts, "edit.php?post_type=$ptype" ); 999 } 1000 } 1001 add_action( 'admin_menu', '_add_post_type_submenus' ); 1002 1003 /** 981 1004 * Register support of certain features for a post type. 982 1005 * 983 1006 * All features are directly associated with a functional area of the edit screen, such as the