- Статус
- Решено
- Заявлено для
- WPML Multilingual & Multicurrency for WooCommerce 5.5.0
- Решено в
- WPML Multilingual & Multicurrency for WooCommerce 5.5.3
Обзор проблемы
При использовании опции мультивалютности в WPML Multilingual & Multicurrency for WooCommerce Вы можете столкнуться со следующей проблемой:
Если включена опция «Показывать только товары с индивидуальными ценами в дополнительных валютах», для вариативных товаров не отображается переключатель валют, даже если для всех вариаций заданы индивидуальные цены в дополнительной валюте.
Обходное решение
Перед тем как продолжить, пожалуйста, убедитесь, что у Вас есть полная резервная копия сайта.
- Откройте файл …/wp-content/plugins/woocommerce-multilingual/inc/currencies/currency-switcher/class-wcml-currency-switcher.php.
- Найдите строку 353.
- Замените:
if ( $product && $product->is_type( 'grouped' ) ) { foreach ( $product->get_children() as $child_id ) { if ( ! $hasOriginalCustomPrices( $child_id ) ) { return false; } } } else { if ( ! $hasOriginalCustomPrices( $currentProductId ) ) { return false; } } - На:
if ( $product && $product->is_type( 'grouped' ) || $product->is_type( 'variable' ) ) { foreach ( $product->get_children() as $child_id ) { if ( ! $hasOriginalCustomPrices( $child_id ) ) { return false; } } } else { if ( ! $hasOriginalCustomPrices( $currentProductId ) ) { return false; } }