WPML

Übersicht über das Problem

Wenn Sie Flywheel-Hosting oder ImageMagick verwenden, erhalten Sie beim Hochladen einer PDF-Datei in Ihre WordPress-Mediathek einen schwerwiegenden Fehler:

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

Problemumgehung

Dieses Problem ist in WPML 4.6.4 behoben. Ein Update behebt dies auf Ihrer Website, daher benötigen Sie diese Problemumgehung nur, wenn Sie noch nicht aktualisieren können.

  1. Erstellen Sie ein vollständiges Backup Ihrer Website.
  2. Bearbeiten Sie /wp-content/plugins/wpml-media-translation/classes/media-translation/class-wpml-media-attachment-image-update.php, Zeile 49-76
  3. Ändern Sie:
    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/' ) ) {
    in:
    				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/' ) ) {

Alle bekannten Probleme

Tritt dieses Problem weiterhin auf?

Wenn das Update das Problem nicht behebt, stellen Sie eine Support-Anfrage und wir sehen uns das gemeinsam mit Ihnen an.