สำหรับการปิดที่อยู่ใบเสร็จ (Billing Address) และที่อยู่จัดส่ง (Shipping Address) ในอีเมล Complete Order
(คำสั่งซื้อที่เสร็จสมบูรณ์แล้ว) ของ WooCommerce สามารถทำได้ 2 วิธีหลักๆ ดังนี้ครับ:
วิธีที่ 1: ใช้โค้ด PHP (แนะนำและปลอดภัยที่สุด)
วิธีนี้จะปิดการแสดงผลที่อยู่เฉพาะในอีเมลตัวที่กำหนด โดยไม่ต้องไปแก้ไฟล์ระบบของ WooCommerce ทำให้เวลาอัปเดตปลั๊กอิน
โค้ดจะไม่หายครับ ให้คุณนำโค้ดด้านล่างนี้ไปวางไว้ที่ท้ายไฟล์ functions.php ของ Theme ตัวลูก (Child Theme) ที่คุณใช้งานอยู่
หรือใช้ปลั๊กอินประเภท Code Snippets (เช่น ปลั๊กอิน Code Snippets หรือ WPCode) ในการรันโค้ดครับ:
php
add_filter( 'woocommerce_email_customer_details_fields', 'custom_remove_addresses_from_completed_email', 10, 3 );
function custom_remove_addresses_from_completed_email( $fields, $sent_to_admin, $email ) {
// ตรวจสอบว่าเป็นอีเมลคำสั่งซื้อเสร็จสมบูรณ์ (customer_completed_order) ใช่หรือไม่
if ( 'customer_completed_order' === $email->id ) {
// ลบข้อมูลที่อยู่ใบเสร็จและที่อยู่จัดส่งออก
unset( $fields['billing_address'] );
unset( $fields['shipping_address'] );
}
return $fields;
}ใช้โค้ดอย่างระมัดระวัง
วิธีที่ 2: แก้ไขโครงสร้างไฟล์เทมเพลตอีเมล (Email Template Override)
หากต้องการปรับแต่งหน้าตาอีเมลด้วยตัวเองอย่างละเอียด สามารถเข้าไปแก้ไขไฟล์ HTML ของอีเมลได้ตามขั้นตอนดังนี้:
1. ไปที่หลังบ้านของ WordPress เลือก WooCommerce > Settings (การตั้งค่า) > แท็บ Emails (อีเมล)
2. เลื่อนหาอีเมลที่ชื่อว่า Completed order (คำสั่งซื้อที่เสร็จสมบูรณ์แล้ว) แล้วคลิกปุ่ม Manage (จัดการ) ด้านขวา
3. เลื่อนลงมาด้านล่างสุดจะพบส่วน HTML template ให้คลิกปุ่ม Copy file to theme (เพื่อคัดลอกไฟล์เทมเพลตไปไว้ในโฟลเดอร์ธีมของคุณ
ป้องกันการสูญหายเมื่ออัปเดต WooCommerce)
4. ใช้โปรแกรมแก้ไขโค้ดเปิดไฟล์ตามพาธที่ระบบแสดง (ปกติจะอยู่ที่ wp-content/themes/ชื่อธีมของคุณ/woocommerce/emails/
customer-completed-order.php)
5. ค้นหาและทำเครื่องหมายคอมเมนต์ (Comment) หรือลบโค้ดบรรทัดที่เรียกแสดงผลข้อมูลลูกค้าออก ซึ่งโดยทั่วไปจะเป็นโค้ดลักษณะนี้:
php
/* ลบหรือคอมเมนต์บรรทัดนี้ออก */
do_action( 'woocommerce_email_customer_details', $order, $sent_to_admin, $plain_text, $email );ใช้โค้ดอย่างระมัดระวัง
หมายเหตุ: วิธีนี้อาจจะลบข้อมูลเบอร์โทรศัพท์หรืออีเมลของลูกค้าในอีเมลฉบับนั้นไปด้วย
หากต้องการลบเฉพาะที่อยู่ แนะนำให้ใช้วิธีที่ 1 จะตรงจุดมากกว่าครับ