2
在WooCommerce,我試圖找出如何刪除()
,如果訂單行項目名稱有那些括號。隨着woocommerce_order_get_items過濾器鉤操縱項目名稱
下面是一些代碼:
$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()
電話?
感謝
你好,我錯過了那部分。我正在檢查/wp-content/plugins/woocommerce/includes/abstracts/abstract-wc-order.php第1229行,但沒有注意到$ items [$ item-> order_item_id] ['name']。謝謝! – Granit