Themes: Prevent installation of themes that require a higher version of PHP or WordPress.
Props afragen. Fixes #49653. See #48491. Built from https://develop.svn.wordpress.org/trunk@47819 git-svn-id: http://core.svn.wordpress.org/trunk@47595 1a063a9b-81f0-0310-95a4-ce76da25c4cd
This commit is contained in:
parent
54cdfaef59
commit
307725883a
|
@ -827,8 +827,13 @@ function customize_themes_print_templates() {
|
||||||
<button class="button button-primary disabled"><?php _e( 'Live Preview' ); ?></button>
|
<button class="button button-primary disabled"><?php _e( 'Live Preview' ); ?></button>
|
||||||
<# } #>
|
<# } #>
|
||||||
<# } else { #>
|
<# } else { #>
|
||||||
|
<# if ( data.compatibleWP && data.compatiblePHP ) { #>
|
||||||
<button type="button" class="button theme-install" data-slug="{{ data.id }}"><?php _e( 'Install' ); ?></button>
|
<button type="button" class="button theme-install" data-slug="{{ data.id }}"><?php _e( 'Install' ); ?></button>
|
||||||
<button type="button" class="button button-primary theme-install preview" data-slug="{{ data.id }}"><?php _e( 'Install & Preview' ); ?></button>
|
<button type="button" class="button button-primary theme-install preview" data-slug="{{ data.id }}"><?php _e( 'Install & Preview' ); ?></button>
|
||||||
|
<# } else { #>
|
||||||
|
<button type="button" class="button disabled"><?php _ex( 'Cannot Install', 'theme' ); ?></button>
|
||||||
|
<button type="button" class="button button-primary disabled"><?php _e( 'Install & Preview' ); ?></button>
|
||||||
|
<# } #>
|
||||||
<# } #>
|
<# } #>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
|
|
@ -311,12 +311,21 @@ if ( $tab ) {
|
||||||
<# } #>
|
<# } #>
|
||||||
<# } #>
|
<# } #>
|
||||||
<# } else { #>
|
<# } else { #>
|
||||||
|
<# if ( data.compatible_wp && data.compatible_php ) { #>
|
||||||
<?php
|
<?php
|
||||||
/* translators: %s: Theme name. */
|
/* translators: %s: Theme name. */
|
||||||
$aria_label = sprintf( __( 'Install %s' ), '{{ data.name }}' );
|
$aria_label = sprintf( __( 'Install %s' ), '{{ data.name }}' );
|
||||||
?>
|
?>
|
||||||
<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>
|
<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>
|
||||||
<button class="button preview install-theme-preview"><?php _e( 'Preview' ); ?></button>
|
<button class="button preview install-theme-preview"><?php _e( 'Preview' ); ?></button>
|
||||||
|
<# } else { #>
|
||||||
|
<?php
|
||||||
|
/* translators: %s: Theme name. */
|
||||||
|
$aria_label = sprintf( __( 'Cannot Install %s' ), '{{ data.name }}' );
|
||||||
|
?>
|
||||||
|
<a class="button button-primary disabled" data-name="{{ data.name }}" aria-label="<?php echo esc_attr( $aria_label ); ?>"><?php _ex( 'Cannot Install', 'theme' ); ?></a>
|
||||||
|
<button class="button disabled"><?php _e( 'Preview' ); ?></button>
|
||||||
|
<# } #>
|
||||||
<# } #>
|
<# } #>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
@ -333,9 +342,17 @@ if ( $tab ) {
|
||||||
<button class="previous-theme"><span class="screen-reader-text"><?php _e( 'Previous theme' ); ?></span></button>
|
<button class="previous-theme"><span class="screen-reader-text"><?php _e( 'Previous theme' ); ?></span></button>
|
||||||
<button class="next-theme"><span class="screen-reader-text"><?php _e( 'Next theme' ); ?></span></button>
|
<button class="next-theme"><span class="screen-reader-text"><?php _e( 'Next theme' ); ?></span></button>
|
||||||
<# if ( data.installed ) { #>
|
<# if ( data.installed ) { #>
|
||||||
|
<# if ( data.compatible_wp && data.compatible_php ) { #>
|
||||||
<a class="button button-primary activate" href="{{ data.activate_url }}"><?php _e( 'Activate' ); ?></a>
|
<a class="button button-primary activate" href="{{ data.activate_url }}"><?php _e( 'Activate' ); ?></a>
|
||||||
<# } else { #>
|
<# } else { #>
|
||||||
|
<a class="button button-primary disabled" ><?php _ex( 'Cannot Activate', 'theme' ); ?></a>
|
||||||
|
<# } #>
|
||||||
|
<# } else { #>
|
||||||
|
<# if ( data.compatible_wp && data.compatible_php ) { #>
|
||||||
<a href="{{ data.install_url }}" class="button button-primary theme-install" data-name="{{ data.name }}" data-slug="{{ data.id }}"><?php _e( 'Install' ); ?></a>
|
<a href="{{ data.install_url }}" class="button button-primary theme-install" data-name="{{ data.name }}" data-slug="{{ data.id }}"><?php _e( 'Install' ); ?></a>
|
||||||
|
<# } else { #>
|
||||||
|
<a class="button button-primary disabled" ><?php _ex( 'Cannot Install', 'theme' ); ?></a>
|
||||||
|
<# } #>
|
||||||
<# } #>
|
<# } #>
|
||||||
</div>
|
</div>
|
||||||
<div class="wp-full-overlay-sidebar-content">
|
<div class="wp-full-overlay-sidebar-content">
|
||||||
|
|
|
@ -5856,6 +5856,8 @@ final class WP_Customize_Manager {
|
||||||
$theme->id = $theme->slug;
|
$theme->id = $theme->slug;
|
||||||
$theme->screenshot = array( $theme->screenshot_url );
|
$theme->screenshot = array( $theme->screenshot_url );
|
||||||
$theme->authorAndUri = wp_kses( $theme->author['display_name'], $themes_allowedtags );
|
$theme->authorAndUri = wp_kses( $theme->author['display_name'], $themes_allowedtags );
|
||||||
|
$theme->compatibleWP = is_wp_version_compatible( $theme->requires );
|
||||||
|
$theme->compatiblePHP = is_php_version_compatible( $theme->requires_php );
|
||||||
|
|
||||||
if ( isset( $theme->parent ) ) {
|
if ( isset( $theme->parent ) ) {
|
||||||
$theme->parent = $theme->parent['slug'];
|
$theme->parent = $theme->parent['slug'];
|
||||||
|
|
|
@ -133,7 +133,11 @@ class WP_Customize_Theme_Control extends WP_Customize_Control {
|
||||||
<div class="theme-id-container">
|
<div class="theme-id-container">
|
||||||
<h3 class="theme-name" id="{{ data.section }}-{{ data.theme.id }}-name">{{ data.theme.name }}</h3>
|
<h3 class="theme-name" id="{{ data.section }}-{{ data.theme.id }}-name">{{ data.theme.name }}</h3>
|
||||||
<div class="theme-actions">
|
<div class="theme-actions">
|
||||||
|
<# if ( data.theme.compatibleWP && data.theme.compatiblePHP ) { #>
|
||||||
<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 & Preview' ); ?></button>
|
<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 & Preview' ); ?></button>
|
||||||
|
<# } else { #>
|
||||||
|
<button type="button" class="button button-primary disabled" aria-label="<?php echo esc_attr( $install_label ); ?>" disabled><?php _e( 'Install & Preview' ); ?></button>
|
||||||
|
<# } #>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<# } #>
|
<# } #>
|
||||||
|
|
|
@ -13,7 +13,7 @@
|
||||||
*
|
*
|
||||||
* @global string $wp_version
|
* @global string $wp_version
|
||||||
*/
|
*/
|
||||||
$wp_version = '5.5-alpha-47818';
|
$wp_version = '5.5-alpha-47819';
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Holds the WordPress DB revision, increments when changes are made to the WordPress DB schema.
|
* Holds the WordPress DB revision, increments when changes are made to the WordPress DB schema.
|
||||||
|
|
Loading…
Reference in New Issue