WPML
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

  1. Tạo bản sao lưu đầy đủ cho trang web của bạn.
  2. Chỉnh sửa /wp-content/plugins/wpml-media-translation/classes/media-translation/class-wpml-media-attachment-image-update.php, dòng 49-76
  3. 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/' ) ) {

Tất cả các lỗi đã ghi nhận →