From 588188b2c6a49e02da825c8de68eed797c5a4d56 Mon Sep 17 00:00:00 2001 From: Sergey Biryukov Date: Sun, 30 Nov 2025 15:16:33 +0000 Subject: [PATCH] Options, Meta APIs: Avoid bypassing the `option_page_capability_options` filter. This ensures that the filter is available when `wp-admin/options.php` is accessed directly. Follow-up to [13627], [17986], [25372]. Props amibe. Fixes #58761. Built from https://develop.svn.wordpress.org/trunk@61325 git-svn-id: http://core.svn.wordpress.org/trunk@60637 1a063a9b-81f0-0310-95a4-ce76da25c4cd --- wp-admin/options.php | 26 +++++++++++++------------- wp-includes/version.php | 2 +- 2 files changed, 14 insertions(+), 14 deletions(-) diff --git a/wp-admin/options.php b/wp-admin/options.php index 1d60fc70ec..8db5cf50f2 100644 --- a/wp-admin/options.php +++ b/wp-admin/options.php @@ -31,21 +31,21 @@ $capability = 'manage_options'; // This is for back compat and will eventually be removed. if ( empty( $option_page ) ) { $option_page = 'options'; -} else { - - /** - * Filters the capability required when using the Settings API. - * - * By default, the options groups for all registered settings require the manage_options capability. - * This filter is required to change the capability required for a certain options page. - * - * @since 3.2.0 - * - * @param string $capability The capability used for the page, which is manage_options by default. - */ - $capability = apply_filters( "option_page_capability_{$option_page}", $capability ); } +/** + * Filters the capability required when using the Settings API. + * + * By default, the options groups for all registered settings require the manage_options capability. + * This filter is required to change the capability required for a certain options page. + * + * @since 3.2.0 + * @since 7.0.0 Applied when `wp-admin/options.php` is accessed directly. + * + * @param string $capability The capability used for the page, which is manage_options by default. + */ +$capability = apply_filters( "option_page_capability_{$option_page}", $capability ); + if ( ! current_user_can( $capability ) ) { wp_die( '

' . __( 'You need a higher level of permission.' ) . '

' . diff --git a/wp-includes/version.php b/wp-includes/version.php index c41302b0b9..13811f609d 100644 --- a/wp-includes/version.php +++ b/wp-includes/version.php @@ -16,7 +16,7 @@ * * @global string $wp_version */ -$wp_version = '7.0-alpha-61324'; +$wp_version = '7.0-alpha-61325'; /** * Holds the WordPress DB revision, increments when changes are made to the WordPress DB schema.