WordPress.org

Make WordPress Core

Ticket #45928: 45928.1.patch

File 45928.1.patch, 5.0 KB (added by mattwiebe, 10 months ago)
  • wp-content/themes/twentynineteen/functions.php

     
    137137                                ),
    138138                        )
    139139                );
    140 
     140                $default_hue = twentynineteen_get_default_hue();
    141141                // Editor color palette.
    142142                add_theme_support(
    143143                        'editor-color-palette',
     
    145145                                array(
    146146                                        'name'  => __( 'Primary', 'twentynineteen' ),
    147147                                        'slug'  => 'primary',
    148                                         'color' => twentynineteen_hsl_hex( 'default' === get_theme_mod( 'primary_color' ) ? 199 : get_theme_mod( 'primary_color_hue', 199 ), 100, 33 ),
     148                                        'color' => twentynineteen_hsl_hex( 'default' === get_theme_mod( 'primary_color' ) ? $default_hue : get_theme_mod( 'primary_color_hue', $default_hue ), 100, 33 ),
    149149                                ),
    150150                                array(
    151151                                        'name'  => __( 'Secondary', 'twentynineteen' ),
    152152                                        'slug'  => 'secondary',
    153                                         'color' => twentynineteen_hsl_hex( 'default' === get_theme_mod( 'primary_color' ) ? 199 : get_theme_mod( 'primary_color_hue', 199 ), 100, 23 ),
     153                                        'color' => twentynineteen_hsl_hex( 'default' === get_theme_mod( 'primary_color' ) ? $default_hue : get_theme_mod( 'primary_color_hue', $default_hue ), 100, 23 ),
    154154                                ),
    155155                                array(
    156156                                        'name'  => __( 'Dark Gray', 'twentynineteen' ),
     
    271271 * Display custom color CSS in customizer and on frontend.
    272272 */
    273273function twentynineteen_colors_css_wrap() {
    274 
    275         // Only include custom colors in customizer or frontend.
    276         if ( ( ! is_customize_preview() && 'default' === get_theme_mod( 'primary_color', 'default' ) ) || is_admin() ) {
     274        // Only bother if we haven't customized the color
     275        if ( 'default' === get_theme_mod( 'primary_color', 'default' ) && ! twentynineteen_has_custom_default_hue() ) {
    277276                return;
    278277        }
    279278
    280279        require_once get_parent_theme_file_path( '/inc/color-patterns.php' );
    281280
    282         $primary_color = 199;
     281        $primary_color = twentynineteen_get_default_hue();
    283282        if ( 'default' !== get_theme_mod( 'primary_color', 'default' ) ) {
    284                 $primary_color = get_theme_mod( 'primary_color_hue', 199 );
     283                $primary_color = get_theme_mod( 'primary_color_hue', $primary_color );
    285284        }
    286285        ?>
    287286
     
    292291}
    293292add_action( 'wp_head', 'twentynineteen_colors_css_wrap' );
    294293
     294define( 'TWENTYNINETEEN_DEFAULT_HUE', 199 );
    295295/**
     296 * The default hue (as in hsl) used throughout this theme
     297 *
     298 * @return number the default hue
     299 */
     300function twentynineteen_get_default_hue() {
     301        return apply_filters( 'twentynineteen_default_hue', TWENTYNINETEEN_DEFAULT_HUE );
     302}
     303
     304function twentynineteen_has_custom_default_hue() {
     305        return twentynineteen_get_default_hue() !== TWENTYNINETEEN_DEFAULT_HUE;
     306}
     307
     308/**
    296309 * SVG Icons class.
    297310 */
    298311require get_template_directory() . '/classes/class-twentynineteen-svg-icons.php';
  • wp-content/themes/twentynineteen/inc/color-patterns.php

     
    1212 */
    1313function twentynineteen_custom_colors_css() {
    1414
    15         $primary_color = 199;
     15        $primary_color = twentynineteen_get_default_hue();
    1616        if ( 'default' !== get_theme_mod( 'primary_color', 'default' ) ) {
    17                 $primary_color = absint( get_theme_mod( 'primary_color_hue', 199 ) );
     17                $primary_color = absint( get_theme_mod( 'primary_color_hue', $primary_color ) );
    1818        }
    1919
    2020        /**
  • wp-content/themes/twentynineteen/inc/customizer.php

     
    6464        $wp_customize->add_setting(
    6565                'primary_color_hue',
    6666                array(
    67                         'default'           => 199,
     67                        'default'           => twentynineteen_get_default_hue(),
    6868                        'transport'         => 'postMessage',
    6969                        'sanitize_callback' => 'absint',
    7070                )
     
    126126 */
    127127function twentynineteen_customize_preview_js() {
    128128        wp_enqueue_script( 'twentynineteen-customize-preview', get_theme_file_uri( '/js/customize-preview.js' ), array( 'customize-preview' ), '20181231', true );
     129        wp_localize_script( 'twentynineteen-customize-preview', '_TwentyNineteenPreviewData', array(
     130                'default_hue' => twentynineteen_get_default_hue()
     131        ));
    129132}
    130133add_action( 'customize_preview_init', 'twentynineteen_customize_preview_js' );
    131134
  • wp-content/themes/twentynineteen/js/customize-preview.js

     
    2222                                color = wp.customize.get().primary_color_hue;
    2323                        } else {
    2424                                // If the "default" option is selected, get the default primary_color_hue
    25                                 color = 199;
     25                                color = _TwentyNineteenPreviewData.default_hue;
    2626                        }
    2727
    2828                        // Equivalent to css.replaceAll, with hue followed by comma to prevent values with units from being changed.