Перейти к содержимому Перейти к боковой панели

Эта тема решена. Вот описание проблемы и ее решения.

Проблема:
Клиент столкнулся с проблемой, когда Ajax фильтр возвращал цены товаров в оригинальной валюте (долларах), а не в сконвертированной (гривнах) на украинской версии сайта.
Решение:
Мы рекомендуем добавить дополнительный фильтр

'wcml_multi_currency_ajax_actions'

в файл functions.php вашей темы. Вот пример кода, который нужно добавить:

/**
 * Add this code to the functions.php file of your theme.
 */
add_filter( 'wcml_multi_currency_ajax_actions', 'add_action_to_multi_currency_ajax', 10, 1 );
 
function add_action_to_multi_currency_ajax( $ajax_actions ) {
 
    $ajax_actions[] = 'ux_quickview'; // Add a AJAX action to the array
    return $ajax_actions;
 
}

Для получения дополнительной информации, пожалуйста, посетите документацию WPML.

Если эта рекомендация не кажется вам актуальной, пожалуйста, откройте новый тикет в форуме поддержки WPML.

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

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

Эта тема содержит 10 ответов, имеет 2 voices.

Последнее обновление: Andrey 1 год, 9 месяцев назад.

При содействии: Andrey.

Автор Сообщения
30 ноября, 2023 в 6:40 пп #14966473

Вікторія Рудченко

Ajax filter returns products with a price in the original currency, not the converted one.
The price of goods is indicated in dollars. The default language is Ukrainian and for the Ukrainian version of the site the price of the product is converted into hryvnia.
When using the Ajax filter on the store page (Ukrainian version of the page), product prices are displayed in dollars, but should be in hryvnia. Help me please!

30 ноября, 2023 в 7:51 пп #14967153

Andrey
Сторонник WPML с 06/2013

Языки: Английский (English ) Русский (Русский )

Часовой пояс: Europe/Kyiv (GMT+03:00)

Не могли бы Вы обновить плагин WPML до последней версии 4.6.8 и его дополнения, чтобы воспользоваться последними исправлениями и улучшениями? Это может не обязательно решить проблему, однако, чтобы решить ее лучше всего, работать с последними доступными версиями плагинов.

Вы можете проверить последние выпущенные версии в разделе «Моя учетная запись -> Загрузки» на этом сайте. Инструкции по обновлению можно найти здесь: http://wpml.org/faq/install-wpml/

Убедитесь также обновить WooCommerce Multilingual & Multicurrency плагин.

Пожалуйста, не забудьте сделать резервную копию Вашей базы данных, прежде чем продолжить! Вы можете использовать плагин для этого, если хотите (к примеру: http://wordpress.org/plugins/duplicator/)

Дайте мне знать, если проблема не исчезнет после обновления. Загрузите скриншоты, чтобы лучше понять проблему.

4 декабря, 2023 в 9:10 дп #14983523

Вікторія Рудченко

проблема не исчезла после обновления плагина!

shop-ua.jpg
shop-ua-after-submit.jpg
4 декабря, 2023 в 10:00 дп #14984349

Andrey
Сторонник WPML с 06/2013

Языки: Английский (English ) Русский (Русский )

Часовой пояс: Europe/Kyiv (GMT+03:00)

Существует эта проблема, если временно отключить все плагины кроме WPML, WooCommerce и WooCommerce Multilingual & Multicurrency?

Проверьте, если активирована опция "Language filtering for AJAX operations" в WPML → Languages.

https://wpml.org/documentation/getting-started-guide/language-setup/enabling-language-cookie-to-support-ajax-filtering/

4 декабря, 2023 в 8:40 пп #14991403

Вікторія Рудченко

отключение всех плагинов не помогает. Опция была активирована и ранее

Screenshot_2.jpg
5 декабря, 2023 в 8:54 пп #15002697

Andrey
Сторонник WPML с 06/2013

Языки: Английский (English ) Русский (Русский )

Часовой пояс: Europe/Kyiv (GMT+03:00)

Мне нужно запросить временный доступ (WP-администратора и FTP) на Ваш сайт - предпочтительно к тестовому сайту, где проблема была воспроизведена, если это возможно - для того, чтобы лучше помочь. Вы найдете необходимые поля ниже поля для комментариев, когда Вы войдете, чтобы оставить свой следующий ответ. Информацию, которую Вы ведете является частной, что означает только Вы и я могу видеть и иметь доступ к ней.

6 декабря, 2023 в 9:08 дп #15005033

Andrey
Сторонник WPML с 06/2013

Языки: Английский (English ) Русский (Русский )

Часовой пояс: Europe/Kyiv (GMT+03:00)

Доступы которые Вы предоставили, не дают возможности зайти в админ панель. Не могли бы проверить?

6 декабря, 2023 в 11:25 дп #15007031

Вікторія Рудченко

прошу прощения. Ошиблась в пароле. Пароль исправлен в предыдущем сообщении

6 декабря, 2023 в 2:38 пп #15008875

Andrey
Сторонник WPML с 06/2013

Языки: Английский (English ) Русский (Русский )

Часовой пояс: Europe/Kyiv (GMT+03:00)

Спасибо за апдейт. Проверив Ваш сайт, я не вижу явной причины проблемы.

Мне нужно больше информации о том, как Вы добавили Ajax filter? И как добавили блок категорий на страницу магазина? Правильно ли я понимаю, что проблема не возникает с любой темой по умолчанию, типа Storefront?

6 декабря, 2023 в 3:42 пп #15009615

Вікторія Рудченко

это маленький кастомный фильтр, все строки кода прописаны в файле functions.php. Но та же проблема наблюдалась и с плагинами фильтров, которые поддерживают аякс. Цена отображалась неверно относительно языка при фильтрации

7 декабря, 2023 в 3:22 пп #15018309

Andrey
Сторонник WPML с 06/2013

Языки: Английский (English ) Русский (Русский )

Часовой пояс: Europe/Kyiv (GMT+03:00)

Я примерно так и понял, что это кастомная фильтрация. С плагинами фильтрации, если он совместим c WPML, такой проблемы возникать не должно, так как это предусмотрено.

Вам необходимо сделать также и для этого использовать дополнительный фильтр "'wcml_multi_currency_ajax_actions'".

Пример:

/**
 * Add this code to the functions.php file of your theme.
 */
add_filter( 'wcml_multi_currency_ajax_actions', 'add_action_to_multi_currency_ajax', 10, 1 );
 
function add_action_to_multi_currency_ajax( $ajax_actions ) {
 
    $ajax_actions[] = 'ux_quickview'; // Add a AJAX action to the array
    return $ajax_actions;
 
}

Больше информации: https://wpml.org/wcml-hook/wcml_multi_currency_ajax_actions/