我很难理解Woocommerce Flow中的一个奇怪的东西。最近我已经将WPML和Woocommerce多语言插件安装到我的电子商店,从那时起,属性slug打印在新的订单确认电子邮件和感谢页面上(产品详细信息表)。
我在class-wc-order-item-meta.php第142行发现了这个问题
return apply_filters( 'woocommerce_order_items_meta_get_formatted', $formatted_meta, $this );
在函数流程之后,我看到$ formatted_meta变量具有正确的格式化值,但在应用过滤器后,将返回一个带有slug的数组,而不是名称。
过滤开:
[20956]=>
array(3) {
["key"]=>
string(7) "pa_size"
["label"]=>
string(14) "Μέγεθος"
["value"]=>
string(7) "onesize"
}
}
过滤关闭
[20956]=>
array(3) {
["key"]=>
string(7) "pa_size"
["label"]=>
string(14) "Μέγεθος"
["value"]=>
string(8) "ONE SIZE"
}
这个变化似乎并没有影响到过程中的任何内容,但我很想知道为什么会发生这种情况,我无法发现过滤器执行其操作的源代码。 我的网站使用Wordpress 4.6和Woocoomerce 2.6.3
答案 0 :(得分:0)
此过滤器在\WCML_Emails::init
中定义,是Woocommerce Multilingual的一部分。它返回已翻译的元数据,因此如果您将此一个尺寸翻译为一个尺寸,则可能是原因。