Version Description
- Fix performance issue while saving product
- Fix warning when _wc_rating_cout value is corrupted
- Fix loop on original products without thumbnail set
Download this release
Release Info
Developer | sergey.r |
Plugin | WooCommerce Multilingual – run WooCommerce with WPML |
Version | 4.6.2 |
Comparing to | |
See all releases |
Code changes from version 4.6.1 to 4.6.2
- changelog/4.6.2.md +4 -0
- classes/media/class-wcml-product-gallery-filter-factory.php +1 -1
- classes/media/class-wcml-product-gallery-filter.php +45 -26
- classes/media/class-wcml-product-image-filter-factory.php +1 -1
- classes/media/class-wcml-product-image-filter.php +27 -11
- inc/class-wcml-comments.php +1 -1
- inc/class-wcml-products.php +13 -9
- readme.txt +6 -1
- vendor/autoload.php +1 -1
- vendor/autoload_52.php +1 -1
- vendor/composer/autoload_real.php +7 -7
- vendor/composer/autoload_real_52.php +3 -3
- vendor/composer/autoload_static.php +5 -5
- wpml-woocommerce.php +3 -4
changelog/4.6.2.md
ADDED
@@ -0,0 +1,4 @@
|
|
|
|
|
|
|
|
|
1 |
+
# Fixes
|
2 |
+
* [wcml-2777] Fix performance issue while saving product
|
3 |
+
* [wcml-2776] Fix warning when _wc_rating_cout value is corrupted
|
4 |
+
* [wcml-2775] Fix loop on original products without thumbnail set
|
classes/media/class-wcml-product-gallery-filter-factory.php
CHANGED
@@ -1,6 +1,6 @@
|
|
1 |
<?php
|
2 |
|
3 |
-
class WCML_Product_Gallery_Filter_Factory implements IWPML_Frontend_Action_Loader
|
4 |
|
5 |
public function create() {
|
6 |
global $sitepress;
|
1 |
<?php
|
2 |
|
3 |
+
class WCML_Product_Gallery_Filter_Factory implements IWPML_Frontend_Action_Loader {
|
4 |
|
5 |
public function create() {
|
6 |
global $sitepress;
|
classes/media/class-wcml-product-gallery-filter.php
CHANGED
@@ -6,9 +6,17 @@ class WCML_Product_Gallery_Filter implements IWPML_Action {
|
|
6 |
* @var WPML_Translation_Element_Factory
|
7 |
*/
|
8 |
private $translation_element_factory;
|
|
|
|
|
9 |
|
10 |
-
public function __construct( WPML_Translation_Element_Factory $translation_element_factory ) {
|
11 |
$this->translation_element_factory = $translation_element_factory;
|
|
|
|
|
|
|
|
|
|
|
|
|
12 |
}
|
13 |
|
14 |
public function add_hooks() {
|
@@ -16,42 +24,53 @@ class WCML_Product_Gallery_Filter implements IWPML_Action {
|
|
16 |
}
|
17 |
|
18 |
public function localize_image_ids( $value, $object_id, $meta_key ) {
|
|
|
|
|
19 |
if ( '_product_image_gallery' === $meta_key &&
|
20 |
in_array( get_post_type( $object_id ), array( 'product', 'product_variation' ) ) ) {
|
21 |
|
22 |
-
|
23 |
-
|
24 |
-
$
|
25 |
-
|
26 |
-
|
27 |
-
|
28 |
-
|
29 |
-
|
30 |
-
|
31 |
-
|
32 |
-
|
33 |
-
|
34 |
-
|
35 |
-
|
36 |
-
|
37 |
-
|
38 |
-
|
39 |
-
|
40 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
41 |
}
|
42 |
}
|
43 |
}
|
44 |
-
}
|
45 |
|
46 |
-
|
47 |
-
|
48 |
-
|
|
|
|
|
49 |
|
50 |
-
|
|
|
51 |
|
52 |
}
|
53 |
|
54 |
-
return $value;
|
55 |
}
|
56 |
|
57 |
}
|
6 |
* @var WPML_Translation_Element_Factory
|
7 |
*/
|
8 |
private $translation_element_factory;
|
9 |
+
/** @var WPML_WP_Cache */
|
10 |
+
private $wpml_cache;
|
11 |
|
12 |
+
public function __construct( WPML_Translation_Element_Factory $translation_element_factory, $wpml_cache = null ) {
|
13 |
$this->translation_element_factory = $translation_element_factory;
|
14 |
+
|
15 |
+
$cache_group = 'WCML_Product_Gallery_Filter';
|
16 |
+
$this->wpml_cache = $wpml_cache;
|
17 |
+
if ( null === $wpml_cache ) {
|
18 |
+
$this->wpml_cache = new WPML_WP_Cache( $cache_group );
|
19 |
+
}
|
20 |
}
|
21 |
|
22 |
public function add_hooks() {
|
24 |
}
|
25 |
|
26 |
public function localize_image_ids( $value, $object_id, $meta_key ) {
|
27 |
+
|
28 |
+
$image_ids = false;
|
29 |
if ( '_product_image_gallery' === $meta_key &&
|
30 |
in_array( get_post_type( $object_id ), array( 'product', 'product_variation' ) ) ) {
|
31 |
|
32 |
+
$cache_key = $object_id . '_image_gallery';
|
33 |
+
$found = false;
|
34 |
+
$image_ids = $this->wpml_cache->get( $cache_key, $found );
|
35 |
+
|
36 |
+
if ( ! $image_ids ) {
|
37 |
+
|
38 |
+
remove_filter( 'get_post_metadata', array( $this, 'localize_image_ids' ), 10 );
|
39 |
+
|
40 |
+
$meta_value = array();
|
41 |
+
|
42 |
+
$post_element = $this->translation_element_factory->create( $object_id, 'post' );
|
43 |
+
$source_element = $post_element->get_source_element();
|
44 |
+
if ( null !== $source_element ) {
|
45 |
+
$original_gallery_value = get_post_meta( $source_element->get_id(), '_product_image_gallery', true );
|
46 |
+
if ( $original_gallery_value ) {
|
47 |
+
$original_gallery = explode( ',', $original_gallery_value );
|
48 |
+
$original_gallery = array_filter( $original_gallery );
|
49 |
+
|
50 |
+
foreach ( $original_gallery as $attachment_id ) {
|
51 |
+
$attachment_element = $this->translation_element_factory->create( $attachment_id, 'post' );
|
52 |
+
$translated_attachment = $attachment_element->get_translation( $post_element->get_language_code() );
|
53 |
+
if ( null !== $translated_attachment ) {
|
54 |
+
$meta_value[] = $translated_attachment->get_id();
|
55 |
+
} else {
|
56 |
+
$meta_value[] = $attachment_id;
|
57 |
+
}
|
58 |
}
|
59 |
}
|
60 |
}
|
|
|
61 |
|
62 |
+
if ( ! empty( $meta_value ) ) {
|
63 |
+
$image_ids = implode( ',', $meta_value );
|
64 |
+
}
|
65 |
+
|
66 |
+
add_filter( 'get_post_metadata', array( $this, 'localize_image_ids' ), 10, 3 );
|
67 |
|
68 |
+
$this->wpml_cache->set( $cache_key, $image_ids );
|
69 |
+
}
|
70 |
|
71 |
}
|
72 |
|
73 |
+
return $image_ids ? $image_ids : $value;
|
74 |
}
|
75 |
|
76 |
}
|
classes/media/class-wcml-product-image-filter-factory.php
CHANGED
@@ -1,6 +1,6 @@
|
|
1 |
<?php
|
2 |
|
3 |
-
class WCML_Product_Image_Filter_Factory implements IWPML_Frontend_Action_Loader
|
4 |
|
5 |
public function create() {
|
6 |
global $sitepress;
|
1 |
<?php
|
2 |
|
3 |
+
class WCML_Product_Image_Filter_Factory implements IWPML_Frontend_Action_Loader {
|
4 |
|
5 |
public function create() {
|
6 |
global $sitepress;
|
classes/media/class-wcml-product-image-filter.php
CHANGED
@@ -6,9 +6,17 @@ class WCML_Product_Image_Filter implements IWPML_Action {
|
|
6 |
* @var WPML_Translation_Element_Factory
|
7 |
*/
|
8 |
private $translation_element_factory;
|
|
|
|
|
9 |
|
10 |
-
public function __construct( WPML_Translation_Element_Factory $translation_element_factory ) {
|
11 |
$this->translation_element_factory = $translation_element_factory;
|
|
|
|
|
|
|
|
|
|
|
|
|
12 |
}
|
13 |
|
14 |
public function add_hooks() {
|
@@ -17,6 +25,7 @@ class WCML_Product_Image_Filter implements IWPML_Action {
|
|
17 |
|
18 |
public function localize_image_id( $value, $object_id, $meta_key ) {
|
19 |
|
|
|
20 |
if ( !$value && '_thumbnail_id' === $meta_key &&
|
21 |
in_array( get_post_type( $object_id ), array( 'product', 'product_variation' ) ) &&
|
22 |
(
|
@@ -28,22 +37,29 @@ class WCML_Product_Image_Filter implements IWPML_Action {
|
|
28 |
)
|
29 |
) {
|
30 |
|
31 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
32 |
|
33 |
-
$meta_value = get_post_meta( $object_id, '_thumbnail_id', true );
|
34 |
-
if ( empty( $meta_value ) ) {
|
35 |
-
$post_element = $this->translation_element_factory->create( $object_id, 'post' );
|
36 |
-
$source_element = $post_element->get_source_element();
|
37 |
-
if ( null !== $source_element ) {
|
38 |
-
$value = get_post_meta( $source_element->get_id(), '_thumbnail_id', true );
|
39 |
}
|
|
|
40 |
|
|
|
41 |
}
|
42 |
-
add_filter( 'get_post_metadata', array( $this, 'localize_image_id' ), 11, 3 );
|
43 |
-
|
44 |
}
|
45 |
|
46 |
-
return $value;
|
47 |
}
|
48 |
|
49 |
}
|
6 |
* @var WPML_Translation_Element_Factory
|
7 |
*/
|
8 |
private $translation_element_factory;
|
9 |
+
/** @var WPML_WP_Cache */
|
10 |
+
private $wpml_cache;
|
11 |
|
12 |
+
public function __construct( WPML_Translation_Element_Factory $translation_element_factory, $wpml_cache = null ) {
|
13 |
$this->translation_element_factory = $translation_element_factory;
|
14 |
+
|
15 |
+
$cache_group = 'WCML_Product_Image_Filter';
|
16 |
+
$this->wpml_cache = $wpml_cache;
|
17 |
+
if ( null === $wpml_cache ) {
|
18 |
+
$this->wpml_cache = new WPML_WP_Cache( $cache_group );
|
19 |
+
}
|
20 |
}
|
21 |
|
22 |
public function add_hooks() {
|
25 |
|
26 |
public function localize_image_id( $value, $object_id, $meta_key ) {
|
27 |
|
28 |
+
$image_id = false;
|
29 |
if ( !$value && '_thumbnail_id' === $meta_key &&
|
30 |
in_array( get_post_type( $object_id ), array( 'product', 'product_variation' ) ) &&
|
31 |
(
|
37 |
)
|
38 |
) {
|
39 |
|
40 |
+
$cache_key = $object_id . '_thumbnail_id';
|
41 |
+
$found = false;
|
42 |
+
$image_id = $this->wpml_cache->get( $cache_key, $found );
|
43 |
+
|
44 |
+
if ( ! $image_id ) {
|
45 |
+
remove_filter( 'get_post_metadata', array( $this, 'localize_image_id' ), 11, 3 );
|
46 |
+
|
47 |
+
$meta_value = get_post_meta( $object_id, '_thumbnail_id', true );
|
48 |
+
if ( empty( $meta_value ) ) {
|
49 |
+
$post_element = $this->translation_element_factory->create( $object_id, 'post' );
|
50 |
+
$source_element = $post_element->get_source_element();
|
51 |
+
if ( null !== $source_element ) {
|
52 |
+
$image_id = get_post_meta( $source_element->get_id(), '_thumbnail_id', true );
|
53 |
+
}
|
54 |
|
|
|
|
|
|
|
|
|
|
|
|
|
55 |
}
|
56 |
+
add_filter( 'get_post_metadata', array( $this, 'localize_image_id' ), 11, 3 );
|
57 |
|
58 |
+
$this->wpml_cache->set( $cache_key, $image_id );
|
59 |
}
|
|
|
|
|
60 |
}
|
61 |
|
62 |
+
return $image_id ? $image_id : $value;
|
63 |
}
|
64 |
|
65 |
}
|
inc/class-wcml-comments.php
CHANGED
@@ -71,7 +71,7 @@ class WCML_Comments {
|
|
71 |
$ratings = get_post_meta( $translation, '_wc_rating_count', true );
|
72 |
$review_count = get_post_meta( $translation, self::WC_REVIEW_COUNT_KEY, true );
|
73 |
|
74 |
-
if ( $ratings ) {
|
75 |
foreach ( $ratings as $rating => $count ) {
|
76 |
$average_ratings_sum += $rating * $count;
|
77 |
$average_ratings_count += $count;
|
71 |
$ratings = get_post_meta( $translation, '_wc_rating_count', true );
|
72 |
$review_count = get_post_meta( $translation, self::WC_REVIEW_COUNT_KEY, true );
|
73 |
|
74 |
+
if ( is_array( $ratings ) ) {
|
75 |
foreach ( $ratings as $rating => $count ) {
|
76 |
$average_ratings_sum += $rating * $count;
|
77 |
$average_ratings_count += $count;
|
inc/class-wcml-products.php
CHANGED
@@ -681,11 +681,13 @@ class WCML_Products{
|
|
681 |
|
682 |
$is_mc_enabled = (int) $this->woocommerce_wpml->settings['enable_multi_currency'] === (int) $this->sitepress->get_wp_api()->constant( 'WCML_MULTI_CURRENCIES_INDEPENDENT' );
|
683 |
|
|
|
684 |
if ( $is_mc_enabled ) {
|
685 |
$price_keys = wcml_price_custom_fields( $product_id );
|
686 |
}
|
687 |
|
688 |
-
|
|
|
689 |
$data['_product_image_gallery'] = null;
|
690 |
}
|
691 |
|
@@ -696,14 +698,16 @@ class WCML_Products{
|
|
696 |
|
697 |
if ( $is_mc_enabled && in_array( $meta_key, $price_keys, true ) ) {
|
698 |
$filtered_value = $this->woocommerce_wpml->multi_currency->prices->product_price_filter( $meta_value, $product_id, $meta_key, true );
|
699 |
-
} elseif (
|
700 |
-
|
701 |
-
|
702 |
-
$
|
703 |
-
|
704 |
-
|
705 |
-
$
|
706 |
-
|
|
|
|
|
707 |
}
|
708 |
|
709 |
if ( $filtered_value ) {
|
681 |
|
682 |
$is_mc_enabled = (int) $this->woocommerce_wpml->settings['enable_multi_currency'] === (int) $this->sitepress->get_wp_api()->constant( 'WCML_MULTI_CURRENCIES_INDEPENDENT' );
|
683 |
|
684 |
+
$price_keys = array();
|
685 |
if ( $is_mc_enabled ) {
|
686 |
$price_keys = wcml_price_custom_fields( $product_id );
|
687 |
}
|
688 |
|
689 |
+
$is_original_product = $this->woocommerce_wpml->products->is_original_product( $product_id );
|
690 |
+
if( is_product() && !$is_original_product ){
|
691 |
$data['_product_image_gallery'] = null;
|
692 |
}
|
693 |
|
698 |
|
699 |
if ( $is_mc_enabled && in_array( $meta_key, $price_keys, true ) ) {
|
700 |
$filtered_value = $this->woocommerce_wpml->multi_currency->prices->product_price_filter( $meta_value, $product_id, $meta_key, true );
|
701 |
+
} elseif ( ! is_admin() ) {
|
702 |
+
if ( in_array( $meta_key, array( '_wc_review_count', '_wc_average_rating' ), true ) ) {
|
703 |
+
$filtered_value = $this->woocommerce_wpml->comments->filter_average_rating( $meta_value, $product_id, $meta_key, true );
|
704 |
+
} elseif ( '_product_image_gallery' === $meta_key && ! $is_original_product ) {
|
705 |
+
$factory = new WCML_Product_Gallery_Filter_Factory();
|
706 |
+
$filtered_value = $factory->create()->localize_image_ids( $meta_value, $product_id, $meta_key );
|
707 |
+
} elseif ( '_thumbnail_id' === $meta_key && ! $is_original_product ) {
|
708 |
+
$factory = new WCML_Product_Image_Filter_Factory();
|
709 |
+
$filtered_value = $factory->create()->localize_image_id( $meta_value, $product_id, $meta_key );
|
710 |
+
}
|
711 |
}
|
712 |
|
713 |
if ( $filtered_value ) {
|
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.1.1
|
8 |
-
Stable tag: 4.6.
|
9 |
|
10 |
Allows running fully multilingual e-commerce sites using WooCommerce and WPML.
|
11 |
|
@@ -140,6 +140,11 @@ WooCommerce Multilingual is compatible with all major WooCommerce extensions. We
|
|
140 |
|
141 |
== Changelog ==
|
142 |
|
|
|
|
|
|
|
|
|
|
|
143 |
= 4.6.1 =
|
144 |
* Fix product gallery images on default product with WC 3.6.0
|
145 |
* Fix wrong Table Rate Shipping wrong rate prices calculation in secondary currency with WC 3.6.0
|
5 |
License: GPLv2
|
6 |
Requires at least: 4.7
|
7 |
Tested up to: 5.1.1
|
8 |
+
Stable tag: 4.6.2
|
9 |
|
10 |
Allows running fully multilingual e-commerce sites using WooCommerce and WPML.
|
11 |
|
140 |
|
141 |
== Changelog ==
|
142 |
|
143 |
+
= 4.6.2 =
|
144 |
+
* Fix performance issue while saving product
|
145 |
+
* Fix warning when _wc_rating_cout value is corrupted
|
146 |
+
* Fix loop on original products without thumbnail set
|
147 |
+
|
148 |
= 4.6.1 =
|
149 |
* Fix product gallery images on default product with WC 3.6.0
|
150 |
* Fix wrong Table Rate Shipping wrong rate prices calculation in secondary currency with WC 3.6.0
|
vendor/autoload.php
CHANGED
@@ -4,4 +4,4 @@
|
|
4 |
|
5 |
require_once __DIR__ . '/composer/autoload_real.php';
|
6 |
|
7 |
-
return
|
4 |
|
5 |
require_once __DIR__ . '/composer/autoload_real.php';
|
6 |
|
7 |
+
return ComposerAutoloaderInitaebef6501751b2ca9149e46af77ba3f6::getLoader();
|
vendor/autoload_52.php
CHANGED
@@ -4,4 +4,4 @@
|
|
4 |
|
5 |
require_once dirname(__FILE__) . '/composer'.'/autoload_real_52.php';
|
6 |
|
7 |
-
return
|
4 |
|
5 |
require_once dirname(__FILE__) . '/composer'.'/autoload_real_52.php';
|
6 |
|
7 |
+
return ComposerAutoloaderInitad18820a95101f9a22ae65b5f71a3b54::getLoader();
|
vendor/composer/autoload_real.php
CHANGED
@@ -2,7 +2,7 @@
|
|
2 |
|
3 |
// autoload_real.php @generated by Composer
|
4 |
|
5 |
-
class
|
6 |
{
|
7 |
private static $loader;
|
8 |
|
@@ -19,15 +19,15 @@ class ComposerAutoloaderInitf4b81894d6c1c4bfe5ca8c9db4c92802
|
|
19 |
return self::$loader;
|
20 |
}
|
21 |
|
22 |
-
spl_autoload_register(array('
|
23 |
self::$loader = $loader = new \Composer\Autoload\ClassLoader();
|
24 |
-
spl_autoload_unregister(array('
|
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\
|
31 |
} else {
|
32 |
$map = require __DIR__ . '/autoload_namespaces.php';
|
33 |
foreach ($map as $namespace => $path) {
|
@@ -48,19 +48,19 @@ class ComposerAutoloaderInitf4b81894d6c1c4bfe5ca8c9db4c92802
|
|
48 |
$loader->register(true);
|
49 |
|
50 |
if ($useStaticLoader) {
|
51 |
-
$includeFiles = Composer\Autoload\
|
52 |
} else {
|
53 |
$includeFiles = require __DIR__ . '/autoload_files.php';
|
54 |
}
|
55 |
foreach ($includeFiles as $fileIdentifier => $file) {
|
56 |
-
|
57 |
}
|
58 |
|
59 |
return $loader;
|
60 |
}
|
61 |
}
|
62 |
|
63 |
-
function
|
64 |
{
|
65 |
if (empty($GLOBALS['__composer_autoload_files'][$fileIdentifier])) {
|
66 |
require $file;
|
2 |
|
3 |
// autoload_real.php @generated by Composer
|
4 |
|
5 |
+
class ComposerAutoloaderInitaebef6501751b2ca9149e46af77ba3f6
|
6 |
{
|
7 |
private static $loader;
|
8 |
|
19 |
return self::$loader;
|
20 |
}
|
21 |
|
22 |
+
spl_autoload_register(array('ComposerAutoloaderInitaebef6501751b2ca9149e46af77ba3f6', 'loadClassLoader'), true, true);
|
23 |
self::$loader = $loader = new \Composer\Autoload\ClassLoader();
|
24 |
+
spl_autoload_unregister(array('ComposerAutoloaderInitaebef6501751b2ca9149e46af77ba3f6', '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\ComposerStaticInitaebef6501751b2ca9149e46af77ba3f6::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\ComposerStaticInitaebef6501751b2ca9149e46af77ba3f6::$files;
|
52 |
} else {
|
53 |
$includeFiles = require __DIR__ . '/autoload_files.php';
|
54 |
}
|
55 |
foreach ($includeFiles as $fileIdentifier => $file) {
|
56 |
+
composerRequireaebef6501751b2ca9149e46af77ba3f6($fileIdentifier, $file);
|
57 |
}
|
58 |
|
59 |
return $loader;
|
60 |
}
|
61 |
}
|
62 |
|
63 |
+
function composerRequireaebef6501751b2ca9149e46af77ba3f6($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
|
6 |
private static $loader;
|
7 |
|
8 |
public static function loadClassLoader($class) {
|
@@ -19,9 +19,9 @@ class ComposerAutoloaderInit0aac5ebccdea115bf8638e1f64dced7e {
|
|
19 |
return self::$loader;
|
20 |
}
|
21 |
|
22 |
-
spl_autoload_register(array('
|
23 |
self::$loader = $loader = new xrstf_Composer52_ClassLoader();
|
24 |
-
spl_autoload_unregister(array('
|
25 |
|
26 |
$vendorDir = dirname(dirname(__FILE__));
|
27 |
$baseDir = dirname($vendorDir);
|
2 |
|
3 |
// autoload_real_52.php generated by xrstf/composer-php52
|
4 |
|
5 |
+
class ComposerAutoloaderInitad18820a95101f9a22ae65b5f71a3b54 {
|
6 |
private static $loader;
|
7 |
|
8 |
public static function loadClassLoader($class) {
|
19 |
return self::$loader;
|
20 |
}
|
21 |
|
22 |
+
spl_autoload_register(array('ComposerAutoloaderInitad18820a95101f9a22ae65b5f71a3b54', 'loadClassLoader'), true /*, true */);
|
23 |
self::$loader = $loader = new xrstf_Composer52_ClassLoader();
|
24 |
+
spl_autoload_unregister(array('ComposerAutoloaderInitad18820a95101f9a22ae65b5f71a3b54', '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
|
8 |
{
|
9 |
public static $files = array (
|
10 |
'b45b351e6b6f7487d819961fef2fda77' => __DIR__ . '/..' . '/jakeasmith/http_build_url/src/http_build_url.php',
|
@@ -242,10 +242,10 @@ class ComposerStaticInitf4b81894d6c1c4bfe5ca8c9db4c92802
|
|
242 |
public static function getInitializer(ClassLoader $loader)
|
243 |
{
|
244 |
return \Closure::bind(function () use ($loader) {
|
245 |
-
$loader->prefixLengthsPsr4 =
|
246 |
-
$loader->prefixDirsPsr4 =
|
247 |
-
$loader->prefixesPsr0 =
|
248 |
-
$loader->classMap =
|
249 |
|
250 |
}, null, ClassLoader::class);
|
251 |
}
|
4 |
|
5 |
namespace Composer\Autoload;
|
6 |
|
7 |
+
class ComposerStaticInitaebef6501751b2ca9149e46af77ba3f6
|
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 = ComposerStaticInitaebef6501751b2ca9149e46af77ba3f6::$prefixLengthsPsr4;
|
246 |
+
$loader->prefixDirsPsr4 = ComposerStaticInitaebef6501751b2ca9149e46af77ba3f6::$prefixDirsPsr4;
|
247 |
+
$loader->prefixesPsr0 = ComposerStaticInitaebef6501751b2ca9149e46af77ba3f6::$prefixesPsr0;
|
248 |
+
$loader->classMap = ComposerStaticInitaebef6501751b2ca9149e46af77ba3f6::$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.1.1
|
11 |
-
Version: 4.6.
|
12 |
WC requires at least: 3.3.0
|
13 |
-
WC tested up to: 3.6.
|
14 |
*/
|
15 |
|
16 |
if ( defined( 'WCML_VERSION' ) ) {
|
17 |
return;
|
18 |
}
|
19 |
|
20 |
-
define( 'WCML_VERSION', '4.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' );
|
@@ -98,4 +98,3 @@ function load_wcml_without_wpml() {
|
|
98 |
$woocommerce_wpml = new woocommerce_wpml();
|
99 |
}
|
100 |
}
|
101 |
-
|
8 |
Text Domain: woocommerce-multilingual
|
9 |
Requires at least: 4.7
|
10 |
Tested up to: 5.1.1
|
11 |
+
Version: 4.6.2
|
12 |
WC requires at least: 3.3.0
|
13 |
+
WC tested up to: 3.6.2
|
14 |
*/
|
15 |
|
16 |
if ( defined( 'WCML_VERSION' ) ) {
|
17 |
return;
|
18 |
}
|
19 |
|
20 |
+
define( 'WCML_VERSION', '4.6.2' );
|
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' );
|
98 |
$woocommerce_wpml = new woocommerce_wpml();
|
99 |
}
|
100 |
}
|
|