Skip to content
This repository was archived by the owner on Feb 29, 2024. It is now read-only.

Commit c5e5a02

Browse files
committed
Merge branch 'release/2.1.7'
2 parents d0fd520 + ea74bf0 commit c5e5a02

15 files changed

+88
-37
lines changed

includes/abstracts/abstract-wpm-object.php

+17-3
Original file line numberDiff line numberDiff line change
@@ -105,6 +105,11 @@ public function get_meta_field( $value, $object_id, $meta_key ) {
105105
} else {
106106
$value = $meta_field['meta_value'];
107107
}
108+
109+
$value = apply_filters( 'wpm_get_meta_value', $value, $meta_key );
110+
$value = apply_filters( "wpm_get_{$meta_key}_meta_value", $value );
111+
$value = apply_filters( "wpm_get_{$this->object_type}_meta_{$meta_key}_value", $value );
112+
108113
$values[] = $value;
109114
}
110115
}
@@ -160,9 +165,14 @@ public function update_meta_field( $check, $object_id, $meta_key, $meta_value, $
160165
if ( is_null( $meta_config ) ) {
161166
return $check;
162167
}
163-
$table = $wpdb->{$this->object_table};
164-
$column = sanitize_key( $this->object_type . '_id' );
165-
$id_column = 'user' === $this->object_type ? 'umeta_id' : 'meta_id';
168+
169+
$table = $wpdb->{$this->object_table};
170+
$column = sanitize_key( $this->object_type . '_id' );
171+
$id_column = 'user' === $this->object_type ? 'umeta_id' : 'meta_id';
172+
173+
$meta_value = apply_filters( 'wpm_update_meta_value', $meta_value, $meta_key );
174+
$meta_value = apply_filters( "wpm_update_{$meta_key}_meta_value", $meta_value );
175+
$meta_value = apply_filters( "wpm_update_{$this->object_type}_meta_{$meta_key}_value", $meta_value );
166176

167177
if ( empty( $prev_value ) ) {
168178

@@ -325,6 +335,10 @@ public function add_meta_field( $check, $object_id, $meta_key, $meta_value, $uni
325335
$table = $wpdb->{$this->object_table};
326336
$column = sanitize_key( $this->object_type . '_id' );
327337

338+
$meta_value = apply_filters( 'wpm_add_meta_value', $meta_value, $meta_key );
339+
$meta_value = apply_filters( "wpm_add_{$meta_key}_meta_value", $meta_value );
340+
$meta_value = apply_filters( "wpm_add_{$this->object_type}_meta_{$meta_key}_value", $meta_value );
341+
328342
if ( ! wpm_is_ml_value( $meta_value ) ) {
329343
$meta_value = wpm_set_new_value( array(), $meta_value, $meta_config );
330344
}

includes/admin/class-wpm-admin-meta-boxes.php

+1-1
Original file line numberDiff line numberDiff line change
@@ -41,7 +41,7 @@ public function __construct() {
4141
add_action( 'add_meta_boxes', array( $this, 'add_meta_boxes' ), 30 );
4242
add_action( 'save_post', array( $this, 'save_meta_boxes' ), 1, 2 );
4343

44-
add_action( 'wpm_process_meta', __NAMESPACE__ . '\Meta_Boxes\WPM_Meta_Box_Languages::save' );
44+
add_action( 'wpm_process_meta', __NAMESPACE__ . '\Meta_Boxes\WPM_Meta_Box_Post_Languages::save' );
4545

4646
// Save Comment Meta Boxes.
4747
add_filter( 'comment_edit_redirect', __NAMESPACE__ . '\Meta_Boxes\WPM_Meta_Box_Comment_Languages::save', 1, 2 );

includes/admin/settings/views/html-languages.php

+4-4
Original file line numberDiff line numberDiff line change
@@ -51,9 +51,9 @@
5151
</td>
5252
</tr>
5353
<tr>
54-
<td class="row-title"><?php esc_attr_e( 'Language Code *', 'wp-multilang' ); ?></td>
54+
<td class="row-title"><?php esc_attr_e( 'Language Code (ISO 639-1)*', 'wp-multilang' ); ?></td>
5555
<td>
56-
<input type="text" name="wpm_languages[<?php echo esc_attr( $i ); ?>][code]" value="<?php echo esc_attr( $code ); ?>" title="<?php esc_attr_e( 'Language Code *', 'wp-multilang' ); ?>" placeholder="<?php esc_attr_e( 'Language Code *', 'wp-multilang' ); ?>" required>
56+
<input type="text" name="wpm_languages[<?php echo esc_attr( $i ); ?>][code]" value="<?php echo esc_attr( $code ); ?>" title="<?php esc_attr_e( 'Language Code (ISO 639-1)*', 'wp-multilang' ); ?>" placeholder="<?php esc_attr_e( 'Language Code (ISO 639-1)*', 'wp-multilang' ); ?>" required>
5757
</td>
5858
</tr>
5959
<tr>
@@ -142,9 +142,9 @@
142142
</td>
143143
</tr>
144144
<tr>
145-
<td class="row-title"><?php esc_attr_e( 'Language Code *', 'wp-multilang' ); ?></td>
145+
<td class="row-title"><?php esc_attr_e( 'Language Code (ISO 639-1)*', 'wp-multilang' ); ?></td>
146146
<td>
147-
<input type="text" name="wpm_languages[{{ data.count }}][code]" value="" title="<?php esc_attr_e( 'Language Code *', 'wp-multilang' ); ?>" placeholder="<?php esc_attr_e( 'Language Code *', 'wp-multilang' ); ?>" required>
147+
<input type="text" name="wpm_languages[{{ data.count }}][code]" value="" title="<?php esc_attr_e( 'Language Code (ISO 639-1)*', 'wp-multilang' ); ?>" placeholder="<?php esc_attr_e( 'Language Code (ISO 639-1)*', 'wp-multilang' ); ?>" required>
148148
</td>
149149
</tr>
150150
<tr>

includes/class-wp-multilang.php

+1-1
Original file line numberDiff line numberDiff line change
@@ -21,7 +21,7 @@ final class WP_Multilang {
2121
*
2222
* @var string
2323
*/
24-
public $version = '2.1.6';
24+
public $version = '2.1.7';
2525

2626
/**
2727
* The single instance of the class.

includes/class-wpm-posts.php

+3-1
Original file line numberDiff line numberDiff line change
@@ -187,7 +187,9 @@ public function save_post( $data, $postarr ) {
187187
$old_value = '';
188188
}
189189

190-
$data[ $key ] = wpm_set_new_value( $old_value, $data[ $key ], $post_field_config );
190+
if ( ! wpm_is_ml_value( $data[ $key ] ) ) {
191+
$data[ $key ] = wpm_set_new_value( $old_value, $data[ $key ], $post_field_config );
192+
}
191193
}
192194
}
193195

includes/class-wpm-setup.php

+4-2
Original file line numberDiff line numberDiff line change
@@ -495,8 +495,10 @@ public function set_home_url( $value ) {
495495
$user_language = wpm_get_user_language();
496496
$default_language = wpm_get_default_language();
497497

498-
if ( $user_language !== $default_language || self::get_option( 'use_prefix', 'no' ) === 'yes' ) {
499-
$value .= '/' . $user_language;
498+
if ( ( $user_language !== $default_language ) || ( self::get_option( 'use_prefix', 'no' ) === 'yes' ) ) {
499+
if ( get_option( 'permalink_structure' ) ) {
500+
$value .= '/' . $user_language;
501+
}
500502
}
501503

502504
return $value;

includes/integrations/class-wpm-acf.php

+9-3
Original file line numberDiff line numberDiff line change
@@ -45,7 +45,7 @@ public function init_filters() {
4545
add_filter( 'wpm_post_acf_config', array( $this, 'add_config' ) );
4646
add_filter( 'acf/field_group/get_fields', 'wpm_translate_value', 5 );
4747
remove_class_action( 'acf/update_field', 'acf_field_functions', 'update_field', 5 );
48-
add_filter( 'acf/update_field', array( $this, 'update_field' ), 5, 2 );
48+
add_action( 'acf/update_field', array( $this, 'update_field' ), 5, 2 );
4949
remove_class_action( 'acf/update_value', 'acf_field_functions', 'update_value', 5 );
5050
add_action( 'acf/update_value', array( $this, 'update_value' ), 5, 3 );
5151
add_filter( 'attribute_escape', array( $this, 'translate_value' ) );
@@ -198,7 +198,10 @@ public function update_value_pro( $value, $post_id, $field ) {
198198
remove_filter( 'acf/load_value', 'wpm_translate_value', 5 );
199199
$old_value = get_field( $field['name'], $post_id, false );
200200
add_filter( 'acf/load_value', 'wpm_translate_value', 5 );
201-
$value = wpm_set_new_value( $old_value, $value, $acf_field_config );
201+
202+
if ( ! wpm_is_ml_value( $value ) ) {
203+
$value = wpm_set_new_value( $old_value, $value, $acf_field_config );
204+
}
202205

203206
return $value;
204207
}
@@ -259,7 +262,10 @@ public function update_value( $value, $post_id, $field ) {
259262
remove_filter( 'acf/load_value', 'wpm_translate_value', 5 );
260263
$old_value = get_field( $field['name'], $post_id, false );
261264
add_filter( 'acf/load_value', 'wpm_translate_value', 5 );
262-
$value = wpm_set_new_value( $old_value, $value, $acf_field_config );
265+
266+
if ( ! wpm_is_ml_value( $value ) ) {
267+
$value = wpm_set_new_value( $old_value, $value, $acf_field_config );
268+
}
263269
}
264270

265271

includes/integrations/class-wpm-megamenu.php

+3-3
Original file line numberDiff line numberDiff line change
@@ -21,7 +21,7 @@ class WPM_Megamenu {
2121
* WPM_Megamenu constructor.
2222
*/
2323
public function __construct() {
24-
add_action( 'admin_enqueue_scripts', array( $this, 'add_language_switcher' ), 11 );
24+
add_action( 'admin_print_scripts-mega-menu_page_maxmegamenu_theme_editor', array( $this, 'add_language_switcher' ), 11 );
2525
}
2626

2727

@@ -30,9 +30,9 @@ public function __construct() {
3030
*
3131
* @param $hook
3232
*/
33-
public function add_language_switcher( $hook ) {
33+
public function add_language_switcher() {
3434

35-
if ( count( wpm_get_languages() ) <= 1 || ( 'mega-menu_page_maxmegamenu_theme_editor' !== $hook ) ) {
35+
if ( count( wpm_get_languages() ) <= 1 ) {
3636
return;
3737
}
3838

includes/integrations/class-wpm-pbso.php

+1
Original file line numberDiff line numberDiff line change
@@ -21,6 +21,7 @@ class WPM_PBSO {
2121
* WPM_PBSO constructor.
2222
*/
2323
public function __construct() {
24+
add_filter( 'wpm_update_panels_data_meta_value', 'wpm_translate_value' );
2425
add_filter( 'wpm_filter_old_panels_data_meta_value', array( $this, 'filter_old_value' ), 10, 2 );
2526
add_filter( 'wpm_panels_data_meta_config', array( $this, 'add_recursive_config' ), 10, 2 );
2627
add_filter( 'siteorigin_widgets_search_posts_results', 'wpm_translate_value' );

includes/wpm-config-functions.php

+1-1
Original file line numberDiff line numberDiff line change
@@ -75,7 +75,7 @@ function wpm_get_taxonomy_config( $taxonomy ) {
7575
function wpm_get_widget_config( $widget ) {
7676
$config = wpm_get_config();
7777
$widgets_config = apply_filters( 'wpm_widgets_config', $config['widgets'] );
78-
$widget_config = apply_filters( "wpm_widget_{$widget}_config", isset( $widgets_config[ $widget ] ) ? $widgets_config[ $widget ] : array() );
78+
$widget_config = apply_filters( "wpm_widget_{$widget}_config", array_key_exists( $widget, $widgets_config ) ? $widgets_config[ $widget ] : array() );
7979

8080
if ( ! is_null( $widget_config ) ) {
8181

includes/wpm-formatting-functions.php

+13
Original file line numberDiff line numberDiff line change
@@ -168,3 +168,16 @@ function wpm_filter_post_config_fields( $fields ) {
168168

169169
return array_intersect( $default_fields, $fields );
170170
}
171+
172+
/**
173+
* Strip protocol from url
174+
*
175+
* @param $url
176+
*
177+
* @return string
178+
*/
179+
function wpm_strip_protocol( $url ) {
180+
181+
// strip the protical
182+
return preg_replace( '#^https?://#i', '', $url );
183+
}

languages/wp-multilang.pot

+10-5
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@ msgid ""
33
msgstr ""
44
"Plural-Forms: nplurals=INTEGER; plural=EXPRESSION;\n"
55
"Project-Id-Version: WP Multilang\n"
6-
"POT-Creation-Date: 2017-12-01 13:20+0200\n"
6+
"POT-Creation-Date: 2017-12-09 11:31+0200\n"
77
"PO-Revision-Date: 2017-05-22 12:43+0300\n"
88
"Last-Translator: \n"
99
"Language-Team: \n"
@@ -27,7 +27,8 @@ msgstr ""
2727
#: includes/admin/class-wpm-admin-menus.php:160
2828
#: includes/admin/class-wpm-admin-menus.php:175
2929
#: includes/admin/class-wpm-admin-menus.php:178
30-
#: includes/admin/class-wpm-admin-meta-boxes.php:95
30+
#: includes/admin/class-wpm-admin-meta-boxes.php:101
31+
#: includes/admin/class-wpm-admin-meta-boxes.php:106
3132
#: includes/admin/class-wpm-admin-posts.php:76
3233
#: includes/admin/class-wpm-admin-taxonomies.php:66
3334
#: includes/admin/settings/class-wpm-settings-languages.php:27
@@ -133,7 +134,11 @@ msgstr ""
133134
msgid "Thank you for translating with WP Multilang."
134135
msgstr ""
135136

136-
#: includes/admin/meta-boxes/class-wpm-meta-box-languages.php:36
137+
#: includes/admin/meta-boxes/class-wpm-meta-box-comment-languages.php:37
138+
msgid "Show comment only in:"
139+
msgstr ""
140+
141+
#: includes/admin/meta-boxes/class-wpm-meta-box-post-languages.php:36
137142
msgid "Show post only in:"
138143
msgstr ""
139144

@@ -282,7 +287,7 @@ msgstr ""
282287
#: includes/admin/settings/views/html-languages.php:56
283288
#: includes/admin/settings/views/html-languages.php:145
284289
#: includes/admin/settings/views/html-languages.php:147
285-
msgid "Language Code *"
290+
msgid "Language Code (ISO 639-1)*"
286291
msgstr ""
287292

288293
#: includes/admin/settings/views/html-languages.php:60
@@ -414,7 +419,7 @@ msgstr ""
414419
msgid "Multilingual Settings"
415420
msgstr ""
416421

417-
#: includes/class-wpm-taxonomies.php:165
422+
#: includes/class-wpm-taxonomies.php:166
418423
msgid "A term with the name provided already exists in this taxonomy."
419424
msgstr ""
420425

readme.txt

+7-2
Original file line numberDiff line numberDiff line change
@@ -4,8 +4,8 @@ Contributors: valexar
44
Tags: localization, multilanguage, multilingual, translation, multilang
55
Requires at least: 4.7
66
Tested up to: 4.9
7-
Stable tag: 2.1.6
8-
Requires PHP: 5.6
7+
Stable tag: 2.1.7
8+
Requires PHP: 5.6+
99
License: GPLv3
1010
License URI: https://www.gnu.org/licenses/gpl-3.0.html
1111

@@ -34,6 +34,7 @@ Translations of post types, taxonomies, meta fields, options, text fields in mil
3434
* Possibility to set custom locale for html(If installed locale is en_US, you can set locale like: en, en-UK, en-AU etc. Without installation another localization)
3535
* Possibility for add new languages for any user with capability `manage_options`.
3636
* Exist the role "Translator" for editing posts, terms. It can not publish or delete.
37+
* No limits by languages or by possibilities.
3738

3839
== WP Multilang compatible with plugins ==
3940

@@ -199,6 +200,10 @@ If you have opened several browser tabs for editing this post in different langu
199200

200201
== Changelog ==
201202

203+
= 2.1.7 =
204+
* fix Siteorigin integration
205+
* add filters in add, update and get functions for meta fields
206+
202207
= 2.1.6 =
203208
* fix deleting
204209

uninstall.php

+10-7
Original file line numberDiff line numberDiff line change
@@ -75,6 +75,9 @@
7575
}
7676
}
7777

78+
$wpdb->query( "DELETE FROM {$wpdb->options} WHERE option_name LIKE '_transient_%';" );
79+
$wpdb->query( "DELETE FROM {$wpdb->options} WHERE option_name LIKE '_site_transient_%';" );
80+
7881
foreach ( $config as $key => $item_config ) {
7982

8083
switch ( $key ) {
@@ -87,7 +90,7 @@
8790
$meta_value = $result->meta_value;
8891

8992
if ( is_serialized_string( $meta_value ) ) {
90-
$meta_value = maybe_serialize( wpm_translate_value( maybe_unserialize( $meta_value ), $default_language ) );
93+
$meta_value = serialize( wpm_translate_value( unserialize( $meta_value ), $default_language ) );
9194
}
9295

9396
if ( json_decode( $meta_value ) ) {
@@ -112,7 +115,7 @@
112115
$meta_value = $result->meta_value;
113116

114117
if ( is_serialized_string( $meta_value ) ) {
115-
$meta_value = maybe_serialize( wpm_translate_value( maybe_unserialize( $meta_value ), $default_language ) );
118+
$meta_value = serialize( wpm_translate_value( unserialize( $meta_value ), $default_language ) );
116119
}
117120

118121
if ( json_decode( $meta_value ) ) {
@@ -137,7 +140,7 @@
137140
$meta_value = $result->meta_value;
138141

139142
if ( is_serialized_string( $meta_value ) ) {
140-
$meta_value = maybe_serialize( wpm_translate_value( maybe_unserialize( $meta_value ), $default_language ) );
143+
$meta_value = serialize( wpm_translate_value( unserialize( $meta_value ), $default_language ) );
141144
}
142145

143146
if ( json_decode( $meta_value ) ) {
@@ -161,7 +164,7 @@
161164
$meta_value = $result->meta_value;
162165

163166
if ( is_serialized_string( $meta_value ) ) {
164-
$meta_value = maybe_serialize( wpm_translate_value( maybe_unserialize( $meta_value ), $default_language ) );
167+
$meta_value = serialize( wpm_translate_value( unserialize( $meta_value ), $default_language ) );
165168
}
166169

167170
if ( json_decode( $meta_value ) ) {
@@ -185,7 +188,7 @@
185188
$option_value = $result->option_value;
186189

187190
if ( is_serialized_string( $option_value ) ) {
188-
$option_value = maybe_serialize( wpm_translate_value( maybe_unserialize( $option_value ), $default_language ) );
191+
$option_value = serialize( wpm_translate_value( unserialize( $option_value ), $default_language ) );
189192
}
190193

191194
if ( json_decode( $option_value ) ) {
@@ -209,7 +212,7 @@
209212
$meta_value = $result->meta_value;
210213

211214
if ( is_serialized_string( $meta_value ) ) {
212-
$meta_value = maybe_serialize( wpm_translate_value( maybe_unserialize( $meta_value ), $default_language ) );
215+
$meta_value = serialize( wpm_translate_value( unserialize( $meta_value ), $default_language ) );
213216
}
214217

215218
if ( json_decode( $meta_value ) ) {
@@ -231,4 +234,4 @@
231234
wp_cache_flush();
232235
} // End if().
233236

234-
$wpdb->query( "DELETE FROM {$wpdb->options} WHERE option_name LIKE 'wpm\_%';" );
237+
$wpdb->query( "DELETE FROM {$wpdb->options} WHERE option_name LIKE 'wpm_%';" );

wp-multilang.php

+4-4
Original file line numberDiff line numberDiff line change
@@ -4,12 +4,12 @@
44
* Plugin URI: https://github.com/VaLeXaR/wp-multilang
55
* Description: Multilingual plugin for WordPress
66
* Author: Valentyn Riaboshtan
7-
* License: GPL2
8-
* License URI: https://www.gnu.org/licenses/gpl-2.0.html
7+
* License: GPL2
8+
* License URI: https://www.gnu.org/licenses/gpl-2.0.html
99
* Text Domain: wp-multilang
1010
* Domain Path: /languages
11-
* Version: 2.1.6
12-
* Copyright: Valentyn Riaboshtan © 2017
11+
* Version: 2.1.7
12+
* Copyright: © 2017 Valentyn Riaboshtan
1313
*
1414
* @package WPM
1515
* @category Core

0 commit comments

Comments
 (0)