WordPress.org

Make WordPress Core

Ticket #19080: 19080.diff

File 19080.diff, 2.4 KB (added by nacin, 3 years ago)
  • wp-admin/includes/template.php

     
    849849        if ( empty( $screen ) ) 
    850850                $screen = get_current_screen(); 
    851851        elseif ( is_string( $screen ) ) 
    852                 $screen = convert_to_screen( $screen ); 
     852                $screen = WP_Screen::for_meta_box( $screen ); 
    853853 
    854854        $page = $screen->id; 
    855855 
     
    918918        if ( empty( $screen ) ) 
    919919                $screen = get_current_screen(); 
    920920        elseif ( is_string( $screen ) ) 
    921                 $screen = convert_to_screen( $screen ); 
     921                $screen = WP_Screen::for_meta_box( $screen ); 
    922922 
    923923        $page = $screen->id; 
    924924 
     
    984984        if ( empty( $screen ) ) 
    985985                $screen = get_current_screen(); 
    986986        elseif ( is_string( $screen ) ) 
    987                 $screen = convert_to_screen( $screen ); 
     987                $screen = WP_Screen::for_meta_box( $screen ); 
    988988 
    989989        $page = $screen->id; 
    990990 
  • wp-admin/includes/screen.php

     
    5252        global $wp_meta_boxes; 
    5353 
    5454        if ( is_string( $screen ) ) 
    55                 $screen = convert_to_screen( $screen ); 
     55                $screen = WP_Screen::for_meta_box( $screen ); 
    5656 
    5757        if ( empty($wp_meta_boxes[$screen->id]) ) 
    5858                return; 
     
    8686 */ 
    8787function get_hidden_meta_boxes( $screen ) { 
    8888        if ( is_string( $screen ) ) 
    89                 $screen = convert_to_screen( $screen ); 
     89                $screen = WP_Screen::for_meta_box( $screen ); 
    9090 
    9191        $hidden = get_user_option( "metaboxhidden_{$screen->id}" ); 
    9292 
     
    498498                        $base .= '-user'; 
    499499                } 
    500500 
    501                 if ( isset( self::$_registry[ $id ] ) ) 
    502                         return self::$_registry[ $id ]; 
     501                if ( isset( self::$_registry[ $id ] ) ) { 
     502                        $screen = self::$_registry[ $id ]; 
     503                        if ( $screen === get_current_screen() ) 
     504                                return $screen; 
     505                } else { 
     506                        $screen = new WP_Screen(); 
     507                        $screen->id     = $id; 
     508                } 
    503509 
    504                 $screen = new WP_Screen(); 
    505                 $screen->id         = $id; 
    506510                $screen->base       = $base; 
    507511                $screen->action     = $action; 
    508512                $screen->post_type  = $post_type; 
     
    515519                return $screen; 
    516520        } 
    517521 
     522        static function for_meta_box( $meta_box ) { 
     523                if ( post_type_exists( $meta_box ) ) 
     524                        return WP_Screen::get( 'post-' . $meta_box ); 
     525                else 
     526                        return WP_Screen::get( $meta_box ); 
     527        } 
     528 
    518529        /** 
    519530         * Makes the screen object the current screen. 
    520531         *