วิธีเพิ่มแบบฟอร์มในหน้าผลิตภัณฑ์ WooCommerce
เผยแพร่แล้ว: 2021-07-21คุณต้องการเพิ่มแบบฟอร์มที่กำหนดเองในหน้าผลิตภัณฑ์หรือไม่? อ่านต่อไป เนื่องจากโพสต์นี้มีจุดมุ่งหมายเพื่อมอบวิธีแก้ปัญหาให้กับคุณ
WooCommerce ยังคงขับเคลื่อนร้านค้าจำนวนมากเพราะมีความยืดหยุ่นในการปรับแต่ง ตัวอย่างเช่น คุณอาจต้องการเพิ่มข้อมูลเพิ่มเติมในหน้าผลิตภัณฑ์ของคุณ วิธีที่ดีที่สุดในการดำเนินการนี้คือการเพิ่มฟิลด์ที่กำหนดเองให้กับผลิตภัณฑ์
ฟิลด์ที่กำหนดเองยังถูกอ้างถึงเป็นเมตาของรายการ สามารถแสดงบนหน้าตะกร้าสินค้า หน้าชำระเงิน และอีเมลได้เช่นกัน เมตารายการรถเข็นคือเมื่อมีการเพิ่มข้อมูลที่รวบรวมในช่องผลิตภัณฑ์พิเศษลงในสินค้าในรถเข็นและสามารถบันทึกสำหรับการสั่งซื้อได้
ดังนั้น เราจึงต้องการโซลูชันที่จะเพิ่มฟิลด์ข้อมูลที่กำหนดเองลงในหน้าผลิตภัณฑ์และเพิ่มข้อมูลนี้ลงในเมตาของรายการรถเข็น หลังจากนั้น ข้อมูลที่รวบรวมจะแสดงบนรถเข็น การชำระเงิน และรายละเอียดการสั่งซื้อ
อย่างไรก็ตาม WooCommerce ไม่มีโซลูชันในตัวสำหรับการเพิ่มคุณลักษณะนี้ ซึ่งหมายความว่าเราจำเป็นต้องสร้างข้อมูลโค้ดที่กำหนดเองเพื่อให้บรรลุเป้าหมายนี้ เราขอแนะนำปลั๊กอินเฉพาะเมื่อคุณต้องการการเปลี่ยนแปลงครั้งใหญ่ในไซต์ของคุณ
WooCommerce เพิ่มแบบฟอร์มไปยังหน้าผลิตภัณฑ์
ในบทช่วยสอนวันนี้ เราจะแชร์ข้อมูลโค้ดที่กำหนดเองที่เราสร้างขึ้นเพื่อเพิ่มฟอร์มที่มีสองฟิลด์ เราจะตั้งชื่อและฟิลด์ข้อความและแสดงข้อมูลของฟิลด์เป็นเมตารายการรถเข็นและเมตารายการสั่งซื้อ ซึ่งหมายความว่าจะแสดงตลอดทั้งรอบการสั่งซื้อ
ก่อนที่เราจะดำเนินการต่อ เราแนะนำให้ติดตั้งหรือสร้างธีมลูก เนื่องจากเราจะทำการแก้ไขไฟล์หลักบางไฟล์ ธีมลูกจะทำให้แน่ใจว่าการเปลี่ยนแปลงจะไม่สูญหายระหว่างการอัพเดท
ให้เราได้รับสิทธิในมัน
ขั้นตอนในการเพิ่มแบบฟอร์มในหน้าผลิตภัณฑ์ WooCommerce
นี่คือขั้นตอนที่คุณต้องปฏิบัติตาม:
- ลงชื่อเข้าใช้ไซต์ WordPress และเข้าถึง แดชบอร์ด ในฐานะผู้ดูแลระบบ
- จากเมนูแดชบอร์ด ให้คลิกที่ เมนูลักษณะที่ปรากฏ > เมนูตัวแก้ไขธีม เมื่อเปิดหน้า Theme Editor ให้มองหาไฟล์ฟังก์ชันของธีมเพื่อเพิ่มฟังก์ชันเพื่อ เพิ่มฟอร์มลงในหน้าผลิตภัณฑ์ WooCommerce
- เพิ่มรหัสต่อไปนี้ ในไฟล์ php :
add_action( 'woocommerce_before_add_to_cart_button', 'njengah_fields_before_add_to_cart' ); function njengah_fields_before_add_to_cart( ) { ?> <table> <tr> <td> <?php _e( "Name:", "aoim"); ?> </td> <td> <input type = "text" name = "customer_name" id = "customer_name" placeholder = "Name on Gift Card"> </td> </tr> <tr> <td> <?php _e( "Message:", "aoim"); ?> </td> <td> <input type = "text" name = "customer_message" id = "customer_message" placeholder = "Your Message on Gift Card"> </td> </tr> </table> <?php } /** * Add data to cart item */ add_filter( 'woocommerce_add_cart_item_data', 'njengah_cart_item_data', 25, 2 ); function njengah_cart_item_data( $cart_item_meta, $product_id ) { if ( isset( $_POST ['customer_name'] ) && isset( $_POST ['customer_message'] ) ) { $custom_data = array() ; $custom_data [ 'customer_name' ] = isset( $_POST ['customer_name'] ) ? sanitize_text_field ( $_POST ['customer_name'] ) : "" ; $custom_data [ 'customer_message' ] = isset( $_POST ['customer_message'] ) ? sanitize_text_field ( $_POST ['customer_message'] ): "" ; $cart_item_meta ['custom_data'] = $custom_data ; } return $cart_item_meta; } /** * Display the custom data on cart and checkout page */ add_filter( 'woocommerce_get_item_data', 'njengah_item_data' , 25, 2 ); function njengah_item_data ( $other_data, $cart_item ) { if ( isset( $cart_item [ 'custom_data' ] ) ) { $custom_data = $cart_item [ 'custom_data' ]; $other_data[] = array( 'name' => 'Name', 'display' => $custom_data['customer_name'] ); $other_data[] = array( 'name' => 'Message', 'display' => $custom_data['customer_message'] ); } return $other_data; } /** * Add order item meta */ add_action( 'woocommerce_add_order_item_meta', 'njengah_order_item_meta' , 10, 2); function njengah_order_item_meta ( $item_id, $values ) { if ( isset( $values [ 'custom_data' ] ) ) { $custom_data = $values [ 'custom_data' ]; wc_add_order_item_meta( $item_id, 'Name', $custom_data['customer_name'] ); wc_add_order_item_meta( $item_id, 'Message', $custom_data['customer_message'] ); } }
- นี่คือผลลัพธ์ในหน้าผลิตภัณฑ์:
- นี่คือผลลัพธ์ในหน้ารถเข็น:
- นี่คือผลลัพธ์ในหน้าชำระเงิน:
- นี่คือผลลัพธ์ในหน้ารายละเอียดคำสั่งซื้อ:
- นี่คือผลลัพธ์ในหน้าแก้ไขคำสั่ง:
ห่อ
ในบทช่วยสอนวันนี้ เราได้แชร์โซลูชันแบบกำหนดเองที่เราทำเพื่อเพิ่มแบบฟอร์มในหน้าผลิตภัณฑ์ รายละเอียดที่รวบรวมจะปรากฏตลอดทั้งรายละเอียดการสั่งซื้อ ดังที่เราได้แสดงให้เห็นในโพสต์นี้
อย่างไรก็ตาม คุณควรระมัดระวังในการแก้ไขไฟล์หลักของร้านค้า WooCommerce ของคุณ หากคุณทำผิดพลาด ข้อผิดพลาดจะปรากฏขึ้น
เราหวังว่าโซลูชันนี้จะช่วยให้คุณเข้าใจวิธีการทำงานของรอบการสั่งซื้อ
บทความที่คล้ายกัน
- วิธีการโยกย้ายจาก Shopify ไปยัง WooCommerce
- วิธีเปลี่ยนข้อความแสดงข้อผิดพลาดของ WooCommerce Checkout
- WooCommerce สร้างหน้าผลิตภัณฑ์เดียวแบบกำหนดเอง
- วิธีตั้งค่าหน้าผลิตภัณฑ์ธีมหน้าร้าน WooCommerce แบบเต็มความกว้าง
- วิธีส่งอีเมลเมื่อเปลี่ยนสถานะใน WooCommerce
- วิธีรับรหัสคำสั่งซื้อในหน้าชำระเงิน WooCommerce
- วิธีการเปลี่ยนรหัสคูปอง WooCommerce
- วิธีเพิ่มช่องค้นหาที่ด้านบนของหน้าธีมหน้าร้าน
- วิธีเพิ่มฟิลด์ผลิตภัณฑ์ที่กำหนดเอง WooCommerce
- วิธีเพิ่มคอลัมน์ใหม่ในหน้าคำสั่งซื้อของ WooCommerce
- วิธีเพิ่มเครื่องคำนวณการจัดส่งของ WooCommerce บนหน้ารถเข็น
- วิธีเพิ่มอนุกรมวิธานที่กำหนดเองให้กับผลิตภัณฑ์ WooCommerce
- วิธีเพิ่มระดับดาวให้กับผลิตภัณฑ์ WooCommerce
- วิธีซ่อนอัตราค่าจัดส่งหากมีการจัดส่งฟรี WooCommerce
- วิธีแปลหน้าชำระเงิน WooCommerce
- วิธีเข้าถึงฐานข้อมูล WooCommerce
- วิธีรับผลิตภัณฑ์ปัจจุบัน WooCommerce
- ปลั๊กอินฟอร์ม WordPress ที่ดีที่สุด 30 อันดับแรก » ปลั๊กอินฟอร์ม WordPress ที่ดีที่สุด
- วิธีการตั้งค่า WooCommerce ซื้อหนึ่งแถมหนึ่ง
- วิธีสร้างหน้าเข้าสู่ระบบใน WordPress โดยไม่ต้องใช้ปลั๊กอิน