// 为 Legacy CPT-based 订单添加自定义列
add_filter('manage_edit-shop_order_columns', 'wprs_add_custom_order_columns');
// 为 HPOS-based 订单添加自定义列
add_filter('manage_woocommerce_page_wc-orders_columns', 'wprs_add_custom_order_columns');
function wprs_add_custom_order_columns($columns) {
// 在“总计”列之前添加自定义列
$columns = array_slice($columns, 0, 4, true) // 4 列之前
+ array(
'order_products' => __('购买产品', 'woocommerce') // 自定义列标题
)
+ array_slice($columns, 4, NULL, true);
return $columns;
}
// 为 Legacy CPT-based 订单显示自定义列数据
add_action('manage_shop_order_posts_custom_column', 'wprs_populate_custom_order_columns', 25, 2);
// 为 HPOS-based 订单显示自定义列数据
add_action('manage_woocommerce_page_wc-orders_custom_column', 'wprs_populate_custom_order_columns', 25, 2);
function wprs_populate_custom_order_columns($column_name, $order_or_order_id) {
// 兼容 Legacy CPT-based 订单
$order = $order_or_order_id instanceof WC_Order ? $order_or_order_id : wc_get_order($order_or_order_id);
if ('order_products' === $column_name) {
$items = $order->get_items();
if (!is_wp_error($items)) {
foreach ($items as $item_id => $item) {
echo esc_html($item->get_quantity()) . ' × <a href="' . esc_url(get_edit_post_link($item->get_product_id())) . '" rel="external nofollow" >' . esc_html($item->get_name()) . '</a><br />';
}
}
}
}
还没有评论呢,快来抢沙发~