Completed
Push — add/e2e-mailchimp-block-test ( e217db...6066d0 )
by Yaroslav
98:30 queued 85:55
created

modules/theme-tools.php (1 issue)

Upgrade to new PHP Analysis Engine

These results are based on our legacy PHP analysis, consider migrating to our new PHP analysis engine instead. Learn more

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( 'jetpack_theme_compat_files', array(
38
		'twentyfourteen'   => JETPACK__PLUGIN_DIR . 'modules/theme-tools/compat/twentyfourteen.php',
39
		'twentyfifteen'    => JETPACK__PLUGIN_DIR . 'modules/theme-tools/compat/twentyfifteen.php',
40
		'twentysixteen'    => JETPACK__PLUGIN_DIR . 'modules/theme-tools/compat/twentysixteen.php',
41
		'twentyseventeen'  => JETPACK__PLUGIN_DIR . 'modules/theme-tools/compat/twentyseventeen.php',
42
		'twentynineteen'   => JETPACK__PLUGIN_DIR . 'modules/theme-tools/compat/twentynineteen.php',
43
	) );
44
45
	_jetpack_require_compat_file( get_stylesheet(), $compat_files );
46
47
	if ( is_child_theme() ) {
48
		_jetpack_require_compat_file( get_template(), $compat_files );
49
	}
50
}
51
add_action( 'after_setup_theme', 'jetpack_load_theme_compat', -1 );
52
53
54
/**
55
 * Requires a file once, if the passed key exists in the files array.
56
 *
57
 * @access private
58
 * @param string $key
59
 * @param array $files
60
 * @return void
61
 */
62
function _jetpack_require_compat_file( $key, $files ) {
63
	if ( ! is_string( $key ) ) {
64
		return new WP_Error( 'key_not_string', 'The specified key is not actually a string.', compact( 'key' ) );
0 ignored issues
show
The call to WP_Error::__construct() has too many arguments starting with 'key_not_string'.

This check compares calls to functions or methods with their respective definitions. If the call has more arguments than are defined, it raises an issue.

If a function is defined several times with a different number of parameters, the check may pick up the wrong definition and report false positives. One codebase where this has been known to happen is Wordpress.

In this case you can add the @ignore PhpDoc annotation to the duplicate definition and it will be ignored.

Loading history...
65
	}
66
67
	if ( array_key_exists( $key, $files ) && is_readable( $files[ $key ] ) ) {
68
		require_once $files[ $key ];
69
	}
70
}
71