Użyte kupony na liście zamówień w adminie

Dla sklepu internetowego, który sporą część swojej polityki sprzedaży opiera na kuponach rabatowych, pojawia się pewna niedogodność. Otóż użyty kupon można zobaczyć dopiero wchodząc w edycję zamówienia. Nawet są jakieś wtyczki pozwalające wyświetlić kupon na szybkim podglądzie zamówienia. Ale wydawanie 100$ na coś co i tak nie spełnia moich oczekiwań wydaje się być głupie. Lepiej poświęcić kilkanaście minut i napisać samemu kod 🙂
Użyjemy do tego filtra 'manage_edit-shop_order_columns.

//dodamy nową kolumnę w liście zamówień woocommerce
add_filter( 'manage_edit-shop_order_columns', 'gc_new_kupony_column' );

function gc_new_kupony_column( $columns ) {
	$reordered_columns = array();
	foreach( $columns as $key => $column){
        $reordered_columns[$key] = $column;
        if( $key ==  'order_total' ){
            $reordered_columns['kupony_column'] = 'Kupony';
        }
    }
    return $reordered_columns;
}

//teraz w nowo utworzonej kolumnie wyświetlimy użyty kupon
add_action( 'manage_shop_order_posts_custom_column' , 'custom_orders_list_column_content', 20, 2 );
function custom_orders_list_column_content( $column, $post_id )
{
    switch ( $column )
    {
        case 'kupony_column' :
            
				$order    = wc_get_order( $post_id );
				$coupons  = $order->get_used_coupons();
				//w naszym sklepie z założenia nie można łączyć kuponów więc wiem, że będzie tylko jeden
				echo $coupons[0];
            break;
    }
}

I tyle. Teraz na liście zamówień pojawia się kolumna, w której wyświetlamy kod użytego kuponu.

Przewijanie do góry