WordPress.org

Make WordPress Core

Ticket #17351: theme-options.php.diff

File theme-options.php.diff, 4.5 KB (added by dcowgill, 7 years ago)

Updated diff to the latest in trunk.

  • wp-content/themes/twentyeleven/inc/theme-options.php

     
    118118                        'value' => 'light',
    119119                        'label' => __( 'Light', 'twentyeleven' ),
    120120                        'thumbnail' => get_template_directory_uri() . '/inc/images/light.png',
     121                        'default_link_color' => '#1b8be0',
    121122                ),
    122123                'dark' => array(
    123124                        'value' => 'dark',
    124125                        'label' => __( 'Dark', 'twentyeleven' ),
    125126                        'thumbnail' => get_template_directory_uri() . '/inc/images/dark.png',
     127                        'default_link_color' => '#e4741f',
    126128                ),
    127129        );
    128130
     
    164166function twentyeleven_get_default_theme_options() {
    165167        $default_theme_options = array(
    166168                'color_scheme' => 'light',
    167                 'link_color'   => '#1b8be0',
     169                'link_color'   => twentyeleven_get_default_link_color( 'light' ),
    168170                'theme_layout' => 'content-sidebar',
    169171        );
    170172
     
    172174}
    173175
    174176/**
     177 * Returns the default link color for Twenty Eleven, based on color scheme.
     178 *
     179 * @since Twenty Eleven 1.0
     180 *
     181 * @param $string $color_scheme Color scheme. Defaults to the active color scheme.
     182 * @return $string Color.
     183*/
     184function twentyeleven_get_default_link_color( $color_scheme = null ) {
     185        if ( null === $color_scheme ) {
     186                $options = twentyeleven_get_theme_options();
     187                $color_scheme = $options['color_scheme'];
     188        }
     189
     190        $color_schemes = twentyeleven_color_schemes();
     191        if ( ! isset( $color_schemes[ $color_scheme ] ) )
     192                return false;
     193
     194        return $color_schemes[ $color_scheme ]['default_link_color'];
     195}
     196
     197/**
    175198 * Returns the options array for Twenty Eleven.
    176199 *
    177200 * @since Twenty Eleven 1.0
     
    208231                                        <td>
    209232                                                <fieldset><legend class="screen-reader-text"><span><?php _e( 'Color Scheme', 'twentyeleven' ); ?></span></legend>
    210233                                                <?php
    211                                                         foreach ( twentyeleven_color_schemes() as $color ) {
     234                                                        foreach ( twentyeleven_color_schemes() as $scheme ) {
    212235                                                                ?>
    213236                                                                <div class="layout">
    214237                                                                <label class="description">
    215                                                                         <input type="radio" name="twentyeleven_theme_options[color_scheme]" value="<?php echo esc_attr( $color['value'] ); ?>" <?php checked( $options['color_scheme'], $color['value'] ); ?> />
     238                                                                        <input type="radio" name="twentyeleven_theme_options[color_scheme]" value="<?php echo esc_attr( $scheme['value'] ); ?>" <?php checked( $options['color_scheme'], $scheme['value'] ); ?> />
    216239                                                                        <span>
    217                                                                                 <img src="<?php echo esc_url( $color['thumbnail'] ); ?>" alt=""/>
    218                                                                                 <?php echo $color['label']; ?>
     240                                                                                <img src="<?php echo esc_url( $scheme['thumbnail'] ); ?>" width="136" height="122" />
     241                                                                                <?php echo $scheme['label']; ?>
    219242                                                                        </span>
    220243                                                                </label>
    221244                                                                </div>
     
    234257                                                        <input type="button" class="pickcolor button hide-if-no-js" value="<?php esc_attr_e( 'Select a Color', 'twentyeleven' ); ?>" />
    235258                                                        <div id="colorPickerDiv" style="z-index: 100; background:#eee; border:1px solid #ccc; position:absolute; display:none;"></div>
    236259                                                        <br />
    237                                                         <small class="description"><?php printf( __( 'Default color: %s', 'twentyeleven' ), $default_options['link_color'] ); ?></small>
     260                                                        <span><?php printf( __( 'Default color: %s', 'twentyeleven' ), '<span id="default-color">' . twentyeleven_get_default_link_color( $options['color_scheme'] ) . '</span>' ); ?></span>
    238261                                                </fieldset>
    239262                                        </td>
    240263                                </tr>
     
    249272                                                                <label class="description">
    250273                                                                        <input type="radio" name="twentyeleven_theme_options[theme_layout]" value="<?php echo esc_attr( $layout['value'] ); ?>" <?php checked( $options['theme_layout'], $layout['value'] ); ?> />
    251274                                                                        <span>
    252                                                                                 <img src="<?php echo esc_url( $layout['thumbnail'] ); ?>" alt=""/>
     275                                                                                <img src="<?php echo esc_url( $layout['thumbnail'] ); ?>" width="136" height="122" />
    253276                                                                                <?php echo $layout['label']; ?>
    254277                                                                        </span>
    255278                                                                </label>
     
    282305        // Color scheme must be in our array of color scheme options
    283306        if ( isset( $input['color_scheme'] ) && array_key_exists( $input['color_scheme'], twentyeleven_color_schemes() ) )
    284307                $output['color_scheme'] = $input['color_scheme'];
     308               
     309        // Our defaults for the link color may have changed, based on the color scheme.
     310        $output['link_color'] = $defaults['link_color'] = twentyeleven_get_default_link_color( $output['color_scheme'] );
    285311
    286312        // Link color must be 3 or 6 hexadecimal characters
    287313        if ( isset( $input['link_color'] ) && preg_match( '/^#?([a-f0-9]{3}){1,2}$/i', $input['link_color'] ) )