WooCommerce отображает использованный купон в электронном письме - PullRequest
2 голосов
/ 15 апреля 2020

У меня есть код, который отображает использованный купон

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'

1 Ответ

1 голос
/ 15 апреля 2020

Поскольку у вас есть доступ к $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 );
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...