Thiết kế website Alowebtot

Gửi thông tin đơn hàng Woocommerce về Google Sheets xịn xò không cần Plugin

Leading Digital Agency Since 2001.

Bạn đang tìm cách gửi thông tin đơn hàng Woocommerce về Google Sheets ngay lập tức và có thông báo khi có đơn hàng?

Thông thường chúng ta mặc định rằng các thông tin đặt hàng sản phẩm trên website bán hàng của chúng ta sẽ về Gmail. Nhưng nó lại hay bị lỗi rằng các thông tin đó sẽ về thư mục Spam và vô tình chúng ta không biết được là có đơn hàng. Vậy là vô tình chúng ta đã mất đi 1 khách hàng và nó ảnh hưởng trực tiếp tới doanh thu của chúng ta.

Vậy nên có cách giải quyết vấn đề đó là sử dụng Plugin SMTP để cài đặt. Alowebtot cũng đã hướng dẫn cách sử dụng plugin SMTP đó.

Nhưng hôm nay mình sẽ hướng dẫn các bạn đưa thông tin đơn hàng của website chúng ta lên Google Sheets mà không cần Plugin cực kì dễ dàng nhé.

Tạo Google Form

Tước tiên các bạn vào https://docs.google.com/forms/u/0/ để tạo form như sau:

Gồm: ID, Họ và Tên, Số điện thoại, Email, Tên sản phẩm, Ghi chú, Hình thức thanh toán. Và tất cả câu trả lời đều chọn là trả lời ngắn.

Hình ảnh này chưa có thuộc tính alt; tên tệp của nó là tao-form-cau-hoi-google-476x800.jpg

Sau đó các bạn nhìn bên phải ở trên và ấn vào biểu tượng con mắt.

Hình ảnh này chưa có thuộc tính alt; tên tệp của nó là xem-form-google.jpg
Ấn vào biểu tượng con mắt khoanh đỏ
Hình ảnh này chưa có thuộc tính alt; tên tệp của nó là form-google-444x800.jpg

Tại đây chúng ta có 3 cách: ấn nút f12 hoặc Ctrl + Shift + I hoặc chuột phải > kiếm tra

Hình ảnh này chưa có thuộc tính alt; tên tệp của nó là lay-entry-1327x800.jpg

Khi đã kiểm tra và xuất hiện ra như thế này chúng ta ấn Ctrl + F viết “entry.” giống như góc dưới,

Ta sẽ tìm được 7 dòng có cấu trúc entry.16127588334

Chúng ta lưu lại 7 dòng này vào Notepad hoặc để nguyên trang này.

Các bạn nhìn lên thanh bên trên mình khoanh đó các bạn để ý đoạn mã giữa /d/e/<đoạn mã cần lấy>/viewform.

Các bạn để nguyên trang ở đây.

Giờ các bạn trở về trang có câu hỏi và chúng ta chuyển sang tab Câu trả lời và ấn vào biểu tượng Google Sheets màu xanh lá và đặt tên cho Form Google Sheets là xong.

Hình ảnh này chưa có thuộc tính alt; tên tệp của nó là cau-tra-loi-form-google.jpg

Lấy thông tin từ Woocommerce vào Form Google Sheets

Các bạn vào đường dẫn.

Giao diện > Sửa giao diện > Function.php.

add_action( 'woocommerce_thankyou', 'vka_send_order_to_google_sheets' );
function vka_send_order_to_google_sheets( $order_id ){
    $order = wc_get_order( $order_id );
    $order_data = $order->get_data();
    $customer_note = $order->get_customer_note();
    $order_id = $order_data['id'];
    $order_total = $order_data['cart_tax'];
    $order_billing_first_name = $order_data['billing']['first_name'];
    $order_billing_last_name = $order_data['billing']['last_name'];
    $order_billing_address_1 = $order_data['billing']['address_1'];
    $order_billing_email = $order_data['billing']['email'];
    $order_billing_phone = $order_data['billing']['phone'];
    $order_payment_method_title = $order_data['payment_method_title'];
    $product_detail = '';
    foreach ($order->get_items() as $item_key => $item ):
          $item_data = $item->get_data();
          $product_name = $item_data['name'];
          $quantity = $item_data['quantity'];    
          $line_total = $item_data['total'];
          $product_detail.=$product_name."(SL: ".$quantity.", Thành tiền: ".$line_total.")\n";
    endforeach;
    $fields = array(
    'entry.161275565'=>urlencode($order_id ),
    'entry.578542324'=>urlencode($order_billing_first_name.' '.$order_billing_last_name),
	'entry.17267854'=>urlencode($order_billing_phone),
    'entry.72093425'=>urlencode($order_billing_email),
    'entry.203301567'=>urlencode($product_detail),
    'entry.1792964533'=>urlencode($customer_note),
    'entry.1176564678'=>urlencode($order_payment_method_title)
    );
    foreach($fields as $key=>$value) { $fields_string .= $key.'='.$value.'&'; }
    rtrim($fields_string, '&');  
    header('Content-type: text/html; charset=UTF-8');
    $ch = curl_init();
    curl_setopt($ch, CURLOPT_ENCODING ,"UTF-8");
    $url=utf8_encode('https://docs.google.com/forms/u/0/d/e/1FAIpQLSdd9SEUaWCqhsfejguiskfhfhsjdsgd_redgsds/formResponse');
    curl_setopt($ch,CURLOPT_URL, $url);
    curl_setopt($ch,CURLOPT_POST, count($fields));
    curl_setopt($ch,CURLOPT_POSTFIELDS, $fields_string);
    curl_setopt($ch,CURLOPT_HEADER, 1);
    curl_setopt($ch,CURLOPT_RETURNTRANSFER,true);
    $result = curl_exec($ch);
    curl_close($ch);
}

Và dán đoạn code này vào nhé:

Nếu các bạn có đặt hàng theo quận huyện thì có thể thêm đoạn code này vào nhé.

    $address = str_replace( ' - - ', "", str_replace( array('<br/>', $order_billing_first_name , $order_billing_last_name ), " - ", $order->get_formatted_billing_address() ) );

'entry.377274404'=>urlencode($address),

Các bạn chú ý ở đoạn code này có phần ‘entry.161275565’ các bạn chuyển sang tab mà chúng ta Kiểm tra ở phần trên để dán 7 đoạn tương ứng mà mình đã bảo các bạn lưu hoặc bên trang các bạn chưa tắt nhé.

Tiếp theo các bạn thay thế đoạn 1FAIpQLSdd9SEUaWCqhsfejguiskfhfhsjdsgd_redgsds bên trên thành đoạn code mà mình đã bảo bạn chú ý bên trên nhé.

Thông báo về email khi có đơn hàng.

Bạn vào Google Sheets chọn Công cụ > Quy tắc thông báo > Thêm thông báo.

Hình ảnh này chưa có thuộc tính alt; tên tệp của nó là google-sheet-thong-bao.jpg

Chọn như hình

Hình ảnh này chưa có thuộc tính alt; tên tệp của nó là thiet-lap-quy-tac-thong-bao.jpg

Vậy là xong rồi, các bạn ấn Lưu và đặt hàng thử nhé!

Trên đây mình hướng dẫn các bạn cách có thể lấy thông tin đơn hàng Woocommerce về Google Sheets không cần SMTP và Plugin cực kì dễ dàng và trực quan cho tất cả mọi người.

Chúc mọi người thành công và một ngày mới tốt lành

Trả lời

Email của bạn sẽ không được hiển thị công khai. Các trường bắt buộc được đánh dấu *