This repository has been archived on 2024-02-08. You can view files and clone it, but cannot push or open issues or pull requests.
cookthebooks-legacy/inc/back-compat.php

71 lines
1.8 KiB
PHP

<?php
/**
* Back compat functionality.
*
* @package PressBook
*/
/**
* Display upgrade notice on theme switch.
*/
function pressbook_switch_theme() {
add_action( 'admin_notices', 'pressbook_upgrade_notice' );
}
add_action( 'after_switch_theme', 'pressbook_switch_theme' );
/**
* Adds a message for unsuccessful theme switch.
*
* Prints an update nag after an unsuccessful attempt to switch to
* the theme on WordPress versions prior to 5.3.
*
* @global string $wp_version WordPress version.
*/
function pressbook_upgrade_notice() {
echo '<div class="error"><p>';
printf(
/* translators: %s: WordPress Version. */
esc_html__( 'This theme requires WordPress 5.3 or newer. You are running version %s. Please upgrade.', 'pressbook' ),
esc_html( $GLOBALS['wp_version'] )
);
echo '</p></div>';
}
/**
* Prevents the Customizer from being loaded on WordPress versions prior to 5.3.
*
* @global string $wp_version WordPress version.
*/
function pressbook_customize() {
wp_die(
sprintf(
/* translators: %s: WordPress Version. */
esc_html__( 'This theme requires WordPress 5.3 or newer. You are running version %s. Please upgrade.', 'pressbook' ),
esc_html( $GLOBALS['wp_version'] )
),
'',
array(
'back_link' => true,
)
);
}
add_action( 'load-customize.php', 'pressbook_customize' );
/**
* Prevents the Theme Preview from being loaded on WordPress versions prior to 5.3.
*
* @global string $wp_version WordPress version.
*/
function pressbook_preview() {
if ( isset( $_GET['preview'] ) ) { // phpcs:ignore WordPress.Security.NonceVerification
wp_die(
sprintf(
/* translators: %s: WordPress Version. */
esc_html__( 'This theme requires WordPress 5.3 or newer. You are running version %s. Please upgrade.', 'pressbook' ),
esc_html( $GLOBALS['wp_version'] )
)
);
}
}
add_action( 'template_redirect', 'pressbook_preview' );