WPML
สถานะ
แก้ไขแล้ว
รายงานสำหรับ
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;
//...

ปัญหาที่ทราบแล้วทั้งหมด →