通过SQL查询在WooCommerce中更改订单货币

时间:2019-05-10 09:14:40

标签: php mysql sql wordpress woocommerce

我没有什么可以开始的,只是我被卡住了。我通过外部服务将 Ecwid 商店迁移到 Woocommerce (与他们的支持进行了数小时的交谈,他们否认这是他们的错)。

顺其自然,原始商店和新商店的商店货币为欧元(启用了多货币),但所有导入的订单都显示在 USD ,它表示订单是以 USD 进行的,有一种方法可以通过MySql或通过函数将所有过去的订单更改为欧元,我已经搜索了很长一段时间,我发现所有关于要下订单或多币种问题。由于用于税收的外部软件,更改订单货币至关重要。

任何帮助将不胜感激

2 个答案:

答案 0 :(得分:1)

使用WordPress类WPDB,您可以运行简单的SQL查询,以将所有相关订单货币从“ USD”更改为“ EUR”。

始终始终进行数据库备份。

将此代码粘贴到您的活动子主题(或活动主题)function.php文件中:

// Simple SQL query in a function
function change_orders_currency_from_usd_to_eur(){
    global $wpdb;

    $wpdb->query( "
        UPDATE {$wpdb->prefix}postmeta
        SET meta_value = 'EUR'
        WHERE meta_key = '_order_currency'
        AND meta_value = 'USD'
    " );
}
// Run the function
change_orders_currency_from_usd_to_eur();

您将使用并运行以下代码一次,浏览网站的任何页面。


或者您可以直接从phpMyAdmin运行此SQL查询:

UPDATE wp_postmeta
SET meta_value = 'EUR'
WHERE meta_key = '_order_currency'
AND meta_value = 'USD'

经过测试并可以正常工作。

答案 1 :(得分:0)

如果订单值正确且未转换,则看起来仅是显示问题。这意味着更新某些设置或更新一些html文件或模板。

如果订单值不正确,则需要在数据库中找到存储这些值(或源自这些值)的表。订单总数有时只是订单行的总和。找到后,您需要在受影响的行上运行更新查询以转换货币。