禁用WPML多货币后,货币仍由WPML处理

时间:2016-11-27 作者:user782104

我使用WPML多货币已经有一段时间了,但最近我关闭了它并使用了其他货币插件。

大部分金额已正确换算,但有些金额即使在我换成另一种货币后仍保持默认货币:

1) Woocommerce预订插件的预订成本

2) 额外选项插件的额外选项成本和总成本

该金额是使用AJAX从以下操作中获得的:

1) wc\\u bookings\\u calculate\\u成本

2) tc\\U epo\\U预订\\U计算\\U成本

经过一些研究,我发现金额计算为:

wp内容/插件/woocommerce多语言/兼容性/wcml类预订。php

代码:https://github.com/wp-premium/woocommerce-multilingual/blob/master/compatibility/class-wcml-bookings.php (wc\\u bookings\\u calculate\\u costs参考第163行,并转到第731行的filter\\u wc\\u booking\\u cost函数)

所以,这很奇怪,因为我已经在WPML设置中禁用了多货币。

我怀疑在某些地方,代码仍然指向WPML货币,如何修复?

谢谢你的帮助。

2 个回复
SO网友:Benoti

首先,我只使用了一次WPML,我真的不喜欢它。

我突然想到,你可能会在wp-content/languages/woocommerce-multilingual/ 或wpml一个。我在一个thread

访问WPML>主题和插件本地化>选择“使用翻译”。选择“自动加载主题”。mo文件使用“load\\u theme\\u textdomain”。>进入textdomain>Save(文本域>保存)wordpress和admin(管理)屏幕的翻译将放在wp内容/语言中-在此处下载这些文件:http://wpcentral.io/internationalization/

  • 您的主题语言应放在主题/awr主题/语言/目录中。最后,此文件的命名必须与您网站上设置的语言选项相匹配。如果在中使用西班牙语而不更改语言环境设置,则WPML将关联es\\U es。如果访问WPML>语言>站点语言>编辑语言,则可以查看这些选项
  • 为什么不呢,这将解释这种鬼插件行为!?作为woocommerce多语言兼容性检查其他插件选项。。。添加一些可以理解的自定义模板文件,翻译字符串。

    取决于您如何停用(和删除?)插件,是否有可能多币种插件的一些选项设置仍保留在您的安装中?

    您确定没有任何代码(您的或其他插件或主题)调用class-wcml-bookings.php 直接(没有is\\u plugin\\u active()),并通过这种方式重新激活一些操作和过滤器?但我真的很怀疑这个事实,因为类不是初始化的,所以所有的过滤器引用都将被破坏。

    如果我错了,关于你说的过滤器,第163行

    add_filter( \'get_post_metadata\', array( $this, \'filter_wc_booking_cost\' ), 10, 4 );
    
    您是否尝试用删除它remove_filter() ?

    remove_filter(\'get_post_metadata\', 10, 4);
    
    写这篇文章时,我更倾向于采用生产订单方式,而不是过滤方式。

    希望有帮助!

    SO网友:Daniel Mulder

    在你破坏你的自我检查之前,请检查你的WC设置->工具页面,首先尝试清除所有trancients并重新计算条款。WC使用trancients,有时需要清除它们。