- สถานะ
- แก้ไขแล้ว
- รายงานสำหรับ
- WPML Multilingual CMS 3.6.0
- แก้ไขใน
- 3.6.1
ภาพรวมของปัญหา
เมื่อใช้งานธีมบางธีม คุณอาจพบข้อผิดพลาดร้ายแรงต่อไปนี้ซึ่งทำให้การแสดงผลหน้าเว็บเสียหาย:
Fatal error: Uncaught exception ‘InvalidArgumentException’ with message ‘Argument ID must be numeric and greater than 0’
วิธีแก้ปัญหาชั่วคราว
ปัญหานี้เกิดจากธีมที่เป็นปัญหาเนื่องจากมีการส่งอาร์กิวเมนต์ที่มีประเภทไม่ถูกต้อง (อาร์เรย์แทนที่จะเป็นออบเจ็กต์) ไปยังฟิลเตอร์ WordPress
ปัญหานี้จะได้รับการแก้ไขในเวอร์ชันที่เผยแพร่ถัดไปโดยการบังคับให้ตัวแปรใช้ประเภทที่ถูกต้อง
ในระหว่างนี้ คุณสามารถแพตช์โค้ดได้โดยการเพิ่มบรรทัดต่อไปนี้ด้วยตนเองลงในไฟล์ sitepress-multilingual-cms/classes/language-switcher/class-wpml-ls-render.php ที่บรรทัด 127 (ที่ด้านบนสุดของฟังก์ชัน):
$args = (object) $args;
หลังจากใช้แพตช์ โค้ดควรมีลักษณะดังนี้:
//...
public function wp_nav_menu_objects_filter( $items, $args ) {
$args = (object) $args;
$menu_id = isset( $args->menu->term_id ) ? $args->menu->term_id : null;
//...