ปัญหา
ฉันมี Woocommerce ทํางานได้อย่างสมบูรณ์แบบบน WordPress. ในบางจุด, ฉันสังเกตเห็นว่าการชําระเงินไม่ได้แสดงส่วนที่มีชื่อว่า “คําขอของคุณ”, ที่ตั้งของวิธีการชําระเงินด้วย. ฉันเสียเวลามากขึ้นในการค้นหาคําตอบใน Google (เกือบ2h) กว่าการทํางานออกวิธีการแก้ปัญหา.
หน้าเช็คเอาต์ที่ฉันอ้างถึงคือหน้าที่มาจาก “สิ้น สุด” รถเข็นซื้อของ, ซึ่งคุณสามารถเข้าสู่ระบบหรือกรอกรายละเอียดการลงทะเบียนได้. การตรวจสอบสาเหตุของปัญหา, ฉันพบว่าเกิดจากความขัดแย้งบางอย่างกับปลั๊กอิน WordPress “การเชื่อมต่อ Facebook ง่าย (Sfc)“. เมื่อปิดใช้งานปลั๊กอิน, การเช็คเอาท์แสดงอย่างถูกต้อง.
เนื่องจากฉันไม่ต้องการไม่มีคุณสมบัติบางอย่างของปลั๊กอิน, ฉันเก็บ instigating. ด้วยความช่วยเหลือของ Firebug (Firefox), ฉันสังเกตเห็นว่า, เมื่อโหลดหน้า, มีการเรียกอาแจ็กซ์ให้ “wp- ผู้ดูแลระบบ/ผู้ดูแลระบบ- อาแจ็กซ์.php” ตําแหน่งที่ข้อมูลถูกส่งกลับอย่างสมบูรณ์แบบ, อย่างไรก็ตาม, ไม่สามารถแสดงได้, เนื่องจากสาเหตุบางประการจึงไม่มี DIV ที่มี ID “order_review”.
วิธีการแก้ไขปัญหา
กําหนดปัญหา, มันง่าย. ฉันเพิ่งไปในหน้า wp-contentpluginswoocommercetemplatescheckoutform-checkout.php และฉันเพิ่ม DIV ก่อนปิดแบบฟอร์ม (แบบ ฟอร์ม).
DIV ที่ถูกแทรก:
1 | <div id="order_review"></div> |
บริบททั่วไปที่แทรก DIV (ก่อนแบบฟอร์ม):
1 2 3 4 | <?PHP do_action( 'woocommerce_checkout_order_review' ); ?> <div id="order_review"></div> </แบบฟอร์ม> <?PHP do_action( 'woocommerce_after_checkout_form', $เช็คเอาท์ ); ?> |
การทำเช่นนี้, กลับไปทํางาน… อูฟา, ที่หนึ่ง!