Como insertar marcas de agua en WordPress

Posted: mayo 26th, 2011 | Author: | Filed under: Recursos Web, Wordpress | Tags: | 1 Comment »

Una forma simple de agregar marcas de agua a las imagenes de nuestro sitio en wordpress no consiste en usar plugins, podemos hacerlo con un archivo .htaccess, un archivo php y la imagen a incrustar.

Lo que tenemos que hacer es crear el archivo watermark.php en la raiz del ftp (junto al archivo wp-config.php), con el siguiente contenido:

<?php
$src = $_GET[‘src’];

header(‘Content-type: image/jpeg’);

//this will prevent the watermark from showing up in the thumbnail images
if (eregi(«150×150», $src)) {
$watermark = imagecreatefrompng(‘empty.png’);
} else {
$watermark = imagecreatefrompng(‘watermark.png’);
}

$watermark_width = imagesx($watermark);
$watermark_height = imagesy($watermark);
$image = imagecreatetruecolor($watermark_width, $watermark_height);
if(eregi(‘.gif’,$src)) {
$image = imagecreatefromgif($src);
}
elseif(eregi(‘.jpeg’,$src)||eregi(‘.jpg’,$src)) {
$image = imagecreatefromjpeg($src);
}
elseif(eregi(‘.png’,$src)) {
$image = imagecreatefrompng($src);
}
else {
exit(«Your image is not a gif, jpeg or png image. Sorry.»);
}

$size = getimagesize($src);
$dest_x = $size[0] – $watermark_width – 0;
$dest_y = $size[1] – $watermark_height – 0;
imagecolortransparent($watermark,imagecolorat($watermark,0,0));
imagecopyresampled($image, $watermark, $dest_x, $dest_y, 0, 0, $watermark_width, $watermark_height, $watermark_width, $watermark_height);

imagejpeg($image, «», 95);
imagedestroy($image);
imagedestroy($watermark);
?>

Luego agregamos un archivo watermark.jpg en la raiz, junto al archivo php.

Por ultimo modificamos el arcvhio .htaccess con la siguiente línea, de forma que cada pedido de una imagen en tamaño completo tenga la marca de agua incrustada.

RewriteRule ^(.*)wp-content/uploads/(.*) $1watermark.php?src=wp-content/uploads/$2