diff --git a/wp-includes/capabilities.php b/wp-includes/capabilities.php index 530fe563d8..608ff40625 100644 --- a/wp-includes/capabilities.php +++ b/wp-includes/capabilities.php @@ -121,6 +121,15 @@ function map_meta_cap( $cap, $user_id ) { $caps[] = $post_type->cap->delete_private_posts; } } + + /* + * Setting the privacy policy page requires `manage_privacy_options`, + * so deleting it should require that too. + */ + if ( (int) get_option( 'wp_page_for_privacy_policy' ) === $post->ID ) { + $caps = array_merge( $caps, map_meta_cap( 'manage_privacy_options', $user_id ) ); + } + break; // edit_post breaks down to edit_posts, edit_published_posts, or // edit_others_posts @@ -183,6 +192,15 @@ function map_meta_cap( $cap, $user_id ) { $caps[] = $post_type->cap->edit_private_posts; } } + + /* + * Setting the privacy policy page requires `manage_privacy_options`, + * so editing it should require that too. + */ + if ( (int) get_option( 'wp_page_for_privacy_policy' ) === $post->ID ) { + $caps = array_merge( $caps, map_meta_cap( 'manage_privacy_options', $user_id ) ); + } + break; case 'read_post': case 'read_page': diff --git a/wp-includes/version.php b/wp-includes/version.php index 2472cc50f0..405a03165b 100644 --- a/wp-includes/version.php +++ b/wp-includes/version.php @@ -4,7 +4,7 @@ * * @global string $wp_version */ -$wp_version = '5.0-alpha-43284'; +$wp_version = '5.0-alpha-43286'; /** * Holds the WordPress DB revision, increments when changes are made to the WordPress DB schema.