1
Dec

ลบช่องที่ไม่ต้องการออกจากหน้า check out ของ Woocommerce

Category: Blog / 352 views

ช่วงนี้ผมทำโปรเจ็คเกี่ยวกับระบบขายของออนไลน์เยอะมากเลยครับ และแน่นอน สาวก WordPress อย่างผม ก็ต้องนำ Woocommerce ปลักอินอภิมหาเทพ มาใช้ในการพัฒนาเว็บอยู่แล้วแหละครับ และในแต่ละครั้งที่ทำงาน มันจะมี Requirement บางอย่างเพิ่มเติมเข้ามา ผมก็จะจดๆ ไว้ว่ามีอะไรบ้างและแก้ไขอย่างไร วันนี้ผมเลยอยากจะมานำเสนอเกี่ยวกับการลบฟิลด์ที่ไม่ต้องการออกจากหน้า Check Out ครับ

form

Woocommerce นั้น เมื่อเราสั่งซื้อสินค้า และคลิกไปยังหน้าชำระเงิน มันจะมีช่องให้เรากรอกข้อมูลมากมายเลยครับ ซึ่งจริงๆมันก็เป็นสิ่งที่สำคัญในการสั่งซื้อ เช่นสำหรับออกใบเสร็จ อะไรประมาณนั้น  แต่ก็ไม่ใช่ว่าทุกเว็บขายของ เราจะอยากให้ลูกค้ากรอกข้อมูลเยอะๆหรอกนะครับ  เช่น เว็บบางเว็บ ไม่ได้มีการออกแบบใบเสร็จ อยากให้กรอกแค่ชื่อ อีเมล เบอร์โทร ก็จบ ดังนั้น ประเด็นคือ ทำอย่างไร ถึงจะลบไอ้ช่องต่างๆที่มันมีให้ออกไปหละ?

sciscor

วิธีการแก้ปัญหานี้ไม่ยากเลยครับ โดยวิธีการลบออก เราเรียกว่าการ unset ครับ

ให้เราเปิดไฟล์ functions.php ในธีมของเราขึ้นมาครับ

https://gist.github.com/jgalea/5884548

แล้วให้เราใส่คำสั่งด้านบนนี้ลงไปครับ อยากจะลบอันไหนก็ unset ออกให้หมด (โค้ดทั้งหมดนี้คือลบทุกฟิลด์ครับ อยากจะเก็บตัวไหนไว้ ก็ลบบรรทัดนั้นออกนะครับ) ยกตัวอย่าง ผมอยากลบ company, address1 ,address 2 ออก ผมก็ใส่เฉพาะโค้ดนี้ครับ


<?php
 
add_filter( 'woocommerce_checkout_fields' , 'custom_override_checkout_fields' );
 
function custom_override_checkout_fields( $fields ) {
 unset($fields['billing']['billing_company']);
 unset($fields['billing']['billing_address_1']);
 unset($fields['billing']['billing_address_2']);
 return $fields;
}
?>

นี่แหละครับ วิธีการแก้ไข ง่ายมากๆเลยครับ ยังไงก็ลองนำไปใช้ดูนะครับ


Phraisohn Siripool is a Graphic Designer and Website Developer. Contact Buksohn for Your Business Endeavours