Make WordPress Core


Ignore:
Timestamp:
04/19/2018 12:38:44 PM (6 years ago)
Author:
azaozz
Message:

Privacy: make the sections in the suggested privacy policy text postbox foldable. Add Read More/Read Less buttons. Fix copying of the suggested text by pressing the button.

Props melchoyce, xkon, azaozz.
See #43620.

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/src/wp-admin/includes/misc.php

    r42985 r42992  
    15501550        $date_format = get_option( 'date_format' );
    15511551        $copy = __( 'Copy' );
     1552        $more = __( 'Read More' );
     1553        $less = __( 'Read Less' );
    15521554
    15531555        foreach ( $content_array as $section ) {
     
    15681570            }
    15691571
    1570             $content .= '<div class="privacy-text-section' . $class . '">';
    1571             $content .= '<h3>' . $section['plugin_name'] . '</h3>';
    1572             $content .= '<button type="button" class="privacy-text-copy-button button">';
    1573             $content .= $copy;
    1574             $content .= '<span class="screen-reader-text">' . sprintf( __( 'Copy suggested policy text from %s.' ), $section['plugin_name'] ) . '</span>';
    1575             $content .= '</button>';
     1572            $plugin_name = esc_html( $section['plugin_name'] );
     1573
     1574            $content .= '<div class="privacy-text-section folded' . $class . '">';
     1575            $content .= '<h3>' . $plugin_name . '</h3>';
    15761576
    15771577            if ( ! empty( $meta ) ) {
     
    15791579            }
    15801580
    1581             $content .= '<div class="policy-text">' . $section['policy_text'] . '</div>';
    1582             $content .= "</div>\n";
     1581            $content .= '<div class="policy-text" aria-expanded="false">' . $section['policy_text'] . '</div>';
     1582
     1583            $content .= '<div class="privacy-text-actions">';
     1584                $content .= '<button type="button" class="button-link policy-text-more">';
     1585                    $content .= $more;
     1586                    $content .= '<span class="screen-reader-text">' . sprintf( __( 'Expand suggested policy text section from %s.' ), $plugin_name ) . '</span>';
     1587                $content .= '</button>';
     1588
     1589                $content .= '<button type="button" class="button-link policy-text-less">';
     1590                    $content .= $less;
     1591                    $content .= '<span class="screen-reader-text">' . sprintf( __( 'Collapse suggested policy text section from %s.' ), $plugin_name ) . '</span>';
     1592                $content .= '</button>';
     1593
     1594                if ( empty( $section['removed'] ) ) {
     1595                    $content .= '<button type="button" class="privacy-text-copy button">';
     1596                        $content .= $copy;
     1597                        $content .= '<span class="screen-reader-text">' . sprintf( __( 'Copy suggested policy text from %s.' ), $plugin_name ) . '</span>';
     1598                    $content .= '</button>';
     1599                }
     1600
     1601            $content .= '</div>'; // End of .privacy-text-actions.
     1602            $content .= "</div>\n"; // End of .privacy-text-section.
    15831603        }
    15841604
     
    15901610            </button>
    15911611            <div class="privacy-text-box-head hndle">
    1592                 <h2><?php _e( 'This suggested privacy policy text comes from plugins you have installed.' ); ?></h2>
     1612                <h2><?php _e( 'This suggested privacy policy text comes from plugins and themes you have installed.' ); ?></h2>
    15931613                <p>
    15941614                    <?php _e( 'We suggest reviewing this text then copying and pasting it into your privacy policy page.' ); ?>
     
    16071627     * Return the default suggested privacy policy content.
    16081628     *
    1609      * @since 4.9.6     
     1629     * @since 4.9.6
    16101630     *
    16111631     * @return string The defauld policy content.
     
    16341654    public static function add_suggested_content() {
    16351655        $content = self::get_default_content();
    1636         wp_add_privacy_policy_content(  'WordPress', $content );
    1637     }
    1638 }
     1656        wp_add_privacy_policy_content( 'WordPress', $content );
     1657    }
     1658}
Note: See TracChangeset for help on using the changeset viewer.