Bổ sung SKU và tên sản phẩm vào trang Order của Woocommerce

Mặc định trong Woo sẽ chỉ có 1 số trường trong trang Order. Giả sử muốn hiện ra được SKU của sản phẩm hoặc tên sản phẩm đặt hàng thì cần bổ sung code vào trong file functions.php của theme:

Đoạn code dưới đây là 1 ví dụ về việc thêm SKU và tên sản phẩm đặt hàng vào trong đơn hàng

// Thêm SKU và Tên sản phẩm order
add_filter( 'manage_woocommerce_page_wc-orders_columns', 'add_wc_order_list_custom_column' );
function add_wc_order_list_custom_column( $columns ) {
    $reordered_columns = array();

    // Chèn column
    foreach( $columns as $key => $column){
        $reordered_columns[$key] = $column;

        if( $key ===  'order_status' ){
			
            // Chèn vào sau cột "Status"
            $reordered_columns['my-column1'] = __( 'SKU','theme_domain'); // Bổ sung SKU
            $reordered_columns['my-column2'] = __( 'SP đặt hàng','theme_domain'); //Tên sản phẩm đặt hàng
			
        }
		
    }
    return $reordered_columns;
}
//Hiển thị ra ngoài dashboard
add_action('manage_woocommerce_page_wc-orders_custom_column', 'display_wc_order_list_custom_column_content', 10, 2);
function display_wc_order_list_custom_column_content( $column, $order ){
    switch ( $column )
    {
        case 'my-column1' :
            // Lấy chi tiết đơn hàng
            $items = $order->get_items();
            foreach ( $items as $item ) {
                $_product = $order->get_product_from_item( $item );
                echo $_product->get_sku() . '<br/>';
            }
            break;

        case 'my-column2' :
            // Lấy chi tiết đơn hàng
            $items = $order->get_items();
            foreach ( $items as $item ) {
                $_product = $order->get_product_from_item( $item );
                echo $_product->get_name() . '<br/>';
            }
            break;
		
    }
}

 

Hello, các bài viết ở đây là những gì mình đang làm và gặp phải. Không chia sẻ thì sợ quên. Nên mình note ra đây thui ^^

Leave a reply:

Your email address will not be published.

Site Footer