039 4321 444
039 4321 444
0335006543
0335006543
1 Donate cho em ly cafe được hông ^^

[Hướng dẫn] Thay Đổi Email Thành Số Điện Thoại Tracking Đơn Hàng Woocommerce

Thay Đổi Email Thành Số Điện Thoại Tracking Đơn Hàng Woocommerce

[Hướng dẫn] Thay Đổi Email Thành Số Điện Thoại Tracking Đơn Hàng Woocommerce

Theo mặc định form tracking đơn hàng woocommerce sẽ có 2 trường dữ liệu là ID đơn hàng và Email. Có nhiều trường hợp khách đặt hàng nhập email ảo dẫn đến việc khi muốn kiểm tra đơn hàng bị quên không nhớ email nên không tracking được hoặc vì một nguyên nhân nào đó khách không thể truy cập email nữa cũng khó có thể tracking.

Nhiều bạn muốn thay thế trường email bằng số điện thoại để tracking cho tiện nên hôm nay Flatsomea-z sẽ hướng dẫn các bạn làm điều đó một cách thủ công chút để các bạn tham khảo.

Trong group Flatsome Việt Nam có bác Lê Văn Thắng bán Plugin Tracking đơn hàng bằng số điện thoại Có gửi mã OTP nên nếu có điều kiện các bạn có thể ủng hộ bác ấy. Theo đánh giá của Flatsomea-z thì đó là plugin khá nhẹ và tiện.

Thay Đổi Email Thành Số Điện Thoại Tracking Đơn Hàng Woocommerce
Thay Đổi Email Thành Số Điện Thoại Tracking Đơn Hàng Woocommerce

Bước 1: Sửa File class-wc-shortcode-order-tracking.php

Các bạn truy cập theo đường dẫn: wp-content/plugins/woocommerce/includes/shortcodes/class-wc-shortcode-order-tracking.php và tìm đoạn sau: if ( isset( $_REQUEST[‘orderid’] )

Xoá từ đó đến hết và thay bằng đoạn code này:

if ( isset( $_REQUEST['orderid'] ) && wp_verify_nonce( $nonce_value, 'woocommerce-order_tracking' ) ) { // WPCS: input var ok.

$order_id = empty( $_REQUEST['orderid'] ) ? 0 : ltrim( wc_clean( wp_unslash( $_REQUEST['orderid'] ) ), '#' ); // WPCS: input var ok.
$order_phone = empty( $_REQUEST['order_phone'] ) ? '' : ( wc_sanitize_phone_number( $_REQUEST['order_phone'] ) ); // WPCS: input var ok.

if ( ! $order_id ) {
wc_print_notice( __( 'Please enter a valid order ID', 'woocommerce' ), 'error' );
} elseif ( ! $order_phone ) {
wc_print_notice( __( 'Please enter a valid phone number', 'woocommerce' ), 'error' );
} else {
$order = wc_get_order( apply_filters( 'woocommerce_shortcode_order_tracking_order_id', $order_id ) );

if ( $order && $order->get_id() && wc_sanitize_phone_number( $order->get_billing_phone() ) === $order_phone ) {
do_action( 'woocommerce_track_order', $order->get_id() );
wc_get_template(
'order/tracking.php',
array(
'order' => $order,
)
);
return;
} else {
wc_print_notice( __( 'Sorry, the order could not be found. Please contact us if you are having difficulty finding your order details.', 'woocommerce' ), 'error' );
}
}
}
wc_get_template( 'order/form-tracking.php' );
}
}

Bước 2: Sửa File form-tracking.php

Các bạn truy cập theo đường dẫn: wp-content/plugins/woocommerce/templates/order/form-tracking.php và tìm đoạn sau: <p class=”form-row form-row-last”>. Thay thế cả đoạn đó bằng đoạn code sau:

<p class="form-row form-row-last"><label for="order_phone"><?php esc_html_e( 'Số điện thoại đặt hàng', 'woocommerce' ); ?></label> <input class="input-text" type="text" name="order_phone" id="order_phone" value="<?php echo isset( $_REQUEST['order_phone'] ) ? esc_attr( wc_sanitize_phone_number( $_REQUEST['order_phone'] ) ) : ''; ?>" placeholder="<?php esc_attr_e( 'Nhập số điện thoại khi thanh toán', 'woocommerce' ); ?>" /></p><?php // @codingStandardsIgnoreLine ?>

Nếu update theme thì chịu khó lại làm lại 2 bước kia nhé! :v

Đã test và thành công! Chúc các bạn thành công.

Trả lời

Email của bạn sẽ không được hiển thị công khai.