- Trạng thái
- Đã giải quyết
- Được báo cáo cho
- WPML Multilingual CMS 3.6.0
- Đã giải quyết trong
- 3.6.1
Tổng quan về lỗi
Khi sử dụng một số giao diện nhất định, bạn có thể gặp lỗi nghiêm trọng sau làm hỏng hiển thị của trang:
Fatal error: Uncaught exception ‘InvalidArgumentException’ with message ‘Argument ID must be numeric and greater than 0’
Giải pháp tạm thời
Sự cố này do các giao diện đang được đề cập gây ra vì chúng truyền các đối số có loại không chính xác (mảng thay vì đối tượng) cho các bộ lọc của WordPress.
Sự cố này sẽ được giải quyết trong phiên bản phát hành tiếp theo bằng cách bắt buộc các biến phải sử dụng đúng loại.
Trong thời gian chờ đợi, bạn có thể vá mã bằng cách thêm thủ công dòng sau vào tệp sitepress-multilingual-cms/classes/language-switcher/class-wpml-ls-render.php, ở dòng 127 (ở đầu hàm):
$args = (object) $args;
Sau khi áp dụng bản vá, mã sẽ trông như thế này:
//...
public function wp_nav_menu_objects_filter( $items, $args ) {
$args = (object) $args;
$menu_id = isset( $args->menu->term_id ) ? $args->menu->term_id : null;
//...