Mặc định trong mục Order (khu vực khách hàng) của Woocommerce không hiển thị tên sản phẩm đã mua. Sẽ rất bất tiện cho khách hàng nếu đã mua nhiều sản phẩm và muốn xem lại hoặc tải lại (trường hợp này hay xảy ra nhất nếu Shop bán các sản phẩm là digital goods). Vì vậy, chúng ta cần code sau để thêm cột tên sản phẩm vào.
// Add product Name in Orders - client area
add_filter('woocommerce_create_account_default_checked', '__return_true');
add_filter( 'woocommerce_my_account_my_orders_columns', 'additional_my_account_orders_column', 10, 1 );
function additional_my_account_orders_column( $columns ) {
$new_columns = [];
foreach ( $columns as $key => $name ) {
$new_columns[ $key ] = $name;
if ( 'order-status' === $key ) {
$new_columns['order-items'] = __( 'Product | qty', 'woocommerce' );
}
}
return $new_columns;
}
add_action( 'woocommerce_my_account_my_orders_column_order-items', 'additional_my_account_orders_column_content', 10, 1 );
function additional_my_account_orders_column_content( $order ) {
$details = array();
foreach( $order->get_items() as $item )
$details[] = $item->get_name() . ' × ' . $item->get_quantity();
echo count( $details ) > 0 ? implode( '<br>', $details ) : '–';
}
// END- Add product Name in Orders - client area
Việc này nên làm để giúp khách hàng có trải nghiệm tốt hơn.