WordPress.org

Make WordPress Core

Ticket #22895: 22895.3.diff

File 22895.3.diff, 1.5 KB (added by joshlevinson, 6 years ago)

Patch refresh

  • src/wp-admin/includes/plugin.php

     
    17281728                if ( !isset($_registered_pages[$hookname]) )
    17291729                        return false;
    17301730        }
    1731 
     1731        $pagetest = $pagenow;
    17321732        if ( empty( $parent) ) {
    1733                 if ( isset( $_wp_menu_nopriv[$pagenow] ) )
     1733                if ( $pagenow == "edit.php" && isset( $_REQUEST['post_type'] ) ) {
     1734                        $pagetest .= '?post_type=' . $_REQUEST['post_type' ];
     1735                }
     1736                if ( isset( $_wp_menu_nopriv[$pagetest] ) )
    17341737                        return false;
    1735                 if ( isset( $_wp_submenu_nopriv[$pagenow][$pagenow] ) )
     1738                if ( isset( $_wp_submenu_nopriv[$pagetest][$pagetest] ) )
    17361739                        return false;
    1737                 if ( isset( $plugin_page ) && isset( $_wp_submenu_nopriv[$pagenow][$plugin_page] ) )
     1740                if ( isset( $plugin_page ) && isset( $_wp_submenu_nopriv[$pagetest][$plugin_page] ) )
    17381741                        return false;
    17391742                if ( isset( $plugin_page ) && isset( $_wp_menu_nopriv[$plugin_page] ) )
    17401743                        return false;
    17411744                foreach (array_keys( $_wp_submenu_nopriv ) as $key ) {
    1742                         if ( isset( $_wp_submenu_nopriv[$key][$pagenow] ) )
     1745                        if ( isset( $_wp_submenu_nopriv[$key][$pagetest] ) )
    17431746                                return false;
    17441747                        if ( isset( $plugin_page ) && isset( $_wp_submenu_nopriv[$key][$plugin_page] ) )
    17451748                        return false;
     
    17571760                                        return true;
    17581761                                else
    17591762                                        return false;
    1760                         } elseif ( $submenu_array[2] == $pagenow ) {
     1763                        } elseif ( $submenu_array[2] == $pagetest ) {
    17611764                                if ( current_user_can( $submenu_array[1] ))
    17621765                                        return true;
    17631766                                else