diff -r 7b1b88e27a20 -r 48c4eec2b7e6 wp/wp-admin/includes/class-wp-screen.php --- a/wp/wp-admin/includes/class-wp-screen.php Thu Sep 29 08:06:27 2022 +0200 +++ b/wp/wp-admin/includes/class-wp-screen.php Fri Sep 05 18:40:08 2025 +0200 @@ -12,6 +12,7 @@ * * @since 3.3.0 */ +#[AllowDynamicProperties] final class WP_Screen { /** * Any action associated with the screen. @@ -88,7 +89,7 @@ * have a `$parent_base` of 'edit'. * * @since 3.3.0 - * @var string + * @var string|null */ public $parent_base; @@ -98,7 +99,7 @@ * Some `$parent_file` values are 'edit.php?post_type=page', 'edit.php', and 'options-general.php'. * * @since 3.3.0 - * @var string + * @var string|null */ public $parent_file; @@ -143,7 +144,7 @@ * The accessible hidden headings and text associated with the screen, if any. * * @since 4.4.0 - * @var array + * @var string[] */ private $_screen_reader_content = array(); @@ -211,6 +212,7 @@ return $hook_name; } + $id = ''; $post_type = null; $taxonomy = null; $in_admin = false; @@ -219,7 +221,7 @@ if ( $hook_name ) { $id = $hook_name; - } else { + } elseif ( ! empty( $GLOBALS['hook_suffix'] ) ) { $id = $GLOBALS['hook_suffix']; } @@ -228,7 +230,7 @@ $post_type = $id; $id = 'post'; // Changes later. Ends up being $base. } else { - if ( '.php' === substr( $id, -4 ) ) { + if ( str_ends_with( $id, '.php' ) ) { $id = substr( $id, 0, -4 ); } @@ -239,16 +241,16 @@ } if ( ! $post_type && $hook_name ) { - if ( '-network' === substr( $id, -8 ) ) { + if ( str_ends_with( $id, '-network' ) ) { $id = substr( $id, 0, -8 ); $in_admin = 'network'; - } elseif ( '-user' === substr( $id, -5 ) ) { + } elseif ( str_ends_with( $id, '-user' ) ) { $id = substr( $id, 0, -5 ); $in_admin = 'user'; } $id = sanitize_key( $id ); - if ( 'edit-comments' !== $id && 'edit-tags' !== $id && 'edit-' === substr( $id, 0, 5 ) ) { + if ( 'edit-comments' !== $id && 'edit-tags' !== $id && str_starts_with( $id, 'edit-' ) ) { $maybe = substr( $id, 5 ); if ( taxonomy_exists( $maybe ) ) { $id = 'edit-tags'; @@ -430,7 +432,7 @@ private function __construct() {} /** - * Indicates whether the screen is in a particular admin + * Indicates whether the screen is in a particular admin. * * @since 3.5.0 * @@ -475,7 +477,7 @@ } /** - * Set the parent information for the screen. + * Sets the parent information for the screen. * * This is called in admin-header.php after the menu parent for the screen has been determined. * @@ -505,7 +507,7 @@ } /** - * Remove an option from the screen. + * Removes an option from the screen. * * @since 3.8.0 * @@ -516,7 +518,7 @@ } /** - * Remove all options from the screen. + * Removes all options from the screen. * * @since 3.8.0 */ @@ -525,7 +527,7 @@ } /** - * Get the options registered for the screen. + * Gets the options registered for the screen. * * @since 3.8.0 * @@ -606,7 +608,7 @@ } /** - * Add a help tab to the contextual help for the screen. + * Adds a help tab to the contextual help for the screen. * * Call this on the `load-$pagenow` hook for the relevant screen, * or fetch the `$current_screen` object, or use get_current_screen() @@ -682,7 +684,7 @@ } /** - * Add a sidebar to the contextual help for the screen. + * Adds a sidebar to the contextual help for the screen. * * Call this in template files after admin.php is loaded and before admin-header.php is loaded * to add a sidebar to the contextual help. @@ -713,20 +715,20 @@ } /** - * Get the accessible hidden headings and text used in the screen. + * Gets the accessible hidden headings and text used in the screen. * * @since 4.4.0 * * @see set_screen_reader_content() For more information on the array format. * - * @return array An associative array of screen reader text strings. + * @return string[] An associative array of screen reader text strings. */ public function get_screen_reader_content() { return $this->_screen_reader_content; } /** - * Get a screen reader text string. + * Gets a screen reader text string. * * @since 4.4.0 * @@ -741,7 +743,7 @@ } /** - * Add accessible hidden headings and text for the screen. + * Adds accessible hidden headings and text for the screen. * * @since 4.4.0 * @@ -768,7 +770,7 @@ } /** - * Remove all the accessible hidden headings and text for the screen. + * Removes all the accessible hidden headings and text for the screen. * * @since 4.4.0 */ @@ -777,7 +779,7 @@ } /** - * Render the screen's help section. + * Renders the screen's help section. * * This will trigger the deprecated filters for backward compatibility. * @@ -982,7 +984,7 @@ } /** - * @global array $wp_meta_boxes + * @global array $wp_meta_boxes Global meta box state. * * @return bool */ @@ -1034,7 +1036,7 @@ } /** - * Render the screen options tab. + * Renders the screen options tab. * * @since 3.3.0 * @@ -1097,11 +1099,11 @@ } /** - * Render the meta boxes preferences. + * Renders the meta boxes preferences. * * @since 4.4.0 * - * @global array $wp_meta_boxes + * @global array $wp_meta_boxes Global meta box state. */ public function render_meta_boxes_preferences() { global $wp_meta_boxes; @@ -1114,8 +1116,9 @@

- +

+
\n"; } ?> +
@@ -1284,7 +1288,7 @@ } /** - * Render the list table view mode preferences. + * Renders the list table view mode preferences. * * @since 4.4.0 * @@ -1338,7 +1342,7 @@ } /** - * Render screen reader text. + * Renders screen reader text. * * @since 4.4.0 *