WooCommerce Multilingual – run WooCommerce with WPML - Version 4.6.6

Version Description

  • Fix error when using updated WPML String Translation without updating WPML
Download this release

Release Info

Developer sergey.r
Plugin Icon 128x128 WooCommerce Multilingual – run WooCommerce with WPML
Version 4.6.6
Comparing to
See all releases

Code changes from version 4.6.5 to 4.6.6

changelog/4.4.0.md CHANGED
@@ -1,6 +1,5 @@
1
  # Features
2
  * [wcml-436] Added the ability to associate BACS accounts with currencies
3
- * [wcml-2641] Fix and removed duplicated entries in code
4
  * [wcml-2625] Hide reviews in other languages link, if there are no reviews in product
5
  * [wcml-2594] Update WCML Logo
6
  * [wcml-2375] Removed Product Type Column from WCML backend and added compatibility with the WC Product Type Column plugin
1
  # Features
2
  * [wcml-436] Added the ability to associate BACS accounts with currencies
 
3
  * [wcml-2625] Hide reviews in other languages link, if there are no reviews in product
4
  * [wcml-2594] Update WCML Logo
5
  * [wcml-2375] Removed Product Type Column from WCML backend and added compatibility with the WC Product Type Column plugin
changelog/4.5.0.md CHANGED
@@ -3,6 +3,7 @@
3
  * [wcml-2138] Added function in troubleshooting page to fix broken variations
4
 
5
  # Fixes
 
6
  * [wcml-2734] Fix refreshing of status icon when ATE Job of updated content is synced
7
  * [wcml-2727] Fix few notices when removing a Elementor widget and refresh page
8
  * [wcml-2722] Fetch ATE translations from WCML Product Translation Tab
3
  * [wcml-2138] Added function in troubleshooting page to fix broken variations
4
 
5
  # Fixes
6
+ * [wcml-2739] Fixed DB error when saving a variation with specific steps
7
  * [wcml-2734] Fix refreshing of status icon when ATE Job of updated content is synced
8
  * [wcml-2727] Fix few notices when removing a Elementor widget and refresh page
9
  * [wcml-2722] Fetch ATE translations from WCML Product Translation Tab
changelog/4.6.3.md CHANGED
@@ -4,7 +4,6 @@
4
  * [wcml-2794] Fix no link to reviews in other languages if no reviews left in current one
5
  * [wcml-2789] Fix "set_product_language" REST API call not supported "PUT" method
6
  * [wcml-2788] Fix endpoints on My Account page when using a custom base permalink
7
- * [wcml-2786] Fix stock_status synchronization for variable products with stock management on product level
8
  * [wcml-2785] Fixed performance issues while translating Product via WPML Translation Editor with a lot of variations
9
  * [wcml-2765] Fixed overridden discounted item price when manually creating/editing order from the admin
10
  * [wcml-2758] Fixed customer email language when changing order from "On Hold" to "Processing"
4
  * [wcml-2794] Fix no link to reviews in other languages if no reviews left in current one
5
  * [wcml-2789] Fix "set_product_language" REST API call not supported "PUT" method
6
  * [wcml-2788] Fix endpoints on My Account page when using a custom base permalink
 
7
  * [wcml-2785] Fixed performance issues while translating Product via WPML Translation Editor with a lot of variations
8
  * [wcml-2765] Fixed overridden discounted item price when manually creating/editing order from the admin
9
  * [wcml-2758] Fixed customer email language when changing order from "On Hold" to "Processing"
changelog/4.6.5.md CHANGED
@@ -8,7 +8,5 @@
8
  * [wcml-2812] After quick edit variable product variations incremented their IDs
9
  * [wcml-2811] Added new wcml_translate_shipping_method_in_package filter
10
  * [wcml-2810] Products not filtered by current language while search Upsells/Cross-sells on product edit screen
11
- * [wcml-2798] added comp. class to cover price update when products are edited with WOOBE plugin
12
  * [wcml-2797] Use default language if admin user not exists while sending "New Order" email to admins
13
- * [wcml-2791] Variation description not saved on installs with 300+ variations for product
14
- * [wcml-2784] "Hide completed" switcher from Translation Editor
8
  * [wcml-2812] After quick edit variable product variations incremented their IDs
9
  * [wcml-2811] Added new wcml_translate_shipping_method_in_package filter
10
  * [wcml-2810] Products not filtered by current language while search Upsells/Cross-sells on product edit screen
 
11
  * [wcml-2797] Use default language if admin user not exists while sending "New Order" email to admins
12
+ * [wcml-2791] Variation description not saved on installs with 300+ variations for product
 
changelog/4.6.6.md ADDED
@@ -0,0 +1,2 @@
 
 
1
+ # Fixes
2
+ * [wcml-2823] Fix error when using updated WPML String Translation without updating WPML
inc/class-wcml-dependencies.php CHANGED
@@ -65,7 +65,7 @@ class WCML_Dependencies {
65
  $this->allok = false;
66
  }
67
 
68
- if ( ! defined( 'WPML_ST_VERSION' ) ) {
69
  $this->missing['WPML String Translation'] = $this->tracking_link->generate( 'https://wpml.org/' );
70
  $this->allok = false;
71
  } elseif ( version_compare( WPML_ST_VERSION, self::MIN_WPML_ST, '<' ) ) {
65
  $this->allok = false;
66
  }
67
 
68
+ if ( ! defined( 'WPML_ST_VERSION' ) || !function_exists( 'icl_get_string_id' ) ) {
69
  $this->missing['WPML String Translation'] = $this->tracking_link->generate( 'https://wpml.org/' );
70
  $this->allok = false;
71
  } elseif ( version_compare( WPML_ST_VERSION, self::MIN_WPML_ST, '<' ) ) {
inc/template-classes/class-wcml-plugins-wrap.php CHANGED
@@ -31,7 +31,7 @@ class WCML_Plugins_Wrap {
31
  'icl_version' => defined('ICL_SITEPRESS_VERSION'),
32
  'icl_setup' => $this->sitepress ? $this->sitepress->setup() : false,
33
  'tm_version' => defined( 'WPML_TM_VERSION' ),
34
- 'st_version' => defined( 'WPML_ST_VERSION' ),
35
  'wc' => class_exists('WooCommerce') ,
36
  'old_wc' => class_exists('WooCommerce') && version_compare( WC_VERSION, '3.3.0', '<'),
37
  'wc_link' => 'http://wordpress.org/extend/plugins/woocommerce/',
31
  'icl_version' => defined('ICL_SITEPRESS_VERSION'),
32
  'icl_setup' => $this->sitepress ? $this->sitepress->setup() : false,
33
  'tm_version' => defined( 'WPML_TM_VERSION' ),
34
+ 'st_version' => defined( 'WPML_ST_VERSION' ) && function_exists( 'icl_get_string_id' ),
35
  'wc' => class_exists('WooCommerce') ,
36
  'old_wc' => class_exists('WooCommerce') && version_compare( WC_VERSION, '3.3.0', '<'),
37
  'wc_link' => 'http://wordpress.org/extend/plugins/woocommerce/',
readme.txt CHANGED
@@ -5,7 +5,7 @@ Tags: CMS, woocommerce, commerce, ecommerce, e-commerce, products, WPML, multili
5
  License: GPLv2
6
  Requires at least: 4.7
7
  Tested up to: 5.2.1
8
- Stable tag: 4.6.5
9
 
10
  Allows running fully multilingual e-commerce sites using WooCommerce and WPML.
11
 
@@ -140,6 +140,9 @@ WooCommerce Multilingual is compatible with all major WooCommerce extensions. We
140
 
141
  == Changelog ==
142
 
 
 
 
143
  = 4.6.5 =
144
  * The Events Calendar: convert currency for event_cost.
145
  * Wrong product price set after purchase in combination with custom prices for secondary currency and enabled stock
@@ -157,7 +160,6 @@ WooCommerce Multilingual is compatible with all major WooCommerce extensions. We
157
  * Fix no link to reviews in other languages if no reviews left in current one
158
  * Fix "set_product_language" REST API call not supported "PUT" method
159
  * Fix endpoints on My Account page when using a custom base permalink
160
- * Fix stock_status synchronization for variable products with stock management on product level
161
  * Fixed performance issues while translating Product via WPML Translation Editor with a lot of variations
162
  * Fixed overridden discounted item price when manually creating/editing order from the admin
163
  * Fixed customer email language when changing order from "On Hold" to "Processing"
@@ -194,6 +196,7 @@ WooCommerce Multilingual is compatible with all major WooCommerce extensions. We
194
  = 4.5.0 =
195
  * Add "get_post_metadata" hook to filter Woocommerce product data
196
  * Added function in troubleshooting page to fix broken variations
 
197
  * Fix refreshing of status icon when ATE Job of updated content is synced
198
  * Fix few notices when removing a Elementor widget and refresh page
199
  * Fetch ATE translations from WCML Product Translation Tab
@@ -233,7 +236,6 @@ WooCommerce Multilingual is compatible with all major WooCommerce extensions. We
233
 
234
  = 4.4.0 =
235
  * Added the ability to associate BACS accounts with currencies
236
- * Fix and removed duplicated entries in code
237
  * Hide reviews in other languages link, if there are no reviews in product
238
  * Update WCML Logo
239
  * Removed Product Type Column from WCML backend and added compatibility with the WC Product Type Column plugin
5
  License: GPLv2
6
  Requires at least: 4.7
7
  Tested up to: 5.2.1
8
+ Stable tag: 4.6.6
9
 
10
  Allows running fully multilingual e-commerce sites using WooCommerce and WPML.
11
 
140
 
141
  == Changelog ==
142
 
143
+ = 4.6.6 =
144
+ * Fix error when using updated WPML String Translation without updating WPML
145
+
146
  = 4.6.5 =
147
  * The Events Calendar: convert currency for event_cost.
148
  * Wrong product price set after purchase in combination with custom prices for secondary currency and enabled stock
160
  * Fix no link to reviews in other languages if no reviews left in current one
161
  * Fix "set_product_language" REST API call not supported "PUT" method
162
  * Fix endpoints on My Account page when using a custom base permalink
 
163
  * Fixed performance issues while translating Product via WPML Translation Editor with a lot of variations
164
  * Fixed overridden discounted item price when manually creating/editing order from the admin
165
  * Fixed customer email language when changing order from "On Hold" to "Processing"
196
  = 4.5.0 =
197
  * Add "get_post_metadata" hook to filter Woocommerce product data
198
  * Added function in troubleshooting page to fix broken variations
199
+ * Fixed DB error when saving a variation with specific steps
200
  * Fix refreshing of status icon when ATE Job of updated content is synced
201
  * Fix few notices when removing a Elementor widget and refresh page
202
  * Fetch ATE translations from WCML Product Translation Tab
236
 
237
  = 4.4.0 =
238
  * Added the ability to associate BACS accounts with currencies
 
239
  * Hide reviews in other languages link, if there are no reviews in product
240
  * Update WCML Logo
241
  * Removed Product Type Column from WCML backend and added compatibility with the WC Product Type Column plugin
vendor/autoload.php CHANGED
@@ -4,4 +4,4 @@
4
 
5
  require_once __DIR__ . '/composer/autoload_real.php';
6
 
7
- return ComposerAutoloaderInit2ba1fa2bed2b05e6935dfe8f0b8f9241::getLoader();
4
 
5
  require_once __DIR__ . '/composer/autoload_real.php';
6
 
7
+ return ComposerAutoloaderInita4b893d4d55f787c3448456cb8012d09::getLoader();
vendor/autoload_52.php CHANGED
@@ -4,4 +4,4 @@
4
 
5
  require_once dirname(__FILE__) . '/composer'.'/autoload_real_52.php';
6
 
7
- return ComposerAutoloaderInit5b128786b2c78c76b4e062ebf198a7b3::getLoader();
4
 
5
  require_once dirname(__FILE__) . '/composer'.'/autoload_real_52.php';
6
 
7
+ return ComposerAutoloaderInit688ca3d612c977e59e6bc90accb46d8f::getLoader();
vendor/composer/autoload_real.php CHANGED
@@ -2,7 +2,7 @@
2
 
3
  // autoload_real.php @generated by Composer
4
 
5
- class ComposerAutoloaderInit2ba1fa2bed2b05e6935dfe8f0b8f9241
6
  {
7
  private static $loader;
8
 
@@ -19,15 +19,15 @@ class ComposerAutoloaderInit2ba1fa2bed2b05e6935dfe8f0b8f9241
19
  return self::$loader;
20
  }
21
 
22
- spl_autoload_register(array('ComposerAutoloaderInit2ba1fa2bed2b05e6935dfe8f0b8f9241', 'loadClassLoader'), true, true);
23
  self::$loader = $loader = new \Composer\Autoload\ClassLoader();
24
- spl_autoload_unregister(array('ComposerAutoloaderInit2ba1fa2bed2b05e6935dfe8f0b8f9241', 'loadClassLoader'));
25
 
26
  $useStaticLoader = PHP_VERSION_ID >= 50600 && !defined('HHVM_VERSION') && (!function_exists('zend_loader_file_encoded') || !zend_loader_file_encoded());
27
  if ($useStaticLoader) {
28
  require_once __DIR__ . '/autoload_static.php';
29
 
30
- call_user_func(\Composer\Autoload\ComposerStaticInit2ba1fa2bed2b05e6935dfe8f0b8f9241::getInitializer($loader));
31
  } else {
32
  $map = require __DIR__ . '/autoload_namespaces.php';
33
  foreach ($map as $namespace => $path) {
@@ -48,19 +48,19 @@ class ComposerAutoloaderInit2ba1fa2bed2b05e6935dfe8f0b8f9241
48
  $loader->register(true);
49
 
50
  if ($useStaticLoader) {
51
- $includeFiles = Composer\Autoload\ComposerStaticInit2ba1fa2bed2b05e6935dfe8f0b8f9241::$files;
52
  } else {
53
  $includeFiles = require __DIR__ . '/autoload_files.php';
54
  }
55
  foreach ($includeFiles as $fileIdentifier => $file) {
56
- composerRequire2ba1fa2bed2b05e6935dfe8f0b8f9241($fileIdentifier, $file);
57
  }
58
 
59
  return $loader;
60
  }
61
  }
62
 
63
- function composerRequire2ba1fa2bed2b05e6935dfe8f0b8f9241($fileIdentifier, $file)
64
  {
65
  if (empty($GLOBALS['__composer_autoload_files'][$fileIdentifier])) {
66
  require $file;
2
 
3
  // autoload_real.php @generated by Composer
4
 
5
+ class ComposerAutoloaderInita4b893d4d55f787c3448456cb8012d09
6
  {
7
  private static $loader;
8
 
19
  return self::$loader;
20
  }
21
 
22
+ spl_autoload_register(array('ComposerAutoloaderInita4b893d4d55f787c3448456cb8012d09', 'loadClassLoader'), true, true);
23
  self::$loader = $loader = new \Composer\Autoload\ClassLoader();
24
+ spl_autoload_unregister(array('ComposerAutoloaderInita4b893d4d55f787c3448456cb8012d09', 'loadClassLoader'));
25
 
26
  $useStaticLoader = PHP_VERSION_ID >= 50600 && !defined('HHVM_VERSION') && (!function_exists('zend_loader_file_encoded') || !zend_loader_file_encoded());
27
  if ($useStaticLoader) {
28
  require_once __DIR__ . '/autoload_static.php';
29
 
30
+ call_user_func(\Composer\Autoload\ComposerStaticInita4b893d4d55f787c3448456cb8012d09::getInitializer($loader));
31
  } else {
32
  $map = require __DIR__ . '/autoload_namespaces.php';
33
  foreach ($map as $namespace => $path) {
48
  $loader->register(true);
49
 
50
  if ($useStaticLoader) {
51
+ $includeFiles = Composer\Autoload\ComposerStaticInita4b893d4d55f787c3448456cb8012d09::$files;
52
  } else {
53
  $includeFiles = require __DIR__ . '/autoload_files.php';
54
  }
55
  foreach ($includeFiles as $fileIdentifier => $file) {
56
+ composerRequirea4b893d4d55f787c3448456cb8012d09($fileIdentifier, $file);
57
  }
58
 
59
  return $loader;
60
  }
61
  }
62
 
63
+ function composerRequirea4b893d4d55f787c3448456cb8012d09($fileIdentifier, $file)
64
  {
65
  if (empty($GLOBALS['__composer_autoload_files'][$fileIdentifier])) {
66
  require $file;
vendor/composer/autoload_real_52.php CHANGED
@@ -2,7 +2,7 @@
2
 
3
  // autoload_real_52.php generated by xrstf/composer-php52
4
 
5
- class ComposerAutoloaderInit5b128786b2c78c76b4e062ebf198a7b3 {
6
  private static $loader;
7
 
8
  public static function loadClassLoader($class) {
@@ -19,9 +19,9 @@ class ComposerAutoloaderInit5b128786b2c78c76b4e062ebf198a7b3 {
19
  return self::$loader;
20
  }
21
 
22
- spl_autoload_register(array('ComposerAutoloaderInit5b128786b2c78c76b4e062ebf198a7b3', 'loadClassLoader'), true /*, true */);
23
  self::$loader = $loader = new xrstf_Composer52_ClassLoader();
24
- spl_autoload_unregister(array('ComposerAutoloaderInit5b128786b2c78c76b4e062ebf198a7b3', 'loadClassLoader'));
25
 
26
  $vendorDir = dirname(dirname(__FILE__));
27
  $baseDir = dirname($vendorDir);
2
 
3
  // autoload_real_52.php generated by xrstf/composer-php52
4
 
5
+ class ComposerAutoloaderInit688ca3d612c977e59e6bc90accb46d8f {
6
  private static $loader;
7
 
8
  public static function loadClassLoader($class) {
19
  return self::$loader;
20
  }
21
 
22
+ spl_autoload_register(array('ComposerAutoloaderInit688ca3d612c977e59e6bc90accb46d8f', 'loadClassLoader'), true /*, true */);
23
  self::$loader = $loader = new xrstf_Composer52_ClassLoader();
24
+ spl_autoload_unregister(array('ComposerAutoloaderInit688ca3d612c977e59e6bc90accb46d8f', 'loadClassLoader'));
25
 
26
  $vendorDir = dirname(dirname(__FILE__));
27
  $baseDir = dirname($vendorDir);
vendor/composer/autoload_static.php CHANGED
@@ -4,7 +4,7 @@
4
 
5
  namespace Composer\Autoload;
6
 
7
- class ComposerStaticInit2ba1fa2bed2b05e6935dfe8f0b8f9241
8
  {
9
  public static $files = array (
10
  'b45b351e6b6f7487d819961fef2fda77' => __DIR__ . '/..' . '/jakeasmith/http_build_url/src/http_build_url.php',
@@ -242,10 +242,10 @@ class ComposerStaticInit2ba1fa2bed2b05e6935dfe8f0b8f9241
242
  public static function getInitializer(ClassLoader $loader)
243
  {
244
  return \Closure::bind(function () use ($loader) {
245
- $loader->prefixLengthsPsr4 = ComposerStaticInit2ba1fa2bed2b05e6935dfe8f0b8f9241::$prefixLengthsPsr4;
246
- $loader->prefixDirsPsr4 = ComposerStaticInit2ba1fa2bed2b05e6935dfe8f0b8f9241::$prefixDirsPsr4;
247
- $loader->prefixesPsr0 = ComposerStaticInit2ba1fa2bed2b05e6935dfe8f0b8f9241::$prefixesPsr0;
248
- $loader->classMap = ComposerStaticInit2ba1fa2bed2b05e6935dfe8f0b8f9241::$classMap;
249
 
250
  }, null, ClassLoader::class);
251
  }
4
 
5
  namespace Composer\Autoload;
6
 
7
+ class ComposerStaticInita4b893d4d55f787c3448456cb8012d09
8
  {
9
  public static $files = array (
10
  'b45b351e6b6f7487d819961fef2fda77' => __DIR__ . '/..' . '/jakeasmith/http_build_url/src/http_build_url.php',
242
  public static function getInitializer(ClassLoader $loader)
243
  {
244
  return \Closure::bind(function () use ($loader) {
245
+ $loader->prefixLengthsPsr4 = ComposerStaticInita4b893d4d55f787c3448456cb8012d09::$prefixLengthsPsr4;
246
+ $loader->prefixDirsPsr4 = ComposerStaticInita4b893d4d55f787c3448456cb8012d09::$prefixDirsPsr4;
247
+ $loader->prefixesPsr0 = ComposerStaticInita4b893d4d55f787c3448456cb8012d09::$prefixesPsr0;
248
+ $loader->classMap = ComposerStaticInita4b893d4d55f787c3448456cb8012d09::$classMap;
249
 
250
  }, null, ClassLoader::class);
251
  }
wpml-woocommerce.php CHANGED
@@ -8,16 +8,16 @@
8
  Text Domain: woocommerce-multilingual
9
  Requires at least: 4.7
10
  Tested up to: 5.2.1
11
- Version: 4.6.5
12
  WC requires at least: 3.3.0
13
- WC tested up to: 3.6.3
14
  */
15
 
16
  if ( defined( 'WCML_VERSION' ) ) {
17
  return;
18
  }
19
 
20
- define( 'WCML_VERSION', '4.6.5' );
21
  define( 'WCML_PLUGIN_PATH', dirname( __FILE__ ) );
22
  define( 'WCML_PLUGIN_FOLDER', basename( WCML_PLUGIN_PATH ) );
23
  define( 'WCML_LOCALE_PATH', WCML_PLUGIN_PATH . '/locale' );
8
  Text Domain: woocommerce-multilingual
9
  Requires at least: 4.7
10
  Tested up to: 5.2.1
11
+ Version: 4.6.6
12
  WC requires at least: 3.3.0
13
+ WC tested up to: 3.7.0
14
  */
15
 
16
  if ( defined( 'WCML_VERSION' ) ) {
17
  return;
18
  }
19
 
20
+ define( 'WCML_VERSION', '4.6.6' );
21
  define( 'WCML_PLUGIN_PATH', dirname( __FILE__ ) );
22
  define( 'WCML_PLUGIN_FOLDER', basename( WCML_PLUGIN_PATH ) );
23
  define( 'WCML_LOCALE_PATH', WCML_PLUGIN_PATH . '/locale' );