Make WordPress Core

Changeset 43358


Ignore:
Timestamp:
06/16/2018 10:49:20 AM (6 years ago)
Author:
SergeyBiryukov
Message:

Privacy: Only link to menus panel in Customizer if selected privacy page can be accessed there.

Props dlh.
Merges [43343] to the 4.9 branch.
Fixes #44117.

Location:
branches/4.9
Files:
2 edited

Legend:

Unmodified
Added
Removed
  • branches/4.9

  • branches/4.9/src/wp-admin/privacy.php

    r43280 r43358  
    2323        update_option( 'wp_page_for_privacy_policy', $privacy_policy_page_id );
    2424
     25        $privacy_page_updated_message = __( 'Privacy policy page updated successfully.' );
     26
     27        if ( $privacy_policy_page_id ) {
     28            /*
     29             * Don't always link to the menu customizer:
     30             *
     31             * - Unpublished pages can't be selected by default.
     32             * - `WP_Customize_Nav_Menus::__construct()` checks the user's capabilities.
     33             * - Themes might not "officially" support menus.
     34             */
     35            if (
     36                'publish' === get_post_status( $privacy_policy_page_id )
     37                && current_user_can( 'edit_theme_options' )
     38                && current_theme_supports( 'menus' )
     39            ) {
     40                $privacy_page_updated_message = sprintf(
     41                    /* translators: %s: URL to Customizer -> Menus */
     42                    __( 'Privacy policy page updated successfully. Remember to <a href="%s">update your menus</a>!' ),
     43                    esc_url( add_query_arg( 'autofocus[panel]', 'nav_menus', admin_url( 'customize.php' ) ) )
     44                );
     45            }
     46        }
     47
    2548        add_settings_error(
    2649            'page_for_privacy_policy',
    2750            'page_for_privacy_policy',
    28             sprintf(
    29                 /* translators: %s: URL to Customizer -> Menus */
    30                 __( 'Privacy policy page updated successfully. Remember to <a href="%s">update your menus</a>!' ),
    31                 'customize.php?autofocus[panel]=nav_menus'
    32             ),
     51            $privacy_page_updated_message,
    3352            'updated'
    3453        );
Note: See TracChangeset for help on using the changeset viewer.