PluginProbe
Jetpack – WP Security, Backup, Speed, & Growth / 8.8.1
Jetpack – WP Security, Backup, Speed, & Growth v8.8.1
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 in Jetpack – WP Security, Backup, Speed, & Growth 8.8.1, at modules/theme-tools.php

75 lines 2.2 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 )
47 );
48
49 _jetpack_require_compat_file( get_stylesheet(), $compat_files );
50
51 if ( is_child_theme() ) {
52 _jetpack_require_compat_file( get_template(), $compat_files );
53 }
54 }
55 add_action( 'after_setup_theme', 'jetpack_load_theme_compat', -1 );
56
57
58 /**
59 * Requires a file once, if the passed key exists in the files array.
60 *
61 * @access private
62 * @param string $key
63 * @param array $files
64 * @return void
65 */
66 function _jetpack_require_compat_file( $key, $files ) {
67 if ( ! is_string( $key ) ) {
68 return new WP_Error( 'key_not_string', 'The specified key is not actually a string.', compact( 'key' ) );
69 }
70
71 if ( array_key_exists( $key, $files ) && is_readable( $files[ $key ] ) ) {
72 require_once $files[ $key ];
73 }
74 }
75