WPML

Resumen del problema

Si utiliza el alojamiento Flywheel o ImageMagick, subir un PDF a su biblioteca de WordPress produce un error fatal:

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

Solución alternativa

Este problema se ha solucionado en WPML 4.6.4. Actualizar lo soluciona en su sitio, por lo que solo necesita esta solución alternativa si aún no puede actualizar.

  1. Haga una copia de seguridad completa de su sitio.
  2. Edite /wp-content/plugins/wpml-media-translation/classes/media-translation/class-wpml-media-attachment-image-update.php, líneas 49-76
  3. Cambie:
    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/' ) ) {
    por:
    				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/' ) ) {

Todos los problemas conocidos

¿Sigue teniendo este problema?

Si actualizar no lo soluciona, haga una consulta de soporte y lo revisaremos con usted.