Version Description
(2017-12-13) = * Fixed bug related to WPML String Translation filters
Download this release
Release Info
Developer | marcochiesi |
Plugin | Black Studio TinyMCE Widget |
Version | 2.6.1 |
Comparing to | |
See all releases |
Code changes from version 2.6.0 to 2.6.1
- black-studio-tinymce-widget.php +2 -2
- includes/class-compatibility-plugins.php +32 -6
- readme.txt +7 -3
black-studio-tinymce-widget.php
CHANGED
@@ -3,7 +3,7 @@
|
|
3 |
Plugin Name: Black Studio TinyMCE Widget
|
4 |
Plugin URI: https://wordpress.org/plugins/black-studio-tinymce-widget/
|
5 |
Description: Adds a new "Visual Editor" widget type based on the native WordPress TinyMCE editor.
|
6 |
-
Version: 2.6.
|
7 |
Author: Black Studio
|
8 |
Author URI: https://www.blackstudio.it
|
9 |
Requires at least: 3.1
|
@@ -35,7 +35,7 @@ if ( ! class_exists( 'Black_Studio_TinyMCE_Plugin' ) ) {
|
|
35 |
* @var string
|
36 |
* @since 2.0.0
|
37 |
*/
|
38 |
-
public static $version = '2.6.
|
39 |
|
40 |
/**
|
41 |
* The single instance of the plugin class
|
3 |
Plugin Name: Black Studio TinyMCE Widget
|
4 |
Plugin URI: https://wordpress.org/plugins/black-studio-tinymce-widget/
|
5 |
Description: Adds a new "Visual Editor" widget type based on the native WordPress TinyMCE editor.
|
6 |
+
Version: 2.6.1
|
7 |
Author: Black Studio
|
8 |
Author URI: https://www.blackstudio.it
|
9 |
Requires at least: 3.1
|
35 |
* @var string
|
36 |
* @since 2.0.0
|
37 |
*/
|
38 |
+
public static $version = '2.6.1';
|
39 |
|
40 |
/**
|
41 |
* The single instance of the plugin class
|
includes/class-compatibility-plugins.php
CHANGED
@@ -24,6 +24,22 @@ if ( ! class_exists( 'Black_Studio_TinyMCE_Compatibility_Plugins' ) ) {
|
|
24 |
*/
|
25 |
protected static $_instance = null;
|
26 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
27 |
/**
|
28 |
* Return the single class instance
|
29 |
*
|
@@ -126,16 +142,20 @@ if ( ! class_exists( 'Black_Studio_TinyMCE_Compatibility_Plugins' ) ) {
|
|
126 |
public function wpml_widget_before( $args, $instance ) {
|
127 |
if ( is_plugin_active( 'sitepress-multilingual-cms/sitepress.php' ) ) {
|
128 |
// Avoid native WPML string translation of widget titles
|
129 |
-
//
|
|
|
130 |
if ( false !== has_filter( 'widget_title', 'icl_sw_filters_widget_title' ) ) {
|
131 |
if ( isset( $instance['panels_info'] ) || isset( $instance['wp_page_widget'] ) || is_plugin_active( 'wpml-widgets/wpml-widgets.php' ) || version_compare( $this->wpml_get_version(), '3.8.0' ) >= 0 ) {
|
132 |
remove_filter( 'widget_title', 'icl_sw_filters_widget_title', 0 );
|
|
|
133 |
}
|
134 |
}
|
135 |
// Avoid native WPML string translation of widget texts (for all widgets)
|
136 |
-
// Black Studio TinyMCE Widget already supports WPML string translation,
|
|
|
137 |
if ( false !== has_filter( 'widget_text', 'icl_sw_filters_widget_text' ) ) {
|
138 |
remove_filter( 'widget_text', 'icl_sw_filters_widget_text', 0 );
|
|
|
139 |
}
|
140 |
}
|
141 |
|
@@ -153,13 +173,19 @@ if ( ! class_exists( 'Black_Studio_TinyMCE_Compatibility_Plugins' ) ) {
|
|
153 |
*/
|
154 |
public function wpml_widget_after( $args, $instance ) {
|
155 |
if ( is_plugin_active( 'sitepress-multilingual-cms/sitepress.php' ) ) {
|
156 |
-
|
157 |
-
|
|
|
158 |
add_filter( 'widget_title', 'icl_sw_filters_widget_title', 0 );
|
|
|
159 |
}
|
160 |
}
|
161 |
-
|
162 |
-
|
|
|
|
|
|
|
|
|
163 |
}
|
164 |
}
|
165 |
}
|
24 |
*/
|
25 |
protected static $_instance = null;
|
26 |
|
27 |
+
/**
|
28 |
+
* Flag to keep track of removed WPML filter on widget title
|
29 |
+
*
|
30 |
+
* @var boolean
|
31 |
+
* @since 2.6.1
|
32 |
+
*/
|
33 |
+
private $wpml_removed_widget_title_filter = false;
|
34 |
+
|
35 |
+
/**
|
36 |
+
* Flag to keep track of removed WPML filter on widget text
|
37 |
+
*
|
38 |
+
* @var boolean
|
39 |
+
* @since 2.6.1
|
40 |
+
*/
|
41 |
+
private $wpml_removed_widget_text_filter = false;
|
42 |
+
|
43 |
/**
|
44 |
* Return the single class instance
|
45 |
*
|
142 |
public function wpml_widget_before( $args, $instance ) {
|
143 |
if ( is_plugin_active( 'sitepress-multilingual-cms/sitepress.php' ) ) {
|
144 |
// Avoid native WPML string translation of widget titles
|
145 |
+
// for widgets inserted in pages built with Page Builder (SiteOrigin panels)
|
146 |
+
// and also when WPML Widgets is active and for WPML versions from 3.8.0 on
|
147 |
if ( false !== has_filter( 'widget_title', 'icl_sw_filters_widget_title' ) ) {
|
148 |
if ( isset( $instance['panels_info'] ) || isset( $instance['wp_page_widget'] ) || is_plugin_active( 'wpml-widgets/wpml-widgets.php' ) || version_compare( $this->wpml_get_version(), '3.8.0' ) >= 0 ) {
|
149 |
remove_filter( 'widget_title', 'icl_sw_filters_widget_title', 0 );
|
150 |
+
$this->wpml_removed_widget_title_filter = true;
|
151 |
}
|
152 |
}
|
153 |
// Avoid native WPML string translation of widget texts (for all widgets)
|
154 |
+
// Note: Black Studio TinyMCE Widget already supports WPML string translation,
|
155 |
+
// so this is needed to prevent duplicate translations
|
156 |
if ( false !== has_filter( 'widget_text', 'icl_sw_filters_widget_text' ) ) {
|
157 |
remove_filter( 'widget_text', 'icl_sw_filters_widget_text', 0 );
|
158 |
+
$this->wpml_removed_widget_text_filter = true;
|
159 |
}
|
160 |
}
|
161 |
|
173 |
*/
|
174 |
public function wpml_widget_after( $args, $instance ) {
|
175 |
if ( is_plugin_active( 'sitepress-multilingual-cms/sitepress.php' ) ) {
|
176 |
+
// Restore widget title's native WPML string translation filter if it was removed
|
177 |
+
if ( $this->wpml_removed_widget_title_filter ) {
|
178 |
+
if ( false === has_filter( 'widget_title', 'icl_sw_filters_widget_title' ) && function_exists( 'icl_sw_filters_widget_title' ) ) {
|
179 |
add_filter( 'widget_title', 'icl_sw_filters_widget_title', 0 );
|
180 |
+
$this->wpml_removed_widget_title_filter = false;
|
181 |
}
|
182 |
}
|
183 |
+
// Restore widget text's native WPML string translation filter if it was removed
|
184 |
+
if ( $this->wpml_removed_widget_text_filter ) {
|
185 |
+
if ( false === has_filter( 'widget_text', 'icl_sw_filters_widget_text' ) && function_exists( 'icl_sw_filters_widget_text' ) ) {
|
186 |
+
add_filter( 'widget_text', 'icl_sw_filters_widget_text', 0 );
|
187 |
+
$this->wpml_removed_widget_text_filter = false;
|
188 |
+
}
|
189 |
}
|
190 |
}
|
191 |
}
|
readme.txt
CHANGED
@@ -4,7 +4,7 @@ Donate link: https://www.blackstudio.it/en/wordpress-plugins/black-studio-tinymc
|
|
4 |
Tags: widget, visual, editor, wysiwyg, html, text, tinymce, image, media, gallery, embed, wpml
|
5 |
Requires at least: 3.1
|
6 |
Tested up to: 4.9
|
7 |
-
Stable tag: 2.6.
|
8 |
License: GPLv3
|
9 |
License URI: https://www.gnu.org/licenses/gpl.html
|
10 |
|
@@ -189,6 +189,9 @@ DELETE FROM wp_usermeta WHERE meta_key LIKE '_bstw%';
|
|
189 |
|
190 |
== Changelog ==
|
191 |
|
|
|
|
|
|
|
192 |
= 2.6.0 (2017-11-17) =
|
193 |
* Compatibility update for WPML 3.8
|
194 |
* Added filter `black_studio_tinymce_widget_additional_fields`
|
@@ -494,5 +497,6 @@ DELETE FROM wp_usermeta WHERE meta_key LIKE '_bstw%';
|
|
494 |
|
495 |
== Upgrade Notice ==
|
496 |
|
497 |
-
= 2.6.
|
498 |
-
|
|
4 |
Tags: widget, visual, editor, wysiwyg, html, text, tinymce, image, media, gallery, embed, wpml
|
5 |
Requires at least: 3.1
|
6 |
Tested up to: 4.9
|
7 |
+
Stable tag: 2.6.1
|
8 |
License: GPLv3
|
9 |
License URI: https://www.gnu.org/licenses/gpl.html
|
10 |
|
189 |
|
190 |
== Changelog ==
|
191 |
|
192 |
+
= 2.6.1 (2017-12-13) =
|
193 |
+
* Fixed bug related to WPML String Translation filters
|
194 |
+
|
195 |
= 2.6.0 (2017-11-17) =
|
196 |
* Compatibility update for WPML 3.8
|
197 |
* Added filter `black_studio_tinymce_widget_additional_fields`
|
497 |
|
498 |
== Upgrade Notice ==
|
499 |
|
500 |
+
= 2.6.1 =
|
501 |
+
If you're using WPML, double check our FAQ, as version 2.6 introduced some changes regarding widgets translations.
|
502 |
+
Important: Always ensure to backup your database before upgrading.
|