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.