forked from themeum/kirki
-
Notifications
You must be signed in to change notification settings - Fork 0
/
kirki.php
106 lines (88 loc) · 2.95 KB
/
kirki.php
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
<?php
/**
* Plugin Name: Kirki Toolkit
* Plugin URI: http://aristath.github.io/kirki
* Description: The ultimate WordPress Customizer Toolkit
* Author: Aristeides Stathopoulos
* Author URI: http://aristath.github.io
* Version: 3.0.25
* Text Domain: kirki
*
* GitHub Plugin URI: aristath/kirki
* GitHub Plugin URI: https://github.com/aristath/kirki
*
* @package Kirki
* @category Core
* @author Aristeides Stathopoulos
* @copyright Copyright (c) 2017, Aristeides Stathopoulos
* @license http://opensource.org/licenses/https://opensource.org/licenses/MIT
* @since 1.0
*/
// Exit if accessed directly.
if ( ! defined( 'ABSPATH' ) ) {
exit;
}
// No need to proceed if Kirki already exists.
if ( class_exists( 'Kirki' ) ) {
return;
}
// Include the autoloader.
require_once dirname( __FILE__ ) . DIRECTORY_SEPARATOR . 'class-kirki-autoload.php';
new Kirki_Autoload();
if ( ! defined( 'KIRKI_PLUGIN_FILE' ) ) {
define( 'KIRKI_PLUGIN_FILE', __FILE__ );
}
// Define the KIRKI_VERSION constant.
if ( ! defined( 'KIRKI_VERSION' ) ) {
if ( ! function_exists( 'get_plugin_data' ) ) {
include_once ABSPATH . 'wp-admin/includes/plugin.php';
}
$data = get_plugin_data( KIRKI_PLUGIN_FILE );
$version = ( isset( $data['Version'] ) ) ? $data['Version'] : false;
define( 'KIRKI_VERSION', $version );
}
// Make sure the path is properly set.
Kirki::$path = wp_normalize_path( dirname( __FILE__ ) );
Kirki_Init::set_url();
new Kirki_Controls();
if ( ! function_exists( 'Kirki' ) ) {
/**
* Returns an instance of the Kirki object.
*/
function kirki() {
$kirki = Kirki_Toolkit::get_instance();
return $kirki;
}
}
// Start Kirki.
global $kirki;
$kirki = kirki();
// Instantiate the modules.
$kirki->modules = new Kirki_Modules();
Kirki::$url = plugins_url( '', __FILE__ );
// Instantiate classes.
new Kirki();
new Kirki_L10n();
// Include deprecated functions & methods.
require_once wp_normalize_path( dirname( __FILE__ ) . '/deprecated/deprecated.php' );
// Include the ariColor library.
require_once wp_normalize_path( dirname( __FILE__ ) . '/lib/class-aricolor.php' );
// Add an empty config for global fields.
Kirki::add_config( '' );
$custom_config_path = dirname( __FILE__ ) . '/custom-config.php';
$custom_config_path = wp_normalize_path( $custom_config_path );
if ( file_exists( $custom_config_path ) ) {
require_once $custom_config_path;
}
// Add upgrade notifications.
require_once wp_normalize_path( dirname( __FILE__ ) . '/upgrade-notifications.php' );
/**
* To enable tests, add this line to your wp-config.php file (or anywhere alse):
* define( 'KIRKI_TEST', true );
*
* Please note that the example.php file is not included in the wordpress.org distribution
* and will only be included in dev versions of the plugin in the github repository.
*/
if ( defined( 'KIRKI_TEST' ) && true === KIRKI_TEST && file_exists( dirname( __FILE__ ) . '/example.php' ) ) {
include_once dirname( __FILE__ ) . '/example.php';
}