แจกของฟรี
Website => WordPress => WordPress Plugin => ข้อความที่เริ่มโดย: 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 ออก ผมก็ใส่เฉพาะโค้ดนี้ครับ
<?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)