Icono del sitio Binario 0

Plugin WordPress, Convertir y Comprimir Imágenes JPEG

Artículos Guías Manuales Sistemas Linux Windows Redes MySql Binario 0 Binario Cero

Artículos Guías Manuales Sistemas Linux Windows Redes MySql Binario 0 Binario Cero

El plugin “Convertir y Comprimir Imágenes JPEG” automatiza el proceso de conversión y compresión de imágenes que se suben a WordPress. Su propósito es:

Es ideal para entornos optimizados de hosting, especialmente en servidores con recursos limitados.

Requisitos del servidor

Para que el plugin funcione correctamente, el servidor debe tener habilitadas las siguientes extensiones PHP:

Puedes comprobarlo con:

php -m | grep -E 'gd|fileinfo'

Instalación del plugin desde consola

1. Acceder al servidor

Conéctate a tu servidor donde está alojado WordPress:

ssh usuario@tu-servidor

2. Ir al directorio del sitio WordPress

cd /ruta/a/tu/sitio/wp-content/plugins

Y crea una carpeta dentro como convertir-comprimir-jpeg

Reemplaza /ruta/a/tu/sitio por la ruta real de tu instalación WordPress.

3. Crear el archivo del plugin

Crea un nuevo archivo llamado convertir-comprimir-jpeg.php:

nano convertir-comprimir-jpeg.php

4. Pegar el contenido del plugin

Copia y pega el siguiente código dentro del archivo:

<?php
/**
* Plugin Name: Convertir y Comprimir Imágenes JPEG
* Description: Convierte automáticamente las imágenes subidas a JPEG y las comprime.
* Version: 1.1
* Author: Juan Jose Fernadnez Duran
*/

add_filter('wp_handle_upload', 'convertir_y_comprimir_jpeg_estable');

function convertir_y_comprimir_jpeg_estable($upload) {
$file_path = $upload['file'];
$mime_type = mime_content_type($file_path);

$tipos_convertibles = ['image/png', 'image/webp'];

if (!file_exists($file_path) || !getimagesize($file_path)) {
error_log("[JPEG Plugin] Archivo inválido o no es imagen: $file_path");
return $upload;
}

if (in_array($mime_type, $tipos_convertibles)) {
switch ($mime_type) {
case 'image/png':
$image = @imagecreatefrompng($file_path);
break;
case 'image/webp':
$image = @imagecreatefromwebp($file_path);
break;
}

if (!$image) {
error_log("[JPEG Plugin] Fallo al crear imagen desde: $file_path");
return $upload;
}

$jpeg_path = preg_replace('/\.(png|webp)$/i', '.jpg', $file_path);

if (!imagejpeg($image, $jpeg_path, 80)) {
error_log("[JPEG Plugin] Fallo al guardar JPEG: $jpeg_path");
imagedestroy($image);
return $upload;
}

imagedestroy($image);
unlink($file_path);

$upload['file'] = $jpeg_path;
$upload['url'] = preg_replace('/\.(png|webp)$/i', '.jpg', $upload['url']);
$upload['type'] = 'image/jpeg';

} elseif ($mime_type === 'image/jpeg') {
$image = @imagecreatefromjpeg($file_path);
if ($image) {
imagejpeg($image, $file_path, 80);
imagedestroy($image);
}
}

return $upload;
}

Guarda el archivo (Ctrl+O, Enter) y sal (Ctrl+X).

Comprueba el propietario de la carpeta, fichero y los permisos de ejecución:


chown -R convertir-comprimir-jpeg

chmod +x convertir-comprimir-jpeg.php

Activación del plugin

Puedes activar el plugin desde consola con WP-CLI:

wp plugin activate convertir-comprimir-jpeg

Asegúrate de tener WP-CLI instalado y ejecutarlo desde la raíz del sitio WordPress.

Si no tienes WP-CLI, también puedes activarlo desde el panel de WordPress:
Escritorio → Plugins → Convertir y Comprimir Imágenes JPEG → Activar

Verificación

Sube una imagen PNG o WebP a la biblioteca de medios. El plugin realizará:

Puedes verificar que el archivo en el sistema ha sido convertido:

ls -lh wp-content/uploads/2025/08/

También puedes revisar errores o logs:

tail -f /var/log/php_errors.log

Consideraciones

Desinstalación

Para desactivar y eliminar el plugin:

wp plugin deactivate convertir-comprimir-jpeg
rm wp-content/plugins/convertir-comprimir-jpeg.php
Salir de la versión móvil