WordPress.org

Make WordPress Core

Ticket #16808: 16808.patch

File 16808.patch, 1.5 KB (added by alexkoti, 5 years ago)
  • src/wp-admin/includes/plugin.php

    From bb68adc61b43a034bc9d621a9ffcb56f94a147e8 Mon Sep 17 00:00:00 2001
    From: Alex Koti <alexkoti@gmail.com>
    Date: Mon, 22 Dec 2014 09:45:41 -0200
    Subject: [PATCH] Check $pagenow in submenu with 'show_in_menu'
    
    Patch to #16808
    ---
     src/wp-admin/includes/plugin.php | 11 +++++++++--
     1 file changed, 9 insertions(+), 2 deletions(-)
    
    diff --git a/src/wp-admin/includes/plugin.php b/src/wp-admin/includes/plugin.php
    index e2e3776..15406f7 100644
    a b function get_admin_page_parent( $parent = '' ) { 
    15341534
    15351535        foreach (array_keys( (array)$submenu ) as $parent) {
    15361536                foreach ( $submenu[$parent] as $submenu_array ) {
    1537                         if ( isset( $_wp_real_parent_file[$parent] ) )
     1537                        if ( isset( $_wp_real_parent_file[$parent] ) ) {
    15381538                                $parent = $_wp_real_parent_file[$parent];
     1539                        }
    15391540                        if ( !empty($typenow) && ($submenu_array[2] == "$pagenow?post_type=$typenow") ) {
    15401541                                $parent_file = $parent;
    15411542                                return $parent;
    15421543                        } elseif ( $submenu_array[2] == $pagenow && empty($typenow) && ( empty($parent_file) || false === strpos($parent_file, '?') ) ) {
    15431544                                $parent_file = $parent;
    15441545                                return $parent;
    1545                         } else
     1546                        } elseif ( $pagenow == 'post-new.php' ) {
     1547                                $ptype_obj = get_post_type_object( $typenow );
     1548                                if ( $ptype_obj->show_in_menu && $ptype_obj->show_in_menu == $parent ) {
     1549                                        return true;
     1550                                }
     1551                        } else {
    15461552                                if ( isset( $plugin_page ) && ($plugin_page == $submenu_array[2] ) ) {
    15471553                                        $parent_file = $parent;
    15481554                                        return $parent;
    15491555                                }
     1556                        }
    15501557                }
    15511558        }
    15521559