Thread Starter
Ne01eX
(@ne01ex)
Немножко еще досмотрел, плагин Market Exporter берет аукционную цену без учета курса, а основную цену тянет нормально! Надо исправить чтоб он аукционную цену тянул уже с уметём курса валют!
Thread Starter
Ne01eX
(@ne01ex)
@ne01ex,
Правильно ли я понял, что если в выгрузке два элемента – price и oldprice, то тогда price задается неверно? Вы можете попробовать в файле wp-content/plugins/market-exporter/includes/class-attributes.php
в функции get_price()
(примерно на строчке 110) добавить edit
в функцию get_sale_price()
:
$yml = $this->add_child( 'price', $offer->get_sale_price( 'edit' ) );
С уважением,
Антон
Thread Starter
Ne01eX
(@ne01ex)
Спасибо за ответ! Изменения не помогли! Более детально распишу проблему!
Раньше тянуло две цены по курсу, получалось так 2500 и 2545. Где 2500 цена со скидкой, а 2545 старая цена. И так подтягивало везде куда я выгружал.
А сейчас тянет 254 и 2545, тоесть 254 это цена без курса со скидкой.
PS: Все случилось после обновления плагина, я его давно не обновлял потому что все работало. Хостер написал что в сайте уже много уязвимостей и надо все обновить! Обновил, и появилась такая проблема! Спасибо Вам! Надеюсь все решится!
@ne01ex,
А какая до этого версия была? Может у Вас были какие-то правки в коде плагина? Потому что функционал с ценами не менялся последние несколько лет
С уважением,
Антон
Thread Starter
Ne01eX
(@ne01ex)
Я и не обновлял несколько лет, чтоб ничего не слетело, версия была 2.0.15
Thread Starter
Ne01eX
(@ne01ex)
И еще несколько лет назад Вы советовали такое решение по округлению копеек сейчас также не работает, подскажете как исправить! Спасибо!
@ne01ex, плагин берет цены напрямую через функционал WooCommerce. Скорее всего, проблема в функционале курсов валют. Какой у Вас плагин управляет курсами?
На счет округления – это работает только для цен без скидки, потому что со скидкой некоторые парсеры требуют точность до копейки.
С уважением,
Антон
Ну да, как я и предполагал, в плагине с курсами нет поддержки скидок. В файле /wp-content/plugins/exchange-rates-today/exchange-rates-today.php
на строчке 19 перед:
add_filter('woocommerce_product_get_price', 'custom_price', 99, 2 );
добавьте:
add_filter( 'woocommerce_product_get_sale_price', 'custom_price', 99, 2 );
С уважением,
Антон
Thread Starter
Ne01eX
(@ne01ex)
Ура! Все работает! Спасибо большое за решение!
Thread Starter
Ne01eX
(@ne01ex)
Скажите еще, а к товарам с кидкой есть хуки для округления цены без копеек?
Thread Starter
Ne01eX
(@ne01ex)
У обычных товаров появилась скидка с такой же стоимостью как сам товар пример https://mebel-trade.com.ua/shop/stul-cd-63/
Думаю, что теперь где-то на теме стоял фильтр, который исправлял проблему с ценой. Попробуйте тогда заменить:
add_filter( 'woocommerce_product_get_sale_price', 'custom_price', 99, 2 );
вот на такой код:
if ( isset( $_REQUEST['rest_route'] ) && '/market-exporter/v1/generate' === $_REQUEST['rest_route'] ) {
add_filter( 'woocommerce_product_get_sale_price', 'custom_price', 99, 2 );
}