【问题标题】:Display used coupons description on WooCommerce admin orders list在 WooCommerce 管理员订单列表上显示使用过的优惠券描述
【发布时间】:2022-02-12 00:54:51
【问题描述】:

我想在 WooCommerce 管理订单列表中显示已使用的优惠券以及优惠券说明。所以我使用Display used coupons on WooCommerce admin orders list答案代码并显示使用的优惠券代码,但不能包含使用的优惠券描述。

这怎么可能?

【问题讨论】:

  • 请提供足够的代码,以便其他人更好地理解或重现问题。

标签: php wordpress woocommerce backend orders


【解决方案1】:

您可以通过WC_Coupon类来获取优惠券对象,并使用$coupon->get_description()获取优惠券描述。试试下面的代码。

function woo_customer_order_coupon_column_for_orders( $columns ) {
    $new_columns = array();
    foreach ( $columns as $column_key => $column_label ) {
        if ( 'order_total' === $column_key ) {
            $new_columns['order_coupons'] = __('coupons', 'woocommerce');
        }
        $new_columns[$column_key] = $column_label;
    }
    return $new_columns;
}
add_filter( 'manage_edit-shop_order_columns', 'woo_customer_order_coupon_column_for_orders' );
        
function woo_display_customer_order_coupon_in_column_for_orders( $column ) {
    global $the_order;
    if( $column  == 'order_coupons' ) {
        if( $coupons = $the_order->get_used_coupons() ) {   
            foreach( $coupons as $coupon_code ){
                $coupon = new WC_Coupon($coupon_code);
                if( $coupon ){
                    echo "<span class='coupon-name'><b>".$coupon->code."</b></span>";
                    echo "<p class='coupon-description'>".$coupon->get_description()."</p>";
                }
            }
        } else {
            echo '<small><em>'. __('No Coupon') . '</em></small>';
        }
    }
}
add_action( 'manage_shop_order_posts_custom_column' , 'woo_display_customer_order_coupon_in_column_for_orders' );

经过测试且有效

【讨论】:

    猜你喜欢
    • 2021-04-07
    • 2015-03-17
    • 1970-01-01
    • 1970-01-01
    • 2019-03-01
    • 1970-01-01
    • 1970-01-01
    • 2021-08-25
    • 1970-01-01
    相关资源
    最近更新 更多