แจกของฟรี

Website => WordPress => WordPress Plugin => ข้อความที่เริ่มโดย: smf ที่ 8 กันยายน 2016, 17:35:49

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

(https://www.buksohn.com/wp-content/uploads/2015/12/form-580x387.jpg) (https://www.buksohn.com/wp-content/uploads/2015/12/form-580x387.jpg)

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

วิธีการแก้ปัญหานี้ไม่ยากเลยครับ โดยวิธีการลบออก เราเรียกว่าการ unset ครับ
ให้เราเปิดไฟล์ functions.php ในธีมของเราขึ้นมาครับ
https://gist.github.com/jgalea/5884548 (http://pordoo.com/go.php?url=https://gist.github.com/jgalea/5884548)
แล้ว ให้เราใส่คำสั่งด้านบนนี้ลงไปครับ อยากจะลบอันไหนก็ unset ออกให้หมด (โค้ดทั้งหมดนี้คือลบทุกฟิลด์ครับ อยากจะเก็บตัวไหนไว้ ก็ลบบรรทัดนั้นออกนะครับ) ยกตัวอย่าง ผมอยากลบ company, address1 ,address 2 ออก ผมก็ใส่เฉพาะโค้ดนี้ครับ

โค๊ด: [Select]
<?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;}?>

ที่มา: https://www.buksohn.com/remove-fields-from-check-out-page-of-woocommerce.html (http://pordoo.com/go.php?url=https://www.buksohn.com/remove-fields-from-check-out-page-of-woocommerce.html)