- Trạng thái
- Đã giải quyết
- Đã giải quyết trong
- WPML 4.6.4
Tổng quan về lỗi
Nếu bạn đang sử dụng hosting Flywheel hoặc ImageMagick, việc tải tệp PDF lên thư viện WordPress của bạn sẽ gây ra lỗi nghiêm trọng:
PHP Fatal error: Uncaught Error: Cannot use object of type WP_Error as array in /www/wp-content/plugins/wpml-media-translation/classes/media-translation/class-wpml-media-attachment-image-update.php:61
Giải pháp tạm thời
- Tạo bản sao lưu đầy đủ cho trang web của bạn.
- Chỉnh sửa /wp-content/plugins/wpml-media-translation/classes/media-translation/class-wpml-media-attachment-image-update.php, dòng 49-76
- Thay đổi:
if ( wp_image_editor_supports( array( 'mime_type' => $file['type'] ) ) ) { $editor = wp_get_image_editor( $file['file'] ); if ( ! is_wp_error( $editor ) ) { $size = $editor->get_size(); if ( $size['width'] > 150 || $size['height'] > 150 ) { $resizing = $editor->resize( 150, 150, true ); if ( is_wp_error( $resizing ) ) { wp_send_json_error( $resizing->get_error_message() ); } } $thumb = $editor->save(); if ( ! empty( $thumb ) ) { $uploads_dir = wp_get_upload_dir(); $thumb_url = $uploads_dir['baseurl'] . $uploads_dir['subdir'] . '/' . $thumb['file']; $thumb_path = $thumb['path']; } } else { wp_send_json_error( __( 'Failed to load the image editor', 'wpml-media' ) ); } } elseif ( 0 === strpos( $file['type'], 'image/' ) ) {Thành:if ( wp_image_editor_supports( array( 'mime_type' => $file['type'] ) ) ) { if ( ! extension_loaded( 'imagick' ) && ($file_array["type"] !== "application/pdf")) { $editor = wp_get_image_editor($file['file']); if (!is_wp_error($editor)) { $size = $editor->get_size(); if ($size['width'] > 150 || $size['height'] > 150) { $resizing = $editor->resize(150, 150, true); if (is_wp_error($resizing)) { wp_send_json_error($resizing->get_error_message()); } } $thumb = $editor->save(); if (!empty($thumb)) { $uploads_dir = wp_get_upload_dir(); $thumb_url = $uploads_dir['baseurl'] . $uploads_dir['subdir'] . '/' . $thumb['file']; $thumb_path = $thumb['path']; } } else { wp_send_json_error(__('Failed to load the image editor', 'wpml-media')); } } } elseif ( 0 === strpos( $file['type'], 'image/' ) ) {