【问题标题】:Change Orders Currency in WooCommerce via a SQL query通过 SQL 查询更改 WooCommerce 中的订单货币
【发布时间】:2019-05-10 09:14:39
【问题描述】:

我没有什么要开始的,只有我被困住了。我通过外部服务将 Ecwid 商店迁移到 Woocommerce(与他们的支持人员谈了几个小时,他们否认这是他们的错)。

让我们切入正题,原始商店和新商店的商店货币是欧元no启用多币种),但所有导入的订单都显示在USD,它说订单是 USD,有没有办法通过MySql 或通过函数将所有过去的订单更改为欧元,我搜索了很长时间时间和我发现的只是关于要下订单或多币种问题。由于用于税收的外部软件,更改订单货币至关重要。

任何帮助将不胜感激

【问题讨论】:

  • 如果您需要将所有价格从一种货币转换为另一种货币,这似乎非常复杂(真正的噩梦)。现在,如果您只需要更改货币而不进行价格转换,那非常容易
  • 我只需要将它们转换成另一种货币,无需任何转换。我通过 CSV Ex- 和 Import 实现了它。但是应该可以通过 mySQL 我想我只是在 mySQL 中没有那么熟练并且找不到信息的存储位置
  • 好的,在这种情况下,我已经回答了,你会发现这很简单。

标签: php mysql sql wordpress woocommerce


【解决方案1】:

使用 WordPress 类 WPDB 将允许您运行一个简单的 SQL 查询来将所有相关的订单货币从“美元”更改为“欧元”。

之前总是做一个数据库备份。

将此代码粘贴到您的活动子主题(或活动主题)的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'

两者都经过测试并且可以工作。

【讨论】:

  • SQL 查询在我的客户端使用的服务器上不起作用,但 function.php 的使用就像一个魅力!
【解决方案2】:

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

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

【讨论】:

  • 订单价值是正确的,只有后端的货币是错误的,产品都是欧元,但是如果我在订单中添加一个新产品,它只会显示为美元。我似乎找不到受影响的行,因此无法进行任何更新查询(我也不太确定语法)
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2022-06-22
相关资源
最近更新 更多