【发布时间】:2017-07-17 21:34:55
【问题描述】:
在 WooCommerce 中,如果订单行项目名称带有括号,我试图弄清楚如何删除 ()。
这是一些代码:
$order = wc_get_order($order_id)
foreach ( $order->get_items() as $order_item ){
//...enter code here
}
但我想使用过滤器挂钩,因为我无法访问上面的 foreach 循环。我尝试添加到functions.php,所以当 get_items() 调用时,过滤器将准备数据数组。
代码如下:
add_filter( 'woocommerce_order_get_items', 'filter_woocommerce_order_get_items', 10, 2 );
function filter_woocommerce_order_get_items($items, $instance){
foreach ($items as $item){
$search = array('å','ä','ö','(', ')');
$replace = array('a','a','o', '', '');
$item['name'] = str_replace($search, $replace, $item['name']);
}
return $items;
}
所以,TL;DR:$order->get_items()调用时可以准备数据吗?
谢谢
【问题讨论】:
标签: php arrays wordpress woocommerce orders