Make WordPress Core

Ticket #49653: 49653.2.diff

File 49653.2.diff, 7.4 KB (added by afragen, 5 years ago)

dot org

  • wp-admin/includes/ajax-actions.php

    diff --git a/wp-admin/includes/ajax-actions.php b/wp-admin/includes/ajax-actions.php
    index ea33d9d792..adc11ea021 100644
    a b function wp_ajax_query_themes() { 
    35713571                        )
    35723572                );
    35733573
    3574                 $theme->num_ratings = number_format_i18n( $theme->num_ratings );
    3575                 $theme->preview_url = set_url_scheme( $theme->preview_url );
     3574                $theme->num_ratings    = number_format_i18n( $theme->num_ratings );
     3575                $theme->preview_url    = set_url_scheme( $theme->preview_url );
     3576                $theme->wp_compatible  = is_wp_version_compatible( $theme->requires );
     3577                $theme->php_compatible = is_php_version_compatible( $theme->requires_php );
    35763578        }
    35773579
    35783580        wp_send_json_success( $api );
  • wp-admin/includes/theme.php

    diff --git a/wp-admin/includes/theme.php b/wp-admin/includes/theme.php
    index 47168057e0..e220e6af26 100644
    a b function customize_themes_print_templates() { 
    790790                                        <?php } ?>
    791791                                        <button type="button" class="button button-primary preview-theme" data-slug="{{ data.id }}"><?php _e( 'Live Preview' ); ?></button>
    792792                                <# } else { #>
    793                                         <button type="button" class="button theme-install" data-slug="{{ data.id }}"><?php _e( 'Install' ); ?></button>
    794                                         <button type="button" class="button button-primary theme-install preview" data-slug="{{ data.id }}"><?php _e( 'Install &amp; Preview' ); ?></button>
     793                                        <# if ( data.wp_compatible && data.php_compatible ) { #>
     794                                                <button type="button" class="button theme-install" data-slug="{{ data.id }}"><?php _e( 'Install' ); ?></button>
     795                                                <button type="button" class="button button-primary theme-install preview" data-slug="{{ data.id }}"><?php _e( 'Install &amp; Preview' ); ?></button>
     796                                        <# } else { #>
     797                                                <button type="button" class="button disabled"><?php _e( 'Install' ); ?></button>
     798                                                <button type="button" class="button button-primary disabled"><?php _e( 'Install &amp; Preview' ); ?></button>
     799                                        <# } #>
    795800                                <# } #>
    796801                        </div>
    797802                </div>
  • wp-admin/theme-install.php

    diff --git a/wp-admin/theme-install.php b/wp-admin/theme-install.php
    index 944e9d7d0a..1516b792a9 100644
    a b if ( $tab ) { 
    293293                                        <button class="button preview install-theme-preview"><?php _e( 'Preview' ); ?></button>
    294294                                <# } #>
    295295                        <# } else { #>
    296                                 <?php
    297                                 /* translators: %s: Theme name. */
    298                                 $aria_label = sprintf( __( 'Install %s' ), '{{ data.name }}' );
    299                                 ?>
    300                                 <a class="button button-primary theme-install" data-name="{{ data.name }}" data-slug="{{ data.id }}" href="{{ data.install_url }}" aria-label="<?php echo esc_attr( $aria_label ); ?>"><?php _e( 'Install' ); ?></a>
    301                                 <button class="button preview install-theme-preview"><?php _e( 'Preview' ); ?></button>
     296                                <# if ( data.wp_compatible  && data.php_compatible ) { #>
     297                                        <# /* translators: %s: Theme name. */ #>
     298                                        <# <?php $aria_label = sprintf( __( 'Install %s' ), '{{ data.name }}' ); ?> #>
     299                                        <a class="button button-primary theme-install" data-name="{{ data.name }}" data-slug="{{ data.id }}" href="{{ data.install_url }}" aria-label="<?php echo esc_attr( $aria_label ); ?>"><?php _e( 'Install' ); ?></a>
     300                                        <button class="button preview install-theme-preview"><?php _e( 'Preview' ); ?></button>
     301                                <# } else { #>
     302                                        <# /* translators: %s: Theme name. */ #>
     303                                        <# <?php $aria_label = sprintf( __( 'Install %s' ), '{{ data.name }}' ); ?> #>
     304                                        <a class="button button-primary disabled" aria-label="<?php echo esc_attr( $aria_label ); ?>"><?php _e( 'Install' ); ?></a>
     305                                        <button class="button preview disabled"><?php _e( 'Preview' ); ?></button>
     306                                <# } #>
    302307                        <# } #>
    303308                </div>
    304309        </div>
    if ( $tab ) { 
    315320                        <button class="previous-theme"><span class="screen-reader-text"><?php _e( 'Previous theme' ); ?></span></button>
    316321                        <button class="next-theme"><span class="screen-reader-text"><?php _e( 'Next theme' ); ?></span></button>
    317322                        <# if ( data.installed ) { #>
    318                                 <a class="button button-primary activate" href="{{ data.activate_url }}"><?php _e( 'Activate' ); ?></a>
     323                                <# if ( data.wp_compatible  && data.php_compatible ) { #>
     324                                        <a class="button button-primary activate" href="{{ data.activate_url }}"><?php _e( 'Activate' ); ?></a>
     325                                <# } else { #>
     326                                        <a class="button button-primary activate disabled" ><?php _e( 'Activate' ); ?></a>
     327                                <# } #>
    319328                        <# } else { #>
    320                                 <a href="{{ data.install_url }}" class="button button-primary theme-install" data-name="{{ data.name }}" data-slug="{{ data.id }}"><?php _e( 'Install' ); ?></a>
     329                                <# if ( data.wp_compatible  && data.php_compatible ) { #>
     330                                        <a href="{{ data.install_url }}" class="button button-primary theme-install" data-name="{{ data.name }}" data-slug="{{ data.id }}"><?php _e( 'Install' ); ?></a>
     331                                <# } else { #>
     332                                        <a class="button button-primary disabled" ><?php _e( 'Install' ); ?></a>
     333                                <# } #>
    321334                        <# } #>
    322335                </div>
    323336                <div class="wp-full-overlay-sidebar-content">
  • wp-includes/class-wp-customize-manager.php

    diff --git a/wp-includes/class-wp-customize-manager.php b/wp-includes/class-wp-customize-manager.php
    index 9d4ec4be36..208aa7b73b 100644
    a b final class WP_Customize_Manager { 
    58265826                                $theme->active = ( isset( $_POST['customized_theme'] ) && $_POST['customized_theme'] === $theme->slug );
    58275827
    58285828                                // Map available theme properties to installed theme properties.
    5829                                 $theme->id           = $theme->slug;
    5830                                 $theme->screenshot   = array( $theme->screenshot_url );
    5831                                 $theme->authorAndUri = wp_kses( $theme->author['display_name'], $themes_allowedtags );
     5829                                $theme->id             = $theme->slug;
     5830                                $theme->screenshot     = array( $theme->screenshot_url );
     5831                                $theme->authorAndUri   = wp_kses( $theme->author['display_name'], $themes_allowedtags );
     5832                                $theme->wp_compatible  = is_wp_version_compatible( $theme->requires );
     5833                                $theme->php_compatible = is_php_version_compatible( $theme->requires_php );
    58325834
    58335835                                if ( isset( $theme->parent ) ) {
    58345836                                        $theme->parent = $theme->parent['slug'];
  • wp-includes/customize/class-wp-customize-theme-control.php

    diff --git a/wp-includes/customize/class-wp-customize-theme-control.php b/wp-includes/customize/class-wp-customize-theme-control.php
    index 10f09d180b..fc2abe8dbe 100644
    a b class WP_Customize_Theme_Control extends WP_Customize_Control { 
    129129                                <div class="theme-id-container">
    130130                                        <h3 class="theme-name" id="{{ data.section }}-{{ data.theme.id }}-name">{{ data.theme.name }}</h3>
    131131                                        <div class="theme-actions">
    132                                                 <button type="button" class="button button-primary theme-install preview" aria-label="<?php echo esc_attr( $install_label ); ?>" data-slug="{{ data.theme.id }}" data-name="{{ data.theme.name }}"><?php _e( 'Install &amp; Preview' ); ?></button>
     132                                                <# if ( data.theme.wp_compatible && data.theme.php_compatible ) { #>
     133                                                        <button type="button" class="button button-primary theme-install preview" aria-label="<?php echo esc_attr( $install_label ); ?>" data-slug="{{ data.theme.id }}" data-name="{{ data.theme.name }}"><?php _e( 'Install &amp; Preview' ); ?></button>
     134                                                <# } else { #>
     135                                                        <button type="button" class="button button-primary disabled" aria-label="<?php echo esc_attr( $install_label ); ?>" disabled><?php _e( 'Install &amp; Preview' ); ?></button>
     136                                                <# } #>
    133137                                        </div>
    134138                                </div>
    135139                        <# } #>