Это форум технической поддержки WPML – плагина для многоязычной WordPress.

Доступно для чтения всем, но только клиенты, купившие WPML, могут оставлять сообщения. Сотрудники WPML отвечают на сообщения форума 6 дней в неделю, 22 часов в сутки.

Our next available supporter will start replying to tickets in about 1.00 hours from now. Thank you for your understanding.

This topic contains 19 ответов, has 4 голосов.

Last updated by Andrey 2 месяца, 1 неделя назад.

Assigned support staff: Andrey.

Автор Посты
Июль 15, 2019 в 3:16 пп

andreyD-3

Я пытаюсь: Конвертировать 1$ в 63 рубля

Ссылка на страницу, где можно увидеть проблему:
hidden link

Ожидалось это:
Ожидалось что конвертация 1250$ - по курсу 63 будет равна - 78 750 рублям.

Вместо этого, получилось: ₽4,961,250

Июль 16, 2019 в 7:11 дп #4216833

Andrey
Supporter

Languages: Английский (English ) Русский (Русский )

Timezone: Europe/Kiev (GMT+03:00)

Здравствуйте,

Зашел на Ваш сайт по данным которые Вы мне предоставили. Не могли бы Вы, предоставить мне пользователя, который имеет права Администратора, чтобы я мог посмотреть все Ваши установленные плагины и увидеть как Вы настроили конвертацию в "WooCommerce Multilingual".

Следующий ответ установлен, как частный.

Июль 16, 2019 в 7:28 дп
Июль 16, 2019 в 8:25 дп #4217593

Andrey
Supporter

Languages: Английский (English ) Русский (Русский )

Timezone: Europe/Kiev (GMT+03:00)

Не могу зайти по этим доступам. Вижу такую ошибку: "Вы ввели неверный пароль для имени пользователя Andrey"

Следующий ответ установлен, как частный.

Июль 16, 2019 в 8:43 пп
Июль 17, 2019 в 10:50 дп #4228877

Andrey
Supporter

Languages: Английский (English ) Русский (Русский )

Timezone: Europe/Kiev (GMT+03:00)

Здравствуйте,

Первый шаг - включить отладку WordPress. Вы можете сделать это, добавив несколько строк в файл wp-config.php сайта. Когда включен журнал ошибок, Вы увидите, что представляет собой настоящая проблема.

Чтобы включить отладку, откройте файл wp-config.php и найдите define ('WP_DEBUG', false) ;
Измените его на:

define('WP_DEBUG', true);

Чтобы включить регистрацию ошибок в файле на сервере, нужно добавить еще одну подобную строку:

define( 'WP_DEBUG_LOG', true );

В этом случае ошибки будут сохранены в файле журнала debug.log в каталоге /wp-content/.

https://wpml.org/documentation/support/debugging-wpml/

Дайте мне знать, что Вы видите после включения режима отладки.

Давайте посмотрим, есть ли совместимость с другими плагинами:

Пожалуйста, проверьте, появляется ли эта проблема, когда:
- Все плагины не WPML отключены (кроме WooCommerce). Тогда мы узнаем, есть ли проблема взаимодействия с другими плагинами.

- Установите стандартную тему на WordPress, к примеру как Twenty Fourteen. Тогда мы узнаем, есть ли проблема взаимодействия с Вашей темой.

- Если проблема исчезнет, начните активировать одну за раз, чтобы отследить, где возникает несовместимость.

Пожалуйста, не забудьте сделать полную резервную копию сайта, прежде чем вносить какие-либо изменения. Это из соображений безопасности.

Я буду ждать Ваших комментариев.

Июль 22, 2019 в 7:47 дп #4254505

andreyD-3

Добрый день. Спасибо за информацию. Сейчас попробую сделать.

Июль 22, 2019 в 8:38 дп #4254875

andreyD-3

1. Смена темы не помогает.
2. define('WP_DEBUG', true); + define( 'WP_DEBUG_LOG', true ); добавил, дизайн сайта посыпался на этот момент, но вывода лшибок не обнаружил, и debug.log log file inside the /wp-content/ так же не вижу.
3. Перехожу в процессу отключения плагинов.

Июль 22, 2019 в 9:10 дп #4255171

andreyD-3

Pic1 + Pic2 , отключил все плагины, результат тот же.
Что думаете?

Июль 23, 2019 в 2:12 пп #4266945

George Botsev
Supporter

Languages: Английский (English )

Timezone: Europe/Sofia (GMT+03:00)

Привет и извините за мой плохой русский язык.
Андрей в отпуске до понедельника.

Для меня кажется, что цена рассчитывается дважды раз.

Мне нужно попросить у вас разрешение на создание Duplicator клона из ваш сайт так что я могу проверить это локально.
Пожалуйста, дайте мне знать, если вы позволите мне сделать это.

Июль 23, 2019 в 2:16 пп #4266979

andreyD-3

Добрый день George

Да, конечно, я даю добро, спасибо.
Я думаю, судя по числам, Вы абсолютно правы, 1250 * 63 * 63 = 4 961 250

Спасибо, Андрей

Июль 24, 2019 в 12:45 пп #4274467

George Botsev
Supporter

Languages: Английский (English )

Timezone: Europe/Sofia (GMT+03:00)

Я нашел проблему!
Ето код:

add_filter( 'woocommerce_available_payment_gateways', 'hide_gateways' );

потому что стартироват

$get_current_currency_wcml = new WCML_Multi_Currency();
$get_current_currency = $get_current_currency_wcml->get_client_currency();

и это стартироват WCML hook - wcml_raw_price_amount после того, как он уже работал один раз и это исчисляет
1. 1250 USD * 63 -> 78750
2. 78750RU * 63 -> 4961250‬

если вы закомментируете эту строку, это будет исправлено.

* Товары с Вариации должны быть обновлены - оригиналы а также переводы

Июль 24, 2019 в 7:54 пп #4277293

andreyD-3

0:/www/annaskoblikova.com/wp-content/themes/jupiter-child/functions.php - вы имеете ввиду в этом файле?
Пробовл не помагает.
Кроме того, пробовал другие темы ставить, результат тот же.

Июль 25, 2019 в 7:13 дп #4279815

George Botsev
Supporter

Languages: Английский (English )

Timezone: Europe/Sofia (GMT+03:00)

Да, именно этот файл - /wp-content/themes/jupiter-child/functions.php

Вы должны обновлять товары с вариации потому что мета ключ вариации - _max_variation_price не обновляется автоматически

Если вы хотите, вы можете проверить с новым продуктом с вариации (товар с вариации).

Июль 29, 2019 в 1:50 пп #4300463

andreyD-3

Добрый день.
Понял. Спасибо за ответ.

Подскажите пожалуйста, в таком случае, как мне скрыть определённые способы оплаты для определённой валюты \ языка в WPML.

Конкретно, мне нужно скрыть unset( $gateways['tinkoff'] ); в $get_current_currency == 'USD'

Функцию описаную выше, я нашёл на Вашем форуме, Спасибо.

add_filter( 'woocommerce_available_payment_gateways', 'hide_gateways' );

function hide_gateways( $gateways ) {
global $woocommerce_wpml;

$get_current_currency_wcml = new WCML_Multi_Currency();
$get_current_currency = $get_current_currency_wcml->get_client_currency();

if( $get_current_currency == 'USD' ){
//disable gateway paypal if currency is ABC
unset( $gateways['tinkoff'] );

} elseif( $get_current_currency == 'RUB' ){

//disable gateway blabla if currency is XYZ
unset( $gateways['paypal'] );
unset( $gateways['wayforpay'] );

}
else{
//otherwise disable gateway humdidum
unset( $gateways['humdidum'] );

}
return $gateways;
}