--- a/wp/wp-includes/rest-api/endpoints/class-wp-rest-menus-controller.php Fri Sep 05 18:40:08 2025 +0200
+++ b/wp/wp-includes/rest-api/endpoints/class-wp-rest-menus-controller.php Fri Sep 05 18:52:52 2025 +0200
@@ -84,6 +84,12 @@
* @return true|WP_Error True if the current user has permission, WP_Error object otherwise.
*/
protected function check_has_read_only_access( $request ) {
+ /** This filter is documented in wp-includes/rest-api/endpoints/class-wp-rest-menu-items-controller.php */
+ $read_only_access = apply_filters( 'rest_menu_read_access', false, $request, $this );
+ if ( $read_only_access ) {
+ return true;
+ }
+
if ( current_user_can( 'edit_theme_options' ) ) {
return true;
}