WordPress.org

Make WordPress Core

Ticket #44079: 44079.4.diff

File 44079.4.diff, 1.2 KB (added by iandunn, 2 years ago)

Restore notice cap check, clarify comment

  • src/wp-includes/capabilities.php

    diff --git src/wp-includes/capabilities.php src/wp-includes/capabilities.php
    index 530fe563d8..608ff40625 100644
    function map_meta_cap( $cap, $user_id ) { 
    121121                                        $caps[] = $post_type->cap->delete_private_posts;
    122122                                }
    123123                        }
     124
     125                        /*
     126                         * Setting the privacy policy page requires `manage_privacy_options`,
     127                         * so deleting it should require that too.
     128                         */
     129                        if ( (int) get_option( 'wp_page_for_privacy_policy' ) === $post->ID ) {
     130                                $caps = array_merge( $caps, map_meta_cap( 'manage_privacy_options', $user_id ) );
     131                        }
     132
    124133                        break;
    125134                // edit_post breaks down to edit_posts, edit_published_posts, or
    126135                // edit_others_posts
    function map_meta_cap( $cap, $user_id ) { 
    183192                                        $caps[] = $post_type->cap->edit_private_posts;
    184193                                }
    185194                        }
     195
     196                        /*
     197                         * Setting the privacy policy page requires `manage_privacy_options`,
     198                         * so editing it should require that too.
     199                         */
     200                        if ( (int) get_option( 'wp_page_for_privacy_policy' ) === $post->ID ) {
     201                                $caps = array_merge( $caps, map_meta_cap( 'manage_privacy_options', $user_id ) );
     202                        }
     203
    186204                        break;
    187205                case 'read_post':
    188206                case 'read_page':