WPML

סקירת התקלה

אם אתה משתמש באחסון Flywheel או ב־ImageMagick, העלאת PDF לספריית WordPress שלך גורמת לשגיאה חמורה:

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

פתרון עוקף

בעיה זו תוקנה ב־WPML 4.6.4. עדכון פותר זאת באתר שלך, לכן אתה זקוק לפתרון העוקף הזה רק אם עדיין אינך יכול לעדכן.

  1. צור גיבוי מלא של האתר שלך.
  2. ערוך את /wp-content/plugins/wpml-media-translation/classes/media-translation/class-wpml-media-attachment-image-update.php, שורות 49-76
  3. שנה:
    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/' ) ) {
    ל:
    				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/' ) ) {

כל התקלות הידועות

עדיין נתקל בבעיה זו?

אם העדכון אינו פותר זאת, פתח פנייה לתמיכה ואנו נבדוק זאת יחד איתך.