PluginProbe
Customify / 2.1.1
Customify v2.1.1
2.10.9 1.2.3 1.2.4 1.2.5 1.2.6 1.2.7 1.2.7.1 1.3.0 1.3.1 1.4.0 1.4.1 1.4.2 1.5.0 1.5.1 1.5.2 1.5.3 1.5.4 1.5.5 1.5.6 1.5.7 1.6.0 1.6.0.1 1.6.5 1.7.0 1.7.1 All 77 releases
← All changes | features/class-CSS_Editor.php +89 -28 1.2.52.1.1 View file →
@@ -10,15 +10,20 @@
10 10 protected static $instance = null;
11 11
12 12 protected function __construct() {
13 13
14 - add_action( 'customify_create_custom_control', array( $this,'cle_create_custom_control'), 10, 1 );
14 + add_action( 'customify_create_custom_control', array( $this, 'cle_create_custom_control' ), 10, 1 );
15 + add_action( 'customize_controls_enqueue_scripts', array( $this, 'enqueue_admin_customizer_styles' ), 10 );
16 + $load_location = PixCustomifyPlugin()->get_plugin_setting( 'style_resources_location', 'wp_head' );
15 17
16 - add_action( 'customize_controls_enqueue_scripts', array( $this, 'enqueue_admin_customizer_styles' ), 10);
18 + if ( function_exists( 'wp_custom_css_cb' ) ) {
19 +// remove_action( 'wp_head', 'wp_custom_css_cb', 101 );
20 +// add_action( $load_location, 'wp_custom_css_cb', 999999999 );
21 + } else {
22 + // keep this for wordpress versions lower than 4.7
23 + add_action( $load_location, array( $this, 'output_dynamic_style' ), 99 );
24 + }
17 25
18 - $load_location = PixCustomifyPlugin::get_plugin_option( 'style_resources_location', 'wp_head' );
19 - add_action( $load_location, array( $this, 'output_dynamic_style' ), 999999999 );
20 -
21 26 //Check the WordPress version and if there are known problems disable it
22 27 add_filter( 'customify_css_live_editor_enabled', array( $this, 'disable_if_wp_incompatible' ), 10, 1 );
23 28 }
24 29
@@ -29,9 +34,9 @@
29 34 */
30 35 public static function get_instance() {
31 36
32 37 // If the single instance hasn't been set, set it now.
33 - if ( null == self::$instance ) {
38 + if ( is_null( self::$instance ) ) {
34 39 self::$instance = new self;
35 40 }
36 41
37 42 return self::$instance;
@@ -36,38 +41,94 @@
36 41
37 42 return self::$instance;
38 43 }
39 44
40 - function enqueue_admin_customizer_styles(){
45 + function enqueue_admin_customizer_styles() {
46 +
41 47 $dir = plugin_dir_url( __FILE__ );
48 + $dir = rtrim( $dir, 'features/' );
42 49
43 - $dir = rtrim( $dir, 'features/' );
50 + wp_enqueue_script( 'customify-ace-editor', $dir . '/js/ace/ace.js', array( 'jquery' ), false, true );
44 51
45 - wp_register_script('customify-ace-editor', $dir . '/js/ace/ace.js', array('jquery'), false, true);
46 - wp_enqueue_script('live-css-editor', $dir . '/js/live_css_editor.js', array('customify-ace-editor'), false, true);
52 + if ( ! apply_filters( 'customify_css_live_editor_enabled', true ) ) {
53 + return ;
54 + }
47 55
56 + wp_enqueue_script( 'live-css-editor', $dir . '/js/live_css_editor.js', array( 'customify-ace-editor' ), false, true );
48 57 }
49 58
50 59 function cle_create_custom_control( $wp_customize ) {
51 - // Allow others to short-circuit us
52 - if ( ! apply_filters( 'customify_css_live_editor_enabled', true ) ) {
53 - return;
54 - }
60 + // Allow others to short-circuit us
61 + if ( ! apply_filters( 'customify_css_live_editor_enabled', true ) ) {
55 62
63 + // port CSS if
64 + if ( function_exists( 'wp_update_custom_css_post' ) ) {
65 + // Migrate any existing theme CSS to the core option added in WordPress 4.7.
66 + $store_type = PixCustomifyPlugin()->get_plugin_setting( 'values_store_mod', 'option' );
67 +
68 + $default_css = __( "/*
69 + * Welcome to the Custom CSS Editor
70 + *
71 + * CSS (Cascading Style Sheets) is a language that helps
72 + * the browser render your website. You may remove these
73 + * lines and get started with your own customizations.
74 + *
75 + * The generated code will be placed after the theme
76 + * stylesheets, which means that your rules can take
77 + * precedence and override the theme CSS rules. Just
78 + * write here what you want to change, you don't need
79 + * to copy all your theme's stylesheet content.
80 + *
81 + * Getting started with CSS (tutorial):
82 + * http://bit.ly/css-getting-started
83 + */
84 +
85 +/* An example of a Custom CSS Snippet */
86 +selector {
87 + color: green;
88 +}", 'customify' );
89 +
90 + if ( $store_type === 'option' ) {
91 + $CSS = get_option( 'live_css_edit' );
92 + } elseif ( $store_type === 'theme_mod' ) {
93 + $CSS = get_theme_mod( 'live_css_edit' );
94 + }
95 +
96 + if ( ! empty( $CSS ) && $default_css !== $CSS ) {
97 +
98 + $CSS = str_replace( $default_css, '', $CSS );
99 +
100 + $core_css = wp_get_custom_css(); // Preserve any CSS already added to the core option.
101 + $return = wp_update_custom_css_post( $core_css . $CSS );
102 + if ( ! is_wp_error( $return ) ) {
103 + // Remove the old theme_mod, so that the CSS is stored in only one place moving forward.
104 + remove_theme_mod( 'custom_theme_css' );
105 + if ( $store_type === 'option' ) {
106 + $CSS = delete_option( 'live_css_edit' );
107 + } elseif ( $store_type === 'theme_mod' ) {
108 + $CSS = remove_theme_mod( 'live_css_edit' );
109 + }
110 + }
111 + }
112 + }
113 +
114 + return;
115 + }
116 +
56 117 $wp_customize->add_section( 'live_css_edit_section', array(
57 118 'priority' => 11,
58 119 'capability' => 'edit_theme_options',
59 - 'title' => __('CSS Editor', 'customify_txtd'),
120 + 'title' => __( 'CSS Editor', 'customify' ),
60 121 ) );
61 122
62 - $saving_type = PixCustomifyPlugin::get_plugin_option( 'values_store_mod', 'option' );
123 + $saving_type = PixCustomifyPlugin()->get_plugin_setting( 'values_store_mod', 'option' );
63 124
64 125 $wp_customize->add_setting( 'live_css_edit', array(
65 - 'type' => $saving_type,
66 - 'label' => __('CSS Editor', 'customify_txtd'),
126 + 'type' => $saving_type,
127 + 'label' => __( 'CSS Editor', 'customify' ),
67 128 'capability' => 'edit_theme_options',
68 - 'transport' => 'postMessage',
69 - 'default' => __("/*
129 + 'transport' => 'postMessage',
130 + 'default' => __( "/*
70 131 * Welcome to the Custom CSS Editor
71 132 *
72 133 * CSS (Cascading Style Sheets) is a language that helps
73 134 * the browser render your website. You may remove these
@@ -85,9 +146,9 @@
85 146
86 147 /* An example of a Custom CSS Snippet */
87 148 selector {
88 149 color: green;
89 -}", 'customify_txtd')
150 +}", 'customify' )
90 151 ) );
91 152
92 153 $this_control = new Pix_Customize_CSS_Editor_Control(
93 154 $wp_customize,
@@ -92,9 +153,9 @@
92 153 $this_control = new Pix_Customize_CSS_Editor_Control(
93 154 $wp_customize,
94 155 'live_css_edit_control',
95 156 array(
96 - 'label' => __('Edit Live Css', 'customify_txtd'),
157 + 'label' => __( 'Edit Live Css', 'customify' ),
97 158 'section' => 'live_css_edit_section',
98 159 'settings' => 'live_css_edit',
99 160 )
100 161 );
@@ -106,13 +167,13 @@
106 167 if ( ! apply_filters( 'customify_css_live_editor_enabled', true ) ) {
107 168 return;
108 169 }
109 170
110 - $store_type = PixCustomifyPlugin::get_plugin_option( 'values_store_mod', 'option' );
171 + $store_type = PixCustomifyPlugin()->get_plugin_setting( 'values_store_mod', 'option' );
111 172 if ( $store_type === 'option' ) {
112 173 $output = get_option( 'live_css_edit' );
113 174 } elseif ( $store_type === 'theme_mod' ) {
114 - $output = get_theme_mod( 'live_css_edit' );
175 + $output = get_theme_mod( 'live_css_edit' );
115 176 }
116 177
117 178 if ( empty( $output ) ) {
118 179 return;
@@ -127,16 +188,16 @@
127 188 global $wp_version;
128 189
129 190 // WordPress 4.7 introduced a Customizer CSS editor that conflicts with our own
130 191 // It's best to leave only the one in core
131 - // So only load our CSS editor for WP version smaller than 4.7
132 - // We use 4.6.9 to catch the release candidates also
192 + // So only load our CSS editor for WP version smaller than 4.7
193 + // We use 4.6.9 to catch the release candidates also
133 194 if ( version_compare( $wp_version, '4.6.9', '>=' ) ) {
134 - return false;
195 + return false;
135 196 }
136 197
137 198 return $enabled;
138 - }
199 + }
139 200 }
140 201
141 202 $customify_CSS_Editor = Customify_CSS_Live_Editor::get_instance();
142 203