Wordpress 3.7
[autoinstalls/wordpress.git] / wp-content / themes / twentythirteen / inc / back-compat.php
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' );