PluginProbe
Polylang / 2.6.3
Polylang v2.6.3
3.8.9 3.8.8 3.8.7 3.8.6 3.8.5 3.8.4 3.8.3 2.7 2.7.0.1 2.7.1 2.7.2 2.7.3 2.7.4 2.8 2.8.1 2.8.2 2.8.3 2.8.4 2.9 2.9.1 2.9.2 3.0 3.0.1 3.0.2 3.0.3 All 233 releases
← All changes | modules/sync/sync-metas.php +9 -7 2.7.42.6.3 View file →
@@ -177,9 +177,9 @@
177 177 if ( $tr_id != $id ) {
178 178 $to_copy = $this->get_metas_to_copy( $id, $tr_id, $lang, true );
179 179 if ( in_array( $meta_key, $to_copy ) ) {
180 180 $meta_value = $this->maybe_translate_value( $meta_value, $meta_key, $id, $tr_id, $lang );
181 - add_metadata( $this->meta_type, $tr_id, wp_slash( $meta_key ), is_object( $meta_value ) ? $meta_value : wp_slash( $meta_value ) );
181 + add_metadata( $this->meta_type, $tr_id, $meta_key, wp_slash( $meta_value ) );
182 182 }
183 183 }
184 184 }
185 185
@@ -234,9 +234,9 @@
234 234 if ( $tr_id != $id && in_array( $meta_key, $this->get_metas_to_copy( $id, $tr_id, $lang, true ) ) ) {
235 235 if ( empty( $this->prev_value[ $hash ] ) || $this->prev_value[ $hash ] === $prev_meta->meta_value ) {
236 236 $prev_value = $this->maybe_translate_value( $prev_meta->meta_value, $meta_key, $id, $tr_id, $lang );
237 237 $meta_value = $this->maybe_translate_value( $meta_value, $meta_key, $id, $tr_id, $lang );
238 - update_metadata( $this->meta_type, $tr_id, wp_slash( $meta_key ), is_object( $meta_value ) ? $meta_value : wp_slash( $meta_value ), $prev_value );
238 + update_metadata( $this->meta_type, $tr_id, $meta_key, wp_slash( $meta_value ), $prev_value );
239 239 }
240 240 }
241 241 }
242 242 $this->restore_add_meta_action();
@@ -286,9 +286,9 @@
286 286 if ( in_array( $key, $this->to_copy[ $id ][ $tr_id ] ) ) {
287 287 if ( '' !== $value && null !== $value && false !== $value ) { // Same test as WP
288 288 $value = $this->maybe_translate_value( $value, $key, $id, $tr_id, $lang );
289 289 }
290 - delete_metadata( $this->meta_type, $tr_id, wp_slash( $key ), is_object( $value ) ? $value : wp_slash( $value ) );
290 + delete_metadata( $this->meta_type, $tr_id, $key, wp_slash( $value ) );
291 291 }
292 292 }
293 293 }
294 294 }
@@ -319,9 +319,9 @@
319 319 foreach ( $to_copy as $key ) {
320 320 if ( empty( $metas[ $key ] ) ) {
321 321 if ( ! empty( $tr_metas[ $key ] ) ) {
322 322 // If the meta key is not present in the source object, delete all values
323 - delete_metadata( $this->meta_type, $to, wp_slash( $key ) );
323 + delete_metadata( $this->meta_type, $to, $key );
324 324 }
325 325 } else {
326 326 if ( ! empty( $tr_metas[ $key ] ) && 1 === count( $metas[ $key ] ) && 1 === count( $tr_metas[ $key ] ) ) {
327 327 // One custom field to update
@@ -327,20 +327,20 @@
327 327 // One custom field to update
328 328 $value = reset( $metas[ $key ] );
329 329 $value = maybe_unserialize( $value );
330 330 $to_value = $this->maybe_translate_value( $value, $key, $from, $to, $lang );
331 - update_metadata( $this->meta_type, $to, wp_slash( $key ), is_object( $to_value ) ? $to_value : wp_slash( $to_value ) );
331 + update_metadata( $this->meta_type, $to, $key, wp_slash( $to_value ) );
332 332 } else {
333 333 // Multiple custom fields, either in the source or the target
334 334 if ( ! empty( $tr_metas[ $key ] ) ) {
335 335 // The synchronization of multiple values custom fields is easier if we delete all metas first
336 - delete_metadata( $this->meta_type, $to, wp_slash( $key ) );
336 + delete_metadata( $this->meta_type, $to, $key );
337 337 }
338 338
339 339 foreach ( $metas[ $key ] as $value ) {
340 340 $value = maybe_unserialize( $value );
341 341 $to_value = $this->maybe_translate_value( $value, $key, $from, $to, $lang );
342 - add_metadata( $this->meta_type, $to, wp_slash( $key ), is_object( $to_value ) ? $to_value : wp_slash( $to_value ) );
342 + add_metadata( $this->meta_type, $to, $key, wp_slash( $to_value ) );
343 343 }
344 344 }
345 345 }
346 346 }
@@ -358,8 +358,10 @@
358 358 * @param object $obj Not used
359 359 * @param array $translations The list of translations object ids
360 360 */
361 361 public function save_object( $object_id, $obj, $translations ) {
362 + $src_lang = array_search( $object_id, $translations );
363 +
362 364 foreach ( $translations as $tr_lang => $tr_id ) {
363 365 if ( $tr_id != $object_id ) {
364 366 $this->copy( $object_id, $tr_id, $tr_lang, true );
365 367 }