Фильтр, который вы хотите использовать: woocommerce_order_item_display_meta_value
.Он принимает 3 параметра, а третий - объект доставки в том месте, где вы надеетесь подключиться. Вы проверяете, что его тип равен 'shipping'
, чтобы убедиться, что вы не изменяете другие области.Затем вы должны получить родительский объект заказа, получить из него объекты элементов заказа и просмотреть их, чтобы создать строку вывода.
add_filter( 'woocommerce_order_item_display_meta_value', 'filter_order_item_display_meta_value', 10, 3 );
function filter_order_item_display_meta_value( $meta_value, $meta_object, $order_item ) {
if ( is_admin() && $order_item->is_type('shipping') ) {
$meta_values = [];
$order = $order_item->get_order();
$order_items = $order->get_items();
foreach( $order_items as $order_item ){
$quantity = $order_item->get_quantity();
$product = $order_item->get_product();
$sku = $product->get_sku();
$name = $product->get_name();
if( $sku ) {
$meta_values[] = $sku . ' × ' . $quantity;
} else {
$meta_values[] = $name . ' × ' . $quantity;
}
}
return implode( ', ', $meta_values );
}
return $meta_value;
}