| 1 | <?php |
| 2 | /** |
| 3 | * Twenty Fifteen back compat functionality |
| 4 | * |
| 5 | * Prevents Twenty Fifteen from running on WordPress versions prior to 4.1, |
| 6 | * since this theme is not meant to be backward compatible beyond that |
| 7 | * and relies on many newer functions and markup changes introduced in 4.1. |
| 8 | * |
| 9 | * @package WordPress |
| 10 | * @subpackage Twenty_Fifteen |
| 11 | * @since Twenty Fifteen 1.0 |
| 12 | */ |
| 13 | |
| 14 | /** |
| 15 | * Prevent switching to Twenty Fifteen on old versions of WordPress. |
| 16 | * |
| 17 | * Switches to the default theme. |
| 18 | * |
| 19 | * @since Twenty Fifteen 1.0 |
| 20 | */ |
| 21 | function twentyfifteen_switch_theme() { |
| 22 | switch_theme( WP_DEFAULT_THEME, WP_DEFAULT_THEME ); |
| 23 | unset( $_GET['activated'] ); |
| 24 | add_action( 'admin_notices', 'twentyfifteen_upgrade_notice' ); |
| 25 | } |
| 26 | add_action( 'after_switch_theme', 'twentyfifteen_switch_theme' ); |
| 27 | |
| 28 | /** |
| 29 | * Add message for unsuccessful theme switch. |
| 30 | * |
| 31 | * Prints an update nag after an unsuccessful attempt to switch to |
| 32 | * Twenty Fifteen on WordPress versions prior to 4.1. |
| 33 | * |
| 34 | * @since Twenty Fifteen 1.0 |
| 35 | */ |
| 36 | function twentyfifteen_upgrade_notice() { |
| 37 | $message = sprintf( __( 'Twenty Fifteen requires at least WordPress version 4.1. You are running version %s. Please upgrade and try again.', 'twentyfifteen' ), $GLOBALS['wp_version'] ); |
| 38 | printf( '<div class="error"><p>%s</p></div>', $message ); |
| 39 | } |
| 40 | |
| 41 | /** |
| 42 | * Prevent the Customizer from being loaded on WordPress versions prior to 4.1. |
| 43 | * |
| 44 | * @since Twenty Fifteen 1.0 |
| 45 | */ |
| 46 | function twentyfifteen_customize() { |
| 47 | wp_die( sprintf( __( 'Twenty Fifteen requires at least WordPress version 4.1. You are running version %s. Please upgrade and try again.', 'twentyfifteen' ), $GLOBALS['wp_version'] ), '', array( |
| 48 | 'back_link' => true, |
| 49 | ) ); |
| 50 | } |
| 51 | add_action( 'load-customize.php', 'twentyfifteen_customize' ); |
| 52 | |
| 53 | /** |
| 54 | * Prevent the Theme Preview from being loaded on WordPress versions prior to 4.1. |
| 55 | * |
| 56 | * @since Twenty Fifteen 1.0 |
| 57 | */ |
| 58 | function twentyfifteen_preview() { |
| 59 | if ( isset( $_GET['preview'] ) ) { |
| 60 | wp_die( sprintf( __( 'Twenty Fifteen requires at least WordPress version 4.1. You are running version %s. Please upgrade and try again.', 'twentyfifteen' ), $GLOBALS['wp_version'] ) ); |
| 61 | } |
| 62 | } |
| 63 | add_action( 'template_redirect', 'twentyfifteen_preview' ); |
| 64 | No newline at end of file |