PluginProbe
Jetpack – WP Security, Backup, Speed, & Growth / 9.5
Jetpack – WP Security, Backup, Speed, & Growth v9.5
16.2-beta 12.0.3 12.1.3 12.2.3 12.3.2 12.4.2 12.5.2 12.6.4 12.7.3 12.8.3 12.9.5 13.0.2 13.1.5 13.2.4 13.3.3 13.4.5 13.5.2 13.6.2 13.7.2 13.8.3 13.9.2 14.0.1 14.1.1 14.2.2 14.3.1 All 501 releases
jetpack / modules / theme-tools.php
theme-tools.php
76 lines 2.3 KB
No matching file
Up and down to move Enter to open Esc to close
Raw Download Zip
1 <?php
2 /*
3 * Load code specific to themes or theme tools
4 * This file is special, and is not an actual `module` as such.
5 * It is included by ./module-extras.php
6 */
7
8 function jetpack_load_theme_tools() {
9 if ( current_theme_supports( 'tonesque' ) ) {
10 jetpack_require_lib( 'tonesque' );
11 }
12 }
13 add_action( 'init', 'jetpack_load_theme_tools', 30 );
14
15 /**
16 * Load theme compat file if it exists.
17 */
18 function jetpack_load_theme_compat() {
19
20 /**
21 * Filter theme compat files.
22 *
23 * Themes can add their own compat files here if they like. For example:
24 *
25 * add_filter( 'jetpack_theme_compat_files', 'mytheme_jetpack_compat_file' );
26 * function mytheme_jetpack_compat_file( $files ) {
27 * $files['mytheme'] = locate_template( 'jetpack-compat.php' );
28 * return $files;
29 * }
30 *
31 * @module theme-tools
32 *
33 * @since 2.8.0
34 *
35 * @param array Associative array of theme compat files to load.
36 */
37 $compat_files = apply_filters(
38 'jetpack_theme_compat_files',
39 array(
40 'twentyfourteen' => JETPACK__PLUGIN_DIR . 'modules/theme-tools/compat/twentyfourteen.php',
41 'twentyfifteen' => JETPACK__PLUGIN_DIR . 'modules/theme-tools/compat/twentyfifteen.php',
42 'twentysixteen' => JETPACK__PLUGIN_DIR . 'modules/theme-tools/compat/twentysixteen.php',
43 'twentyseventeen' => JETPACK__PLUGIN_DIR . 'modules/theme-tools/compat/twentyseventeen.php',
44 'twentynineteen' => JETPACK__PLUGIN_DIR . 'modules/theme-tools/compat/twentynineteen.php',
45 'twentytwenty' => JETPACK__PLUGIN_DIR . 'modules/theme-tools/compat/twentytwenty.php',
46 'twentytwentyone' => JETPACK__PLUGIN_DIR . 'modules/theme-tools/compat/twentytwentyone.php',
47 )
48 );
49
50 _jetpack_require_compat_file( get_stylesheet(), $compat_files );
51
52 if ( is_child_theme() ) {
53 _jetpack_require_compat_file( get_template(), $compat_files );
54 }
55 }
56 add_action( 'after_setup_theme', 'jetpack_load_theme_compat', -1 );
57
58
59 /**
60 * Requires a file once, if the passed key exists in the files array.
61 *
62 * @access private
63 * @param string $key
64 * @param array $files
65 * @return void
66 */
67 function _jetpack_require_compat_file( $key, $files ) {
68 if ( ! is_string( $key ) ) {
69 return new WP_Error( 'key_not_string', 'The specified key is not actually a string.', compact( 'key' ) );
70 }
71
72 if ( array_key_exists( $key, $files ) && is_readable( $files[ $key ] ) ) {
73 require_once $files[ $key ];
74 }
75 }
76