87 lines
2.9 KiB
PHP
Executable File
87 lines
2.9 KiB
PHP
Executable File
<?php
|
|
/**
|
|
* Backward-compatibility functions for when theme requirements are not met
|
|
*
|
|
* This file must be parseable by PHP 5.2.
|
|
*
|
|
* @package kadence
|
|
*/
|
|
|
|
/**
|
|
* Gets the message to warn the user about the theme requirements not being met.
|
|
*
|
|
* @global string $wp_version WordPress version.
|
|
*
|
|
* @return string Message to show to the user.
|
|
*/
|
|
function kadence_get_insufficient_requirements_message() {
|
|
global $wp_version;
|
|
|
|
$insufficient_wp = version_compare( $wp_version, KADENCE_MINIMUM_WP_VERSION, '<' );
|
|
$insufficient_php = version_compare( phpversion(), KADENCE_MINIMUM_PHP_VERSION, '<' );
|
|
|
|
if ( $insufficient_wp && $insufficient_php ) {
|
|
/* translators: 1: required WP version number, 2: required PHP version number, 3: available WP version number, 4: available PHP version number */
|
|
return sprintf( __( 'Kadence requires at least WordPress version %1$s and PHP version %2$s. You are running versions %3$s and %3$s respectively. Please update and try again.', 'kadence' ), KADENCE_MINIMUM_WP_VERSION, KADENCE_MINIMUM_PHP_VERSION, $wp_version, phpversion() );
|
|
}
|
|
|
|
if ( $insufficient_wp ) {
|
|
/* translators: 1: required WP version number, 2: available WP version number */
|
|
return sprintf( __( 'Kadence requires at least WordPress version %1$s. You are running version %2$s. Please update and try again.', 'kadence' ), KADENCE_MINIMUM_WP_VERSION, $wp_version );
|
|
}
|
|
|
|
if ( $insufficient_php ) {
|
|
/* translators: 1: required PHP version number, 2: available PHP version number */
|
|
return sprintf( __( 'Kadence requires at least PHP version %1$s. You are running version %2$s. Please update and try again.', 'kadence' ), KADENCE_MINIMUM_PHP_VERSION, phpversion() );
|
|
}
|
|
|
|
return '';
|
|
}
|
|
|
|
/**
|
|
* Prevents switching to the theme when requirements are not met.
|
|
*
|
|
* Switches to the default theme.
|
|
*/
|
|
function kadence_switch_theme() {
|
|
switch_theme( WP_DEFAULT_THEME );
|
|
unset( $_GET['activated'] );
|
|
|
|
add_action( 'admin_notices', 'kadence_upgrade_notice' );
|
|
}
|
|
add_action( 'after_switch_theme', 'kadence_switch_theme' );
|
|
|
|
/**
|
|
* Adds a message for unsuccessful theme switch.
|
|
*
|
|
* Prints an update nag after an unsuccessful attempt to switch to the theme
|
|
* when requirements are not met.
|
|
*/
|
|
function kadence_upgrade_notice() {
|
|
printf( '<div class="error"><p>%s</p></div>', esc_html( kadence_get_insufficient_requirements_message() ) );
|
|
}
|
|
|
|
/**
|
|
* Prevents the Customizer from being loaded when requirements are not met.
|
|
*/
|
|
function kadence_customize() {
|
|
wp_die(
|
|
esc_html( kadence_get_insufficient_requirements_message() ),
|
|
'',
|
|
array(
|
|
'back_link' => true,
|
|
)
|
|
);
|
|
}
|
|
add_action( 'load-customize.php', 'kadence_customize' );
|
|
|
|
/**
|
|
* Prevents the Theme Preview from being loaded when requirements are not met.
|
|
*/
|
|
function kadence_preview() {
|
|
if ( isset( $_GET['preview'] ) ) {
|
|
wp_die( esc_html( kadence_get_insufficient_requirements_message() ) );
|
|
}
|
|
}
|
|
add_action( 'template_redirect', 'kadence_preview' );
|