Nội dung

Hướng dẫn thay đổi email thành số điện thoại trong theo dõi đơn hàng woocommerce

Theo mặc định, form theo dõi đơn hàng của woocommerce sẽ có 2 trường dữ liệu: ID đơn hàng và Email. Có nhiều trường hợp khách hàng nhập email ảo dẫn đến khi muốn kiểm tra đơn hàng lại quên email nên không theo dõi được hoặc vì lý do nào đó khách hàng không truy cập được email nữa rất đến việc theo dõi đơn hàng trở nên khó khăn.

tutorials change email to phone number tracking woocommerce orders SlVc

Nhiều bạn muốn thay trường email bằng số điện thoại để thuận tiện theo dõi nên hôm nay MKTShare sẽ hướng dẫn các bạn thực hiện thủ công để các bạn tham khảo.

Bước 1: Chỉnh sửa file class-wc-shortcode-order-tracking.php

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

Xóa từ đó đến cuối và thay thế bằng mã 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

Truy cập file theo đường dẫn: wp-content/plugins/woocommerce/templates/order/form-tracking.php và tìm đoạn code: <p class=”form-row form-row-last”> và thay thế toàn bộ đoạn đó bằng đoạn mã 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 ?>

Tested and successful! Good luck.