首页 文章

Woocommerce过滤器返回变体属性slug而不是value

提问于
浏览
1

我很难理解Woocommerce Flow中的一个奇怪的东西 . 最近我已经将WPML和Woocommerce多语言插件安装到我的电子商店,从那时起,属性slug打印在新订单确认电子邮件和感谢页面(产品详细信息表)上 .

我在class-wc-order-item-meta.php的第142行发现了这个问题

File Source Code

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

1 回答

  • 0

    此过滤器在 \WCML_Emails::init 中定义,是Woocommerce Multilingual的一部分 . 它返回已翻译的元数据,因此如果您将此一个尺寸翻译为一个尺寸,则可能是原因 .

相关问题