Version Description
- 03/16/2022
- Fix: load the CodeMirror options from a localized variable
- Tweak: add the "ccj_code_editor_settings" filter for modifying the editor's options
Download this release
Release Info
Developer | diana_burduja |
Plugin | Simple Custom CSS and JS |
Version | 3.39 |
Comparing to | |
See all releases |
Code changes from version 3.38 to 3.39
- assets/ccj_admin.js +11 -26
- custom-css-js.php +40 -35
- includes/admin-screens.php +28 -16
- readme.txt +14 -20
assets/ccj_admin.js
CHANGED
@@ -12,36 +12,21 @@ jQuery(document).ready( function($) {
|
|
12 |
mode: null}]
|
13 |
};
|
14 |
}
|
15 |
-
|
16 |
-
|
17 |
-
|
18 |
-
|
19 |
-
|
20 |
-
|
21 |
-
|
22 |
-
|
23 |
-
|
24 |
-
|
25 |
-
},
|
26 |
-
"Esc": function(cm) {
|
27 |
-
if (cm.getOption("fullScreen")) cm.setOption("fullScreen", false);
|
28 |
-
fullscreen_buttons( false );
|
29 |
-
},
|
30 |
-
"Ctrl-Space": "autocomplete",
|
31 |
-
"Cmd-Space": "autocomplete",
|
32 |
-
"Ctrl-F": "findPersistent",
|
33 |
-
"Cmd-F": "findPersistent",
|
34 |
-
"Ctrl-/": "toggleComment",
|
35 |
-
"Cmd-/": "toggleComment",
|
36 |
-
"Ctrl-J": "toMatchingTag",
|
37 |
-
},
|
38 |
-
};
|
39 |
|
40 |
var cm_width = $('#title').width() + 16;
|
41 |
var cm_height = 500;
|
42 |
|
43 |
-
var editor = CodeMirror.fromTextArea(document.getElementById("ccj_content"),
|
44 |
-
|
45 |
editor.setSize(cm_width, cm_height);
|
46 |
|
47 |
$('.CodeMirror').resizable({
|
12 |
mode: null}]
|
13 |
};
|
14 |
}
|
15 |
+
|
16 |
+
CCJ.codemirror.mode = content_mode;
|
17 |
+
CCJ.codemirror.extraKeys.F11 = function(cm) {
|
18 |
+
cm.setOption("fullScreen", !cm.getOption("fullScreen"));
|
19 |
+
fullscreen_buttons( true );
|
20 |
+
};
|
21 |
+
CCJ.codemirror.extraKeys.Esc = function(cm) {
|
22 |
+
if (cm.getOption("fullScreen")) cm.setOption("fullScreen", false);
|
23 |
+
fullscreen_buttons( false );
|
24 |
+
};
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
25 |
|
26 |
var cm_width = $('#title').width() + 16;
|
27 |
var cm_height = 500;
|
28 |
|
29 |
+
var editor = CodeMirror.fromTextArea(document.getElementById("ccj_content"), CCJ.codemirror);
|
|
|
30 |
editor.setSize(cm_width, cm_height);
|
31 |
|
32 |
$('.CodeMirror').resizable({
|
custom-css-js.php
CHANGED
@@ -3,7 +3,7 @@
|
|
3 |
* Plugin Name: Simple Custom CSS and JS
|
4 |
* Plugin URI: https://wordpress.org/plugins/custom-css-js/
|
5 |
* Description: Easily add Custom CSS or JS to your website with an awesome editor.
|
6 |
-
* Version: 3.
|
7 |
* Author: SilkyPress.com
|
8 |
* Author URI: https://www.silkypress.com
|
9 |
* License: GPL2
|
@@ -12,7 +12,7 @@
|
|
12 |
* Domain Path: /languages/
|
13 |
*
|
14 |
* WC requires at least: 3.0.0
|
15 |
-
* WC tested up to: 6.
|
16 |
*/
|
17 |
|
18 |
if ( ! defined( 'ABSPATH' ) ) {
|
@@ -95,7 +95,7 @@ if ( ! class_exists( 'CustomCSSandJS' ) ) :
|
|
95 |
|
96 |
if ( is_null( self::$_instance ) ) {
|
97 |
$this->print_code_actions();
|
98 |
-
if ( isset ( $this->search_tree['jquery'] ) && $this->search_tree['jquery']
|
99 |
add_action( 'wp_enqueue_scripts', 'CustomCSSandJS::wp_enqueue_scripts' );
|
100 |
}
|
101 |
}
|
@@ -104,7 +104,7 @@ if ( ! class_exists( 'CustomCSSandJS' ) ) :
|
|
104 |
/**
|
105 |
* Add the appropriate wp actions
|
106 |
*/
|
107 |
-
function print_code_actions() {
|
108 |
foreach ( $this->search_tree as $_key => $_value ) {
|
109 |
$action = 'wp_';
|
110 |
if ( strpos( $_key, 'admin' ) !== false ) {
|
@@ -121,7 +121,7 @@ if ( ! class_exists( 'CustomCSSandJS' ) ) :
|
|
121 |
$action .= 'footer';
|
122 |
}
|
123 |
|
124 |
-
$priority = (
|
125 |
|
126 |
add_action( $action, array( $this, 'print_' . $_key ), $priority );
|
127 |
}
|
@@ -154,17 +154,17 @@ if ( ! class_exists( 'CustomCSSandJS' ) ) :
|
|
154 |
$type = strpos( $function, 'html' ) !== false ? 'html' : $type;
|
155 |
$tag = array( 'css' => 'style', 'js' => 'script' );
|
156 |
|
157 |
-
$type_attr = (
|
158 |
-
$type_attr = (
|
159 |
|
160 |
$upload_url = str_replace( array( 'https://', 'http://' ), '//', CCJ_UPLOAD_URL ) . '/';
|
161 |
|
162 |
-
if (
|
163 |
|
164 |
$before = $this->settings['remove_comments'] ? '' : '<!-- start Simple Custom CSS and JS -->' . PHP_EOL;
|
165 |
$after = $this->settings['remove_comments'] ? '' : '<!-- end Simple Custom CSS and JS -->' . PHP_EOL;
|
166 |
|
167 |
-
if (
|
168 |
$before .= '<' . $tag[ $type ] . ' ' . $type_attr . '>' . PHP_EOL;
|
169 |
$after = '</' . $tag[ $type ] . '>' . PHP_EOL . $after;
|
170 |
}
|
@@ -173,7 +173,7 @@ if ( ! class_exists( 'CustomCSSandJS' ) ) :
|
|
173 |
|
174 |
foreach ( $args as $_filename ) {
|
175 |
|
176 |
-
if (
|
177 |
if ( $this->settings['remove_comments'] || empty( $type_attr ) ) {
|
178 |
$custom_code = @file_get_contents( CCJ_UPLOAD_DIR . '/' . $_filename );
|
179 |
if ( $this->settings['remove_comments'] ) {
|
@@ -191,21 +191,21 @@ if ( ! class_exists( 'CustomCSSandJS' ) ) :
|
|
191 |
}
|
192 |
}
|
193 |
|
194 |
-
if (
|
195 |
$post = get_post( $_filename );
|
196 |
echo $before . $post->post_content . $after;
|
197 |
}
|
198 |
|
199 |
-
if (
|
200 |
echo PHP_EOL . "<script{$type_attr} src='{$upload_url}{$_filename}'></script>" . PHP_EOL;
|
201 |
}
|
202 |
|
203 |
-
if (
|
204 |
$shortfilename = preg_replace( '@\.css\?v=.*$@', '', $_filename );
|
205 |
echo PHP_EOL . "<link rel='stylesheet' id='{$shortfilename}-css' href='{$upload_url}{$_filename}'{$type_attr} media='all' />" . PHP_EOL;
|
206 |
}
|
207 |
|
208 |
-
if (
|
209 |
$_filename = str_replace( '.html', '', $_filename );
|
210 |
$post = get_post( $_filename );
|
211 |
echo $post->post_content . PHP_EOL;
|
@@ -225,10 +225,10 @@ if ( ! class_exists( 'CustomCSSandJS' ) ) :
|
|
225 |
/**
|
226 |
* Set constants for later use
|
227 |
*/
|
228 |
-
function set_constants() {
|
229 |
$dir = wp_upload_dir();
|
230 |
$constants = array(
|
231 |
-
'CCJ_VERSION' => '3.
|
232 |
'CCJ_UPLOAD_DIR' => $dir['basedir'] . '/custom-css-js',
|
233 |
'CCJ_UPLOAD_URL' => $dir['baseurl'] . '/custom-css-js',
|
234 |
'CCJ_PLUGIN_FILE' => __FILE__,
|
@@ -240,21 +240,22 @@ if ( ! class_exists( 'CustomCSSandJS' ) ) :
|
|
240 |
}
|
241 |
}
|
242 |
|
243 |
-
|
|
|
|
|
244 |
public function load_plugin_textdomain() {
|
245 |
load_plugin_textdomain( 'custom-css-js', false, plugin_basename( dirname( __FILE__ ) ) . '/languages' );
|
246 |
}
|
247 |
-
|
248 |
}
|
249 |
|
250 |
endif;
|
251 |
|
252 |
-
/**
|
253 |
-
* Returns the main instance of CustomCSSandJS
|
254 |
-
*
|
255 |
-
* @return CustomCSSandJS
|
256 |
-
*/
|
257 |
if ( ! function_exists( 'CustomCSSandJS' ) ) {
|
|
|
|
|
|
|
|
|
|
|
258 |
function CustomCSSandJS() {
|
259 |
return CustomCSSandJS::instance();
|
260 |
}
|
@@ -262,11 +263,14 @@ if ( ! function_exists( 'CustomCSSandJS' ) ) {
|
|
262 |
CustomCSSandJS();
|
263 |
}
|
264 |
|
265 |
-
|
266 |
-
/**
|
267 |
-
* Plugin action link to Settings page
|
268 |
-
*/
|
269 |
if ( ! function_exists( 'custom_css_js_plugin_action_links' ) ) {
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
270 |
function custom_css_js_plugin_action_links( $links ) {
|
271 |
|
272 |
$settings_link = '<a href="edit.php?post_type=custom-css-js">' .
|
@@ -278,16 +282,17 @@ if ( ! function_exists( 'custom_css_js_plugin_action_links' ) ) {
|
|
278 |
add_filter( 'plugin_action_links_' . plugin_basename( __FILE__ ), 'custom_css_js_plugin_action_links' );
|
279 |
}
|
280 |
|
281 |
-
|
282 |
-
|
283 |
-
/**
|
284 |
-
* Compatibility with the WP Quads Pro plugin,
|
285 |
-
* otherwise on a Custom Code save there is a
|
286 |
-
* "The link you followed has expired." page shown.
|
287 |
-
*/
|
288 |
if ( ! function_exists( 'custom_css_js_quads_pro_compat' ) ) {
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
289 |
function custom_css_js_quads_pro_compat( $post_types ) {
|
290 |
-
$match = array_search( 'custom-css-js', $post_types );
|
291 |
if ( $match ) {
|
292 |
unset( $post_types[ $match ] );
|
293 |
}
|
3 |
* Plugin Name: Simple Custom CSS and JS
|
4 |
* Plugin URI: https://wordpress.org/plugins/custom-css-js/
|
5 |
* Description: Easily add Custom CSS or JS to your website with an awesome editor.
|
6 |
+
* Version: 3.39
|
7 |
* Author: SilkyPress.com
|
8 |
* Author URI: https://www.silkypress.com
|
9 |
* License: GPL2
|
12 |
* Domain Path: /languages/
|
13 |
*
|
14 |
* WC requires at least: 3.0.0
|
15 |
+
* WC tested up to: 6.5
|
16 |
*/
|
17 |
|
18 |
if ( ! defined( 'ABSPATH' ) ) {
|
95 |
|
96 |
if ( is_null( self::$_instance ) ) {
|
97 |
$this->print_code_actions();
|
98 |
+
if ( isset ( $this->search_tree['jquery'] ) && true === $this->search_tree['jquery'] ) {
|
99 |
add_action( 'wp_enqueue_scripts', 'CustomCSSandJS::wp_enqueue_scripts' );
|
100 |
}
|
101 |
}
|
104 |
/**
|
105 |
* Add the appropriate wp actions
|
106 |
*/
|
107 |
+
public function print_code_actions() {
|
108 |
foreach ( $this->search_tree as $_key => $_value ) {
|
109 |
$action = 'wp_';
|
110 |
if ( strpos( $_key, 'admin' ) !== false ) {
|
121 |
$action .= 'footer';
|
122 |
}
|
123 |
|
124 |
+
$priority = ( 'wp_footer' === $action ) ? 40 : 10;
|
125 |
|
126 |
add_action( $action, array( $this, 'print_' . $_key ), $priority );
|
127 |
}
|
154 |
$type = strpos( $function, 'html' ) !== false ? 'html' : $type;
|
155 |
$tag = array( 'css' => 'style', 'js' => 'script' );
|
156 |
|
157 |
+
$type_attr = ( 'js' === $type && ! current_theme_supports( 'html5', 'script' ) ) ? ' type="text/javascript"' : '';
|
158 |
+
$type_attr = ( 'css' === $type && ! current_theme_supports( 'html5', 'style' ) ) ? ' type="text/css"' : $type_attr;
|
159 |
|
160 |
$upload_url = str_replace( array( 'https://', 'http://' ), '//', CCJ_UPLOAD_URL ) . '/';
|
161 |
|
162 |
+
if ( 'internal' === $where ) {
|
163 |
|
164 |
$before = $this->settings['remove_comments'] ? '' : '<!-- start Simple Custom CSS and JS -->' . PHP_EOL;
|
165 |
$after = $this->settings['remove_comments'] ? '' : '<!-- end Simple Custom CSS and JS -->' . PHP_EOL;
|
166 |
|
167 |
+
if ( 'css' === $type || 'js' === $type ) {
|
168 |
$before .= '<' . $tag[ $type ] . ' ' . $type_attr . '>' . PHP_EOL;
|
169 |
$after = '</' . $tag[ $type ] . '>' . PHP_EOL . $after;
|
170 |
}
|
173 |
|
174 |
foreach ( $args as $_filename ) {
|
175 |
|
176 |
+
if ( 'internal' === $where && ( strstr( $_filename, 'css' ) || strstr( $_filename, 'js' ) ) ) {
|
177 |
if ( $this->settings['remove_comments'] || empty( $type_attr ) ) {
|
178 |
$custom_code = @file_get_contents( CCJ_UPLOAD_DIR . '/' . $_filename );
|
179 |
if ( $this->settings['remove_comments'] ) {
|
191 |
}
|
192 |
}
|
193 |
|
194 |
+
if ( 'internal' === $where && ! strstr( $_filename, 'css' ) && ! strstr( $_filename, 'js' ) ) {
|
195 |
$post = get_post( $_filename );
|
196 |
echo $before . $post->post_content . $after;
|
197 |
}
|
198 |
|
199 |
+
if ( 'external' === $where && 'js' === $type ) {
|
200 |
echo PHP_EOL . "<script{$type_attr} src='{$upload_url}{$_filename}'></script>" . PHP_EOL;
|
201 |
}
|
202 |
|
203 |
+
if ( 'external' === $where && 'css' === $type ) {
|
204 |
$shortfilename = preg_replace( '@\.css\?v=.*$@', '', $_filename );
|
205 |
echo PHP_EOL . "<link rel='stylesheet' id='{$shortfilename}-css' href='{$upload_url}{$_filename}'{$type_attr} media='all' />" . PHP_EOL;
|
206 |
}
|
207 |
|
208 |
+
if ( 'external' === $where && 'html' === $type ) {
|
209 |
$_filename = str_replace( '.html', '', $_filename );
|
210 |
$post = get_post( $_filename );
|
211 |
echo $post->post_content . PHP_EOL;
|
225 |
/**
|
226 |
* Set constants for later use
|
227 |
*/
|
228 |
+
public function set_constants() {
|
229 |
$dir = wp_upload_dir();
|
230 |
$constants = array(
|
231 |
+
'CCJ_VERSION' => '3.39',
|
232 |
'CCJ_UPLOAD_DIR' => $dir['basedir'] . '/custom-css-js',
|
233 |
'CCJ_UPLOAD_URL' => $dir['baseurl'] . '/custom-css-js',
|
234 |
'CCJ_PLUGIN_FILE' => __FILE__,
|
240 |
}
|
241 |
}
|
242 |
|
243 |
+
/**
|
244 |
+
* Loads a plugin’s translated strings.
|
245 |
+
*/
|
246 |
public function load_plugin_textdomain() {
|
247 |
load_plugin_textdomain( 'custom-css-js', false, plugin_basename( dirname( __FILE__ ) ) . '/languages' );
|
248 |
}
|
|
|
249 |
}
|
250 |
|
251 |
endif;
|
252 |
|
|
|
|
|
|
|
|
|
|
|
253 |
if ( ! function_exists( 'CustomCSSandJS' ) ) {
|
254 |
+
/**
|
255 |
+
* Returns the main instance of CustomCSSandJS
|
256 |
+
*
|
257 |
+
* @return CustomCSSandJS
|
258 |
+
*/
|
259 |
function CustomCSSandJS() {
|
260 |
return CustomCSSandJS::instance();
|
261 |
}
|
263 |
CustomCSSandJS();
|
264 |
}
|
265 |
|
|
|
|
|
|
|
|
|
266 |
if ( ! function_exists( 'custom_css_js_plugin_action_links' ) ) {
|
267 |
+
/**
|
268 |
+
* Plugin action link to Settings page.
|
269 |
+
*
|
270 |
+
* @param array $links The settings links.
|
271 |
+
*
|
272 |
+
* @return array The settings links.
|
273 |
+
*/
|
274 |
function custom_css_js_plugin_action_links( $links ) {
|
275 |
|
276 |
$settings_link = '<a href="edit.php?post_type=custom-css-js">' .
|
282 |
add_filter( 'plugin_action_links_' . plugin_basename( __FILE__ ), 'custom_css_js_plugin_action_links' );
|
283 |
}
|
284 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
285 |
if ( ! function_exists( 'custom_css_js_quads_pro_compat' ) ) {
|
286 |
+
/**
|
287 |
+
* Compatibility with the WP Quads Pro plugin,
|
288 |
+
* otherwise on a Custom Code save there is a
|
289 |
+
* "The link you followed has expired." page shown.
|
290 |
+
*
|
291 |
+
* @param array $post_types The Post types.
|
292 |
+
* @return array The Post types.
|
293 |
+
*/
|
294 |
function custom_css_js_quads_pro_compat( $post_types ) {
|
295 |
+
$match = array_search( 'custom-css-js', $post_types, true );
|
296 |
if ( $match ) {
|
297 |
unset( $post_types[ $match ] );
|
298 |
}
|
includes/admin-screens.php
CHANGED
@@ -60,7 +60,6 @@ class CustomCSSandJS_Admin {
|
|
60 |
'save_post' => 'options_save_meta_box_data',
|
61 |
'trashed_post' => 'trash_post',
|
62 |
'untrashed_post' => 'trash_post',
|
63 |
-
'wp_loaded' => 'wp_loaded',
|
64 |
'wp_ajax_ccj_active_code' => 'wp_ajax_ccj_active_code',
|
65 |
'wp_ajax_ccj_permalink' => 'wp_ajax_ccj_permalink',
|
66 |
'post_submitbox_start' => 'post_submitbox_start',
|
@@ -215,9 +214,36 @@ class CustomCSSandJS_Admin {
|
|
215 |
'deactivate' => __( 'Deactivate', 'custom-css-js' ),
|
216 |
'active_title' => __( 'The code is active. Click to deactivate it', 'custom-css-js' ),
|
217 |
'deactive_title' => __( 'The code is inactive. Click to activate it', 'custom-css-js' ),
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
218 |
);
|
219 |
|
220 |
-
return $vars;
|
221 |
}
|
222 |
|
223 |
public function add_meta_boxes() {
|
@@ -1283,20 +1309,6 @@ endif;
|
|
1283 |
$this->build_search_tree();
|
1284 |
}
|
1285 |
|
1286 |
-
|
1287 |
-
/**
|
1288 |
-
* Compatibility with `HTML Editor Syntax Highlighter` plugin
|
1289 |
-
*/
|
1290 |
-
function wp_loaded() {
|
1291 |
-
global $wp_filter;
|
1292 |
-
foreach ( $wp_filter['admin_enqueue_scripts']->callbacks[10] as $_id => $_function ) {
|
1293 |
-
if ( strstr( $_id, 'hesh_admin_enqueue_scripts' ) ) {
|
1294 |
-
unset( $wp_filter['admin_enqueue_scripts']->callbacks[10][$_id] );
|
1295 |
-
}
|
1296 |
-
}
|
1297 |
-
}
|
1298 |
-
|
1299 |
-
|
1300 |
/**
|
1301 |
* Render the checkboxes, radios, selects and inputs
|
1302 |
*/
|
60 |
'save_post' => 'options_save_meta_box_data',
|
61 |
'trashed_post' => 'trash_post',
|
62 |
'untrashed_post' => 'trash_post',
|
|
|
63 |
'wp_ajax_ccj_active_code' => 'wp_ajax_ccj_active_code',
|
64 |
'wp_ajax_ccj_permalink' => 'wp_ajax_ccj_permalink',
|
65 |
'post_submitbox_start' => 'post_submitbox_start',
|
214 |
'deactivate' => __( 'Deactivate', 'custom-css-js' ),
|
215 |
'active_title' => __( 'The code is active. Click to deactivate it', 'custom-css-js' ),
|
216 |
'deactive_title' => __( 'The code is inactive. Click to activate it', 'custom-css-js' ),
|
217 |
+
|
218 |
+
/* CodeMirror options */
|
219 |
+
'codemirror' => array(
|
220 |
+
'indentUnit' => 4,
|
221 |
+
'indentWithTabs' => true,
|
222 |
+
'inputStyle' => 'contenteditable',
|
223 |
+
'lineNumbers' => true,
|
224 |
+
'lineWrapping' => true,
|
225 |
+
'styleActiveLine' => true,
|
226 |
+
'continueComments' => true,
|
227 |
+
'extraKeys' => array(
|
228 |
+
'Ctrl-Space' => 'autocomplete',
|
229 |
+
'Cmd-Space' => 'autocomplete',
|
230 |
+
'Ctrl-/' => 'toggleComment',
|
231 |
+
'Cmd-/' => 'toggleComment',
|
232 |
+
'Alt-F' => 'findPersistent',
|
233 |
+
'Ctrl-F' => 'findPersistent',
|
234 |
+
'Cmd-F' => 'findPersistent',
|
235 |
+
'Ctrl-J' => 'toMatchingTag',
|
236 |
+
),
|
237 |
+
'direction' => 'ltr', // Code is shown in LTR even in RTL languages.
|
238 |
+
'gutters' => array( 'CodeMirror-lint-markers' ),
|
239 |
+
'matchBrackets' => true,
|
240 |
+
'matchTags' => array( 'bothTags' => true ),
|
241 |
+
'autoCloseBrackets' => true,
|
242 |
+
'autoCloseTags' => true,
|
243 |
+
)
|
244 |
);
|
245 |
|
246 |
+
return apply_filters( 'ccj_code_editor_settings', $vars);
|
247 |
}
|
248 |
|
249 |
public function add_meta_boxes() {
|
1309 |
$this->build_search_tree();
|
1310 |
}
|
1311 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1312 |
/**
|
1313 |
* Render the checkboxes, radios, selects and inputs
|
1314 |
*/
|
readme.txt
CHANGED
@@ -4,8 +4,8 @@ Contributors: diana_burduja
|
|
4 |
Email: diana@burduja.eu
|
5 |
Tags: CSS, JS, javascript, custom CSS, custom JS, custom style, site css, add style, customize theme, custom code, external css, css3, style, styles, stylesheet, theme, editor, design, admin
|
6 |
Requires at least: 3.0.1
|
7 |
-
Tested up to:
|
8 |
-
Stable tag: 3.
|
9 |
License: GPLv3
|
10 |
License URI: http://www.gnu.org/licenses/gpl-3.0.html
|
11 |
Requires PHP: 5.2.4
|
@@ -105,9 +105,17 @@ $. Add/Edit HTML
|
|
105 |
|
106 |
== Changelog ==
|
107 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
108 |
= 3.38 =
|
109 |
* 11/09/2021
|
110 |
-
* Fix: compatibility with the `HTML Editor Syntax Highlighter` plugin
|
111 |
* Fix: escape labels on the "Add new custom code" page
|
112 |
* Feature: Keep the last cursor position in the editor and let the editor get focus when the page loads
|
113 |
|
@@ -127,11 +135,6 @@ $. Add/Edit HTML
|
|
127 |
* Fix: replace the deprecated postL10n JS object with wp.i18n
|
128 |
* Fix: add "tipsy-no-html" to the tooltips on the settings page
|
129 |
|
130 |
-
|
131 |
-
= 3.34.1 =
|
132 |
-
* 11/24/2020
|
133 |
-
* Fix: PHP error when filtering the custom codes
|
134 |
-
|
135 |
= 3.34 =
|
136 |
* 11/01/2020
|
137 |
* Feature: enqueue the jQuery library if one of the JS custom codes requires it
|
@@ -145,27 +148,18 @@ $. Add/Edit HTML
|
|
145 |
* Feature: fullscreen editor
|
146 |
* Feature: button for beautifying the code
|
147 |
|
148 |
-
= 3.32.3 =
|
149 |
-
* 08/02/2020
|
150 |
-
* Fix: add "Cmd + " editor shortcuts for MacOS computers
|
151 |
-
|
152 |
-
= 3.32.2 =
|
153 |
-
* 07/14/2020
|
154 |
-
* Fix: use file_get_contents instead of include_once to load the custom codes
|
155 |
-
|
156 |
= 3.32 =
|
157 |
* 07/08/2020
|
|
|
|
|
158 |
* Fix: compatibility issue with the Product Slider for WooCommerce by ShapedPlugin
|
159 |
* Feature: "Ctrl + /" in the editor will comment out the code
|
160 |
* Feature: order custom codes table by "type" and "active" state
|
161 |
* Feature: autocomplete in the editor
|
162 |
|
163 |
-
= 3.31.1 =
|
164 |
-
* 05/05/2020
|
165 |
-
* Declare compatibility WooCommerce 4.1
|
166 |
-
|
167 |
= 3.31 =
|
168 |
* 03/21/2020
|
|
|
169 |
* Feature: add "After <body> tag" option for HTML codes, if the theme allows it
|
170 |
* Feature: don't show type attribute for script and style tags if the theme adds html5 support for it
|
171 |
* Code refactory
|
4 |
Email: diana@burduja.eu
|
5 |
Tags: CSS, JS, javascript, custom CSS, custom JS, custom style, site css, add style, customize theme, custom code, external css, css3, style, styles, stylesheet, theme, editor, design, admin
|
6 |
Requires at least: 3.0.1
|
7 |
+
Tested up to: 6.0
|
8 |
+
Stable tag: 3.39
|
9 |
License: GPLv3
|
10 |
License URI: http://www.gnu.org/licenses/gpl-3.0.html
|
11 |
Requires PHP: 5.2.4
|
105 |
|
106 |
== Changelog ==
|
107 |
|
108 |
+
= 3.39 =
|
109 |
+
* 03/16/2022
|
110 |
+
* Fix: load the CodeMirror options from a localized variable
|
111 |
+
* Tweak: add the "ccj_code_editor_settings" filter for modifying the editor's options
|
112 |
+
|
113 |
+
= 3.38.1 =
|
114 |
+
* 12/02/2021
|
115 |
+
* Fix: revert the code related to the compatibility with the `HTML Editor Syntax Highlighter` plugin
|
116 |
+
|
117 |
= 3.38 =
|
118 |
* 11/09/2021
|
|
|
119 |
* Fix: escape labels on the "Add new custom code" page
|
120 |
* Feature: Keep the last cursor position in the editor and let the editor get focus when the page loads
|
121 |
|
135 |
* Fix: replace the deprecated postL10n JS object with wp.i18n
|
136 |
* Fix: add "tipsy-no-html" to the tooltips on the settings page
|
137 |
|
|
|
|
|
|
|
|
|
|
|
138 |
= 3.34 =
|
139 |
* 11/01/2020
|
140 |
* Feature: enqueue the jQuery library if one of the JS custom codes requires it
|
148 |
* Feature: fullscreen editor
|
149 |
* Feature: button for beautifying the code
|
150 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
151 |
= 3.32 =
|
152 |
* 07/08/2020
|
153 |
+
* Fix: add "Cmd + " editor shortcuts for MacOS computers
|
154 |
+
* Fix: use file_get_contents instead of include_once to load the custom codes
|
155 |
* Fix: compatibility issue with the Product Slider for WooCommerce by ShapedPlugin
|
156 |
* Feature: "Ctrl + /" in the editor will comment out the code
|
157 |
* Feature: order custom codes table by "type" and "active" state
|
158 |
* Feature: autocomplete in the editor
|
159 |
|
|
|
|
|
|
|
|
|
160 |
= 3.31 =
|
161 |
* 03/21/2020
|
162 |
+
* Declare compatibility WooCommerce 4.1
|
163 |
* Feature: add "After <body> tag" option for HTML codes, if the theme allows it
|
164 |
* Feature: don't show type attribute for script and style tags if the theme adds html5 support for it
|
165 |
* Code refactory
|