wp/wp-content/themes/twentythirteen/inc/back-compat.php
changeset 0 d970ebf37754
child 5 5e2f62d02dcd
equal deleted inserted replaced
-1:000000000000 0:d970ebf37754
       
     1 <?php
       
     2 /**
       
     3  * Twenty Thirteen back compat functionality
       
     4  *
       
     5  * Prevents Twenty Thirteen from running on WordPress versions prior to 3.6,
       
     6  * since this theme is not meant to be backward compatible and relies on
       
     7  * many new functions and markup changes introduced in 3.6.
       
     8  *
       
     9  * @package WordPress
       
    10  * @subpackage Twenty_Thirteen
       
    11  * @since Twenty Thirteen 1.0
       
    12  */
       
    13 
       
    14 /**
       
    15  * Prevent switching to Twenty Thirteen on old versions of WordPress.
       
    16  *
       
    17  * Switches to the default theme.
       
    18  *
       
    19  * @since Twenty Thirteen 1.0
       
    20  *
       
    21  * @return void
       
    22  */
       
    23 function twentythirteen_switch_theme() {
       
    24 	switch_theme( WP_DEFAULT_THEME, WP_DEFAULT_THEME );
       
    25 	unset( $_GET['activated'] );
       
    26 	add_action( 'admin_notices', 'twentythirteen_upgrade_notice' );
       
    27 }
       
    28 add_action( 'after_switch_theme', 'twentythirteen_switch_theme' );
       
    29 
       
    30 /**
       
    31  * Add message for unsuccessful theme switch.
       
    32  *
       
    33  * Prints an update nag after an unsuccessful attempt to switch to
       
    34  * Twenty Thirteen on WordPress versions prior to 3.6.
       
    35  *
       
    36  * @since Twenty Thirteen 1.0
       
    37  *
       
    38  * @return void
       
    39  */
       
    40 function twentythirteen_upgrade_notice() {
       
    41 	$message = sprintf( __( 'Twenty Thirteen requires at least WordPress version 3.6. You are running version %s. Please upgrade and try again.', 'twentythirteen' ), $GLOBALS['wp_version'] );
       
    42 	printf( '<div class="error"><p>%s</p></div>', $message );
       
    43 }
       
    44 
       
    45 /**
       
    46  * Prevent the Theme Customizer from being loaded on WordPress versions prior to 3.6.
       
    47  *
       
    48  * @since Twenty Thirteen 1.0
       
    49  *
       
    50  * @return void
       
    51  */
       
    52 function twentythirteen_customize() {
       
    53 	wp_die( sprintf( __( 'Twenty Thirteen requires at least WordPress version 3.6. You are running version %s. Please upgrade and try again.', 'twentythirteen' ), $GLOBALS['wp_version'] ), '', array(
       
    54 		'back_link' => true,
       
    55 	) );
       
    56 }
       
    57 add_action( 'load-customize.php', 'twentythirteen_customize' );
       
    58 
       
    59 /**
       
    60  * Prevent the Theme Preview from being loaded on WordPress versions prior to 3.4.
       
    61  *
       
    62  * @since Twenty Thirteen 1.0
       
    63  *
       
    64  * @return void
       
    65  */
       
    66 function twentythirteen_preview() {
       
    67 	if ( isset( $_GET['preview'] ) ) {
       
    68 		wp_die( sprintf( __( 'Twenty Thirteen requires at least WordPress version 3.6. You are running version %s. Please upgrade and try again.', 'twentythirteen' ), $GLOBALS['wp_version'] ) );
       
    69 	}
       
    70 }
       
    71 add_action( 'template_redirect', 'twentythirteen_preview' );