在 WooCommerce 管理订单列表上显示使用过的优惠券

问题描述

以下是订单页面打印优惠券的代码

add_filter( 'manage_edit-shop_order_columns','custom_shop_order_column',20 );
function custom_shop_order_column($columns)
{
    $reordered_columns = array();

    
    foreach( $columns as $key => $column){
        $reordered_columns[$key] = $column;
        if( $key ==  'order_status' ){
            
            $reordered_columns['Coupons'] = __( 'Coupons','theme_domain');
        }
    }
    return $reordered_columns;
}

如何打印每个用户订单的当前优惠券价值??

解决方法

使用以下内容在管理订单列表自定义列中显示使用过的优惠券代码:

// Additional custom column
add_filter( 'manage_edit-shop_order_columns','custom_shop_order_column',20 );
function custom_shop_order_column( $columns ) {
    $reordered_columns = array();

    foreach( $columns as $key => $column){
        $reordered_columns[$key] = $column;
        if( $key ==  'order_status' ){
            $reordered_columns['coupons'] = __( 'Coupons','woocommerce');
        }
    }
    return $reordered_columns;
}

// Custom column content
add_action( 'manage_shop_order_posts_custom_column','custom_shop_order_column_used_coupons' );
function custom_shop_order_column_used_coupons( $column ) {
    global $post,$the_order;

    if ( ! is_a( $the_order,'WC_Order' ) ) {
        $the_order = wc_get_order( $post->ID );
    }

    if ( 'coupons' === $column ) {
        $coupon_codes = $the_order->get_coupon_codes();
        
        if ( ! empty($coupon_codes) ) {
            echo implode(',',$coupon_codes);
        }
    }
}

代码位于活动子主题(或活动主题)的functions.php 文件中。

相关:Get coupon data from WooCommerce orders

相关问答

错误1:Request method ‘DELETE‘ not supported 错误还原:...
错误1:启动docker镜像时报错:Error response from daemon:...
错误1:private field ‘xxx‘ is never assigned 按Alt...
报错如下,通过源不能下载,最后警告pip需升级版本 Requirem...