【问题标题】:WooCommerce display used coupon in order emailWooCommerce 在订单电子邮件中显示使用的优惠券
【发布时间】:2020-07-28 16:19:42
【问题描述】:

我有一个显示已用优惠券的代码:

add_action( 'woocommerce_email_after_order_table', 'add_payment_method_to_admin_new_order', 15, 2 );
function add_payment_method_to_admin_new_order( $order, $is_admin_email ) {

        if( $order->get_used_coupons() ) {

            $coupons_count = count( $order->get_used_coupons() );
            $i = 1;
            $coupons_list = '';
            foreach( $order->get_used_coupons() as $coupon) {
                $coupons_list .=  $coupon;
                if( $i < $coupons_count )
                    $coupons_list .= ', ';
                $i++;
            }
            echo '<p></p>';
            echo '<p><strong>Купон:</strong> ' . $coupons_list . '</p>';

        } // endif get_used_coupons
}

以及在 WooCommerce 表格行中显示信息的代码:

add_filter( 'woocommerce_get_order_item_totals', 'bbloomer_add_recurring_row_email', 10, 2 );
function bbloomer_add_recurring_row_email( $total_rows, $myorder_obj ) {
    $total_rows['recurr_not'] = array(
    'label' => __( 'Купон:', 'woocommerce' ),
    'value'   => 'blabla'
    );

return $total_rows;
}

如何将使用过的优惠券转移到价值字段?像这个 'value' => 'used_coupon'

【问题讨论】:

    标签: php wordpress woocommerce email-notifications coupon


    【解决方案1】:

    由于您可以访问$order,因此您可以以相同的方式应用它

    function add_payment_method_to_admin_new_order( $order, $sent_to_admin, $plain_text, $email ) {
    
        if( $order->get_used_coupons() ) {
    
            $coupons_count = count( $order->get_used_coupons() );
            $i = 1;
            $coupons_list = '';
            foreach( $order->get_used_coupons() as $coupon) {
                $coupons_list .=  $coupon;
                if( $i < $coupons_count )
                    $coupons_list .= ', ';
                $i++;
            }
            echo '<p></p>';
            echo '<p><strong>Купон:</strong> ' . $coupons_list . '</p>';
    
        } // endif get_used_coupons
    }
    add_action( 'woocommerce_email_after_order_table', 'add_payment_method_to_admin_new_order', 10, 4 );
    
    function bbloomer_add_recurring_row_email( $total_rows, $order, $tax_display ) {
    
        if( $order->get_used_coupons() ) {
            $coupons_count = count( $order->get_used_coupons() );
            $i = 1;
            $coupons_list = '';
            foreach( $order->get_used_coupons() as $coupon) {
                $coupons_list .=  $coupon;
                if( $i < $coupons_count ) {
                    $coupons_list .= ', ';
                    $i++;
                }
            }
    
            $total_rows['recurr_not'] = array(
                'label' => __( 'Купон:', 'woocommerce' ),
                'value'   => $coupons_list,
            );
        }   
    
        return $total_rows;
    }
    add_filter( 'woocommerce_get_order_item_totals', 'bbloomer_add_recurring_row_email', 10, 3 );
    

    【讨论】:

      猜你喜欢
      • 2020-09-18
      • 2019-07-21
      • 2020-11-24
      • 1970-01-01
      • 1970-01-01
      • 2016-12-22
      • 2021-04-15
      • 1970-01-01
      • 2015-03-17
      相关资源
      最近更新 更多