Themes: Display a message in Theme Details modal if a theme requires a higher version of PHP or WordPress.

Props afragen, desrosj, SergeyBiryukov.
See #48491.

git-svn-id: https://develop.svn.wordpress.org/trunk@48636 602fd350-edb4-49c9-b593-d223f7449a82
This commit is contained in:
Sergey Biryukov 2020-07-27 13:10:04 +00:00
parent 38cf369a7a
commit 3b0b11acc6
2 changed files with 111 additions and 0 deletions

View File

@ -811,6 +811,61 @@ function customize_themes_print_templates() {
</p> </p>
<# } #> <# } #>
<# if ( ! data.compatibleWP || ! data.compatiblePHP ) { #>
<div class="notice notice-error notice-alt notice-large"><p>
<# if ( ! data.compatibleWP && ! data.compatiblePHP ) { #>
<?php
_e( 'This theme doesn&#8217;t work with your versions of WordPress and PHP.' );
if ( current_user_can( 'update_core' ) && current_user_can( 'update_php' ) ) {
printf(
/* translators: 1: URL to WordPress Updates screen, 2: URL to Update PHP page. */
' ' . __( '<a href="%1$s">Please update WordPress</a>, and then <a href="%2$s">learn more about updating PHP</a>.' ),
self_admin_url( 'update-core.php' ),
esc_url( wp_get_update_php_url() )
);
wp_update_php_annotation( '</p><p><em>', '</em>' );
} elseif ( current_user_can( 'update_core' ) ) {
printf(
/* translators: %s: URL to WordPress Updates screen. */
' ' . __( '<a href="%s">Please update WordPress</a>.' ),
self_admin_url( 'update-core.php' )
);
} elseif ( current_user_can( 'update_php' ) ) {
printf(
/* translators: %s: URL to Update PHP page. */
' ' . __( '<a href="%s">Learn more about updating PHP</a>.' ),
esc_url( wp_get_update_php_url() )
);
wp_update_php_annotation( '</p><p><em>', '</em>' );
}
?>
<# } else if ( ! data.compatibleWP ) { #>
<?php
_e( 'This theme doesn&#8217;t work with your version of WordPress.' );
if ( current_user_can( 'update_core' ) ) {
printf(
/* translators: %s: URL to WordPress Updates screen. */
' ' . __( '<a href="%s">Please update WordPress</a>.' ),
self_admin_url( 'update-core.php' )
);
}
?>
<# } else if ( ! data.compatiblePHP ) { #>
<?php
_e( 'This theme doesn&#8217;t work with your version of PHP.' );
if ( current_user_can( 'update_php' ) ) {
printf(
/* translators: %s: URL to Update PHP page. */
' ' . __( '<a href="%s">Learn more about updating PHP</a>.' ),
esc_url( wp_get_update_php_url() )
);
wp_update_php_annotation( '</p><p><em>', '</em>' );
}
?>
<# } #>
</p></div>
<# } #>
<p class="theme-description">{{{ data.description }}}</p> <p class="theme-description">{{{ data.description }}}</p>
<# if ( data.tags ) { #> <# if ( data.tags ) { #>

View File

@ -692,6 +692,61 @@ function wp_theme_auto_update_setting_template() {
?> ?>
</p> </p>
<# if ( ! data.compatibleWP || ! data.compatiblePHP ) { #>
<div class="notice notice-error notice-alt notice-large"><p>
<# if ( ! data.compatibleWP && ! data.compatiblePHP ) { #>
<?php
_e( 'This theme doesn&#8217;t work with your versions of WordPress and PHP.' );
if ( current_user_can( 'update_core' ) && current_user_can( 'update_php' ) ) {
printf(
/* translators: 1: URL to WordPress Updates screen, 2: URL to Update PHP page. */
' ' . __( '<a href="%1$s">Please update WordPress</a>, and then <a href="%2$s">learn more about updating PHP</a>.' ),
self_admin_url( 'update-core.php' ),
esc_url( wp_get_update_php_url() )
);
wp_update_php_annotation( '</p><p><em>', '</em>' );
} elseif ( current_user_can( 'update_core' ) ) {
printf(
/* translators: %s: URL to WordPress Updates screen. */
' ' . __( '<a href="%s">Please update WordPress</a>.' ),
self_admin_url( 'update-core.php' )
);
} elseif ( current_user_can( 'update_php' ) ) {
printf(
/* translators: %s: URL to Update PHP page. */
' ' . __( '<a href="%s">Learn more about updating PHP</a>.' ),
esc_url( wp_get_update_php_url() )
);
wp_update_php_annotation( '</p><p><em>', '</em>' );
}
?>
<# } else if ( ! data.compatibleWP ) { #>
<?php
_e( 'This theme doesn&#8217;t work with your version of WordPress.' );
if ( current_user_can( 'update_core' ) ) {
printf(
/* translators: %s: URL to WordPress Updates screen. */
' ' . __( '<a href="%s">Please update WordPress</a>.' ),
self_admin_url( 'update-core.php' )
);
}
?>
<# } else if ( ! data.compatiblePHP ) { #>
<?php
_e( 'This theme doesn&#8217;t work with your version of PHP.' );
if ( current_user_can( 'update_php' ) ) {
printf(
/* translators: %s: URL to Update PHP page. */
' ' . __( '<a href="%s">Learn more about updating PHP</a>.' ),
esc_url( wp_get_update_php_url() )
);
wp_update_php_annotation( '</p><p><em>', '</em>' );
}
?>
<# } #>
</p></div>
<# } #>
<# if ( data.actions.autoupdate ) { #> <# if ( data.actions.autoupdate ) { #>
<?php echo wp_theme_auto_update_setting_template(); ?> <?php echo wp_theme_auto_update_setting_template(); ?>
<# } #> <# } #>
@ -702,6 +757,7 @@ function wp_theme_auto_update_setting_template() {
{{{ data.update }}} {{{ data.update }}}
</div> </div>
<# } #> <# } #>
<p class="theme-description">{{{ data.description }}}</p> <p class="theme-description">{{{ data.description }}}</p>
<# if ( data.parent ) { #> <# if ( data.parent ) { #>