PluginProbe ʕ •ᴥ•ʔ
Jetpack – WP Security, Backup, Speed, & Growth / 16.1-a.5
Jetpack – WP Security, Backup, Speed, & Growth v16.1-a.5
16.2-a.3 16.1.2 16.2-a.1 16.1.1 16.1 16.1-beta 16.1-beta.2 16.1-beta.3 16.1-a.5 16.1-a.3 16.0.1 16.1-a.1 16.0 16.0-beta 16.0-a.7 16.0-a.5 15.9.1 16.0-a.3 16.0-a.1 15.9 15.9-beta 15.9-a.7 15.9-a.5 15.9-a.3 15.9-a.1 15.8 15.8-beta 15.8-a.7 15.8-a.5 5.2.5 5.3.4 5.4.4 5.5.5 5.6.5 5.7.5 5.8.4 5.9.4 6.0.4 6.1 6.1.1 6.1.2 6.1.3 6.1.4 6.1.5 6.2 6.2.1 6.2.2 6.2.3 6.2.4 6.2.5 6.3 6.3.1 6.3.2 6.3.3 6.3.4 6.3.5 6.3.6 6.3.7 6.4 6.4.1 6.4.2 6.4.3 6.4.4 6.4.5 6.4.6 6.5 6.5.1 6.5.2 6.5.3 6.5.4 6.6 6.6.1 6.6.2 6.6.3 6.6.4 6.6.5 6.7 6.7.1 6.7.2 6.7.3 6.7.4 6.8 6.8.1 6.8.2 6.8.3 6.8.4 6.8.5 6.9 6.9.1 6.9.2 6.9.3 6.9.4 7.0 7.0.1 7.0.2 7.0.3 7.0.4 7.0.5 7.1 7.1.1 7.1.2 7.1.3 7.1.4 7.1.5 7.2 7.2.1 7.2.1.1 7.2.2 7.2.3 7.2.4 7.2.5 7.3 7.3.0.1 7.3.1 7.3.1.1 7.3.2 7.3.3 7.3.4 7.3.5 7.4 7.4.1 7.4.2 7.4.3 7.4.4 7.4.5 7.5 7.5.0.1 7.5.1 7.5.2 7.5.3 7.5.4 7.5.5 7.5.6 7.5.7 7.6 7.6.1 7.6.2 7.6.3 7.6.4 7.7 7.7.1 7.7.2 7.7.3 7.7.4 7.7.5 7.7.6 7.8 7.8.1 7.8.2 7.8.3 7.8.4 7.9 7.9.1 7.9.2 7.9.3 7.9.4 8.0 8.0.1 8.0.2 8.0.3 8.1 8.1.1 8.1.2 8.1.3 8.1.4 8.2 8.2.0.1 8.2.1 8.2.2 8.2.3 8.2.4 8.2.5 8.2.6 8.3 8.3.1 8.3.2 8.3.3 8.4 8.4.1 8.4.2 8.4.3 8.4.4 8.4.5 8.5 8.5.1 8.5.2 8.5.3 8.6 8.6.1 8.6.2 8.6.3 8.6.4 8.7 8.7.0.1 8.7.1 8.7.2 8.7.3 8.7.4 8.8 8.8.1 8.8.2 8.8.3 8.8.4 8.8.5 8.9 8.9.1 8.9.2 8.9.3 8.9.4 9.0 9.0.1 9.0.2 9.0.3 9.0.4 9.0.5 9.1 9.1.1 9.1.2 9.1.3 9.2 9.2.1 9.2.2 9.2.3 9.2.4 9.3 9.3.1 9.3.2 9.3.3 9.3.4 9.3.5 9.4 9.4.1 9.4.2 9.4.3 9.4.4 9.5 9.5.1 9.5.2 9.5.3 9.5.4 9.5.5 9.6 9.6.1 9.6.2 9.6.3 9.6.4 9.7 9.7.1 9.7.2 15.7-beta.2 9.7.3 15.7.1 9.8 15.8-a.1 9.8.1 15.8-a.3 9.8.2 2.0.9 9.8.3 2.1.7 9.9 2.2.10 9.9.1 2.3.10 9.9.2 2.4.7 9.9.3 2.5.5 2.6.6 2.7.5 2.8.5 2.9.6 3.0.6 3.1.5 3.2.5 3.3.6 3.4.6 3.5.6 3.6.4 3.7.5 3.8.5 3.9.10 4.0.7 4.1.4 4.2.5 4.3.5 4.4.5 4.5.3 4.6.3 4.7.4 4.8.5 4.9.3 5.0.3 5.1.4 trunk 10.0 10.0.1 10.0.2 10.1 10.1.1 10.1.2 10.2 10.2.1 10.2.2 10.2.3 10.3 10.3.1 10.3.2 10.4 10.4.1 10.4.2 10.5 10.5.1 10.5.2 10.5.3 10.6 10.6.1 10.6.2 10.7 10.7.1 10.7.2 10.8 10.8.1 10.8.2 10.9 10.9.1 10.9.2 10.9.3 11.0 11.0.1 11.0.2 11.1 11.1.1 11.1.2 11.1.3 11.1.4 11.2 11.2.1 11.2.2 11.3 11.3.1 11.3.2 11.3.3 11.3.4 11.4 11.4.1 11.4.2 11.5 11.5.1 11.5.2 11.5.3 11.6 11.6.1 11.6.2 11.7 11.7.1 11.7.2 11.7.3 11.8 11.8.3 11.8.4 11.8.5 11.8.6 11.9 11.9.1 11.9.2 11.9.3 12.0 12.0.1 12.0.2 12.1 12.1.1 12.1.2 12.2 12.2.1 12.2.2 12.3 12.3.1 12.4 12.4.1 12.5 12.5.1 12.6 12.6.1 12.6.2 12.6.3 12.7 12.7.1 12.7.2 12.8 12.8.1 12.8.2 12.9 12.9.1 12.9.2 12.9.3 12.9.4 13.0 13.0.1 13.1 13.1.1 13.1.2 13.1.3 13.1.4 13.2 13.2.1 13.2.2 13.2.3 13.3 13.3.1 13.3.2 13.4 13.4.1 13.4.2 13.4.3 13.4.4 13.5 13.5.1 13.6 13.6.1 13.7 13.7.1 13.8 13.8.1 13.8.2 13.9 13.9.1 14.0 14.1 14.2 14.2.1 14.3 14.4 14.4.1 14.5 14.6 14.7 14.8 14.9 14.9.1 15.0 15.0.1 15.0.2 15.1 15.1.1 15.2 15.3 15.3.1 15.4 15.5 15.6 15.7 15.7-a.1 15.7-a.3 15.7-a.5 15.7-a.7 15.7-beta
jetpack / jetpack_vendor / automattic / jetpack-classic-theme-helper / src / class-main.php
jetpack / jetpack_vendor / automattic / jetpack-classic-theme-helper / src Last commit date
compat 9 months ago content-options 2 months ago custom-post-types 1 month ago featured-content 1 year ago responsive-videos 1 year ago social-menu 2 months ago class-featured-content.php 2 months ago class-main.php 1 month ago class-social-links.php 9 months ago content-options.php 9 months ago custom-content-types.php 8 months ago jetpack-color.php 2 years ago responsive-videos.php 2 years ago shared-functions.php 2 years ago site-breadcrumbs.php 9 months ago social-menu.php 9 months ago
class-main.php
138 lines
1 <?php
2 /**
3 * Package description here
4 *
5 * @package automattic/jetpack-classic-theme-helper
6 */
7
8 namespace Automattic\Jetpack\Classic_Theme_Helper;
9
10 use WP_Error;
11
12 if ( ! defined( 'ABSPATH' ) ) {
13 exit( 0 );
14 }
15
16 /**
17 * Classic Theme Helper Loader.
18 */
19 class Main {
20
21 const PACKAGE_VERSION = '0.14.38';
22
23 /**
24 * Modules to include.
25 *
26 * @var array
27 */
28 public $modules = array(
29 'custom-content-types.php',
30 'responsive-videos.php',
31 'site-breadcrumbs.php',
32 'social-menu.php',
33 'jetpack-color.php',
34 'content-options.php',
35 );
36
37 /** Holds the singleton instance of the Loader
38 *
39 * @var Main
40 */
41 public static $instance = null;
42
43 /**
44 * Initialize the Loader.
45 */
46 public static function init() {
47 if ( ! self::$instance ) {
48 self::$instance = new Main();
49 self::$instance->load_modules();
50 add_action( 'init', array( __CLASS__, 'jetpack_load_theme_tools' ), 30 );
51 add_action( 'after_setup_theme', array( __CLASS__, 'classic_theme_helper_load_theme_compat' ), -1 );
52 }
53
54 return self::$instance;
55 }
56
57 /**
58 * Load modules.
59 */
60 public function load_modules() {
61
62 // Filter the modules to include.
63 // $since = 0.1.0
64 // @param array $modules Array of modules to include.
65 $modules = apply_filters( 'jetpack_classic_theme_helper_modules', $this->modules );
66 foreach ( $modules as $module ) {
67 require_once __DIR__ . '/' . $module;
68 }
69 }
70
71 /**
72 * Conditionally require the Tonesque lib depending on theme support.
73 */
74 public static function jetpack_load_theme_tools() {
75 if ( current_theme_supports( 'tonesque' ) ) {
76 require_once __DIR__ . '/../_inc/lib/tonesque.php';
77 }
78 }
79
80 /**
81 * Load theme compat file if it exists.
82 */
83 public static function classic_theme_helper_load_theme_compat() {
84
85 /**
86 * Filter theme compat files.
87 *
88 * Themes can add their own compat files here if they like. For example:
89 *
90 * add_filter( 'classic_theme_helper_theme_compat_files', 'mytheme_classic_theme_helper_theme_compat_file' );
91 * function mytheme_classic_theme_helper_theme_compat_file( $files ) {
92 * $files['mytheme'] = locate_template( 'jetpack-compat.php' );
93 * return $files;
94 * }
95 *
96 * @since 0.2.0
97 *
98 * @param array Associative array of theme compat files to load.
99 */
100 $compat_files = apply_filters(
101 'classic_theme_helper_theme_compat_files',
102 array(
103 'twentyfourteen' => __DIR__ . '/compat/twentyfourteen.php',
104 'twentyfifteen' => __DIR__ . '/compat/twentyfifteen.php',
105 'twentysixteen' => __DIR__ . '/compat/twentysixteen.php',
106 'twentynineteen' => __DIR__ . '/compat/twentynineteen.php',
107 'twentytwenty' => __DIR__ . '/compat/twentytwenty.php',
108 'twentytwentyone' => __DIR__ . '/compat/twentytwentyone.php',
109 )
110 );
111
112 self::classic_theme_helper_require_compat_file( get_stylesheet(), $compat_files );
113
114 if ( is_child_theme() ) {
115 self::classic_theme_helper_require_compat_file( get_template(), $compat_files );
116 }
117 }
118
119 /**
120 * Requires a file once, if the passed key exists in the files array.
121 *
122 * @param string $key The key to check.
123 * @param array $files Array of files to check in.
124 * @return void|WP_Error
125 */
126 private static function classic_theme_helper_require_compat_file( $key, $files ) {
127 if ( ! is_string( $key ) ) {
128 return new WP_Error( 'key_not_string', 'The specified key is not actually a string.', compact( 'key' ) );
129 }
130
131 if ( array_key_exists( $key, $files ) && is_readable( $files[ $key ] ) ) {
132 require_once $files[ $key ];
133 }
134 }
135 }
136
137 Main::init();
138