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 = '' ) { |
| 1534 | 1534 | |
| 1535 | 1535 | foreach (array_keys( (array)$submenu ) as $parent) { |
| 1536 | 1536 | foreach ( $submenu[$parent] as $submenu_array ) { |
| 1537 | | if ( isset( $_wp_real_parent_file[$parent] ) ) |
| | 1537 | if ( isset( $_wp_real_parent_file[$parent] ) ) { |
| 1538 | 1538 | $parent = $_wp_real_parent_file[$parent]; |
| | 1539 | } |
| 1539 | 1540 | if ( !empty($typenow) && ($submenu_array[2] == "$pagenow?post_type=$typenow") ) { |
| 1540 | 1541 | $parent_file = $parent; |
| 1541 | 1542 | return $parent; |
| 1542 | 1543 | } elseif ( $submenu_array[2] == $pagenow && empty($typenow) && ( empty($parent_file) || false === strpos($parent_file, '?') ) ) { |
| 1543 | 1544 | $parent_file = $parent; |
| 1544 | 1545 | 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 { |
| 1546 | 1552 | if ( isset( $plugin_page ) && ($plugin_page == $submenu_array[2] ) ) { |
| 1547 | 1553 | $parent_file = $parent; |
| 1548 | 1554 | return $parent; |
| 1549 | 1555 | } |
| | 1556 | } |
| 1550 | 1557 | } |
| 1551 | 1558 | } |
| 1552 | 1559 | |