WordPress
Cómo redimensionar una imagen
Nov 6th
Llevo mucho tiempo buscando una forma fácil y sencilla de redimensionar imágenes ya estén en mi directorio, ya sean llamadas por url y siempre me había encontrado con los mismos problemas:
- O bien eran plugins muy enrevesados que tenían que crear una copia de la imagen redimensionada y por lo tanto conllevaban sus correspondientes fallos de permisos, etc
- O bien, sólo funcionaban si la susodicha imagen estaba subida en tu directorio, no valía llamando sólamente a la url.
Por lo tanto, me he llevado una grata sorpresa esta mañana cuando he encontrado esta sencilla función creada por iontxu que hace justo y sencillamente lo que quiero.
Para utilizarla en WordPress es tan fácil como pegar la siguiente función en el archivo functions.php de tu tema:
/*Función REDIMENSIONAR
Toma la ruta de una imagen, un valor máximo
de ancho y otro máximo de alto. Si la imagen
rebasa dichas medidas, calcula las medidas
máximas que podría tener manteniendo el
formato original para no salirse de las medidas
indicadas.
Finalmente la función imprime la imagen.
*/
function redimensionar($ruta,$ancho,$alto){
//Obtenemos las dimensiones, la ruta es absoluta.
$dim = getimagesize($ruta);
/*getimagesize() pasa un array a la variable
$dim tal que $dim[0] contiene el ancho de la imagen
y dim[1] contiene el alto.*/
if($dim[1]){
//Para asegurarnos de que dim[1] es diferente de cero
$cociente = $dim[0] / $dim[1];
}
if($alto){
//Para asegurarnos de que alto es diferente de cero
$coc_max = $ancho / $alto;
}
if(($dim[0]<=$ancho)&&($dim[1]<=$alto)){
/*En este caso no pasa nada y
la imagen se imprime con su tamaño original*/
$ancho = $dim[0];
$alto = $dim[1];
}else{
if($cociente>=$coc_max){
/*En este caso el factor más restrictivo
va a ser el ancho de la foto*/
$alto = $ancho / $cociente;
}else{
/*En este caso el factor restrictivo
va a ser la altura de la foto*/
$ancho = $alto * $cociente;
}
}
echo “< img src='$ruta' width='$ancho' height='$alto'>“;
}
?>
Y la llamada a la función la puedes hacer donde quieras mostrar la imagen redimensionada como sigue:
$mi_ruta_relativa = "http://admoin.com/fotos/imagen01.jpg"; /*ruta relativa de la
imagen a mostrar*/
redimensionar($mi_ruta_relativa,600,400);
?>
Cómo mostrar la primera imagen de tus posts
Nov 4th
Muchas veces habreis visto páginas webs o blogs donde en la página principal se muestra un resumen de los posts con su primera imagen o simplemente una imagen enlazando al post. Pues bien, hay varias formas de hacer esto en WordPress, en mi caso, la que me ha parecido más sencilla y simple es la que he encontrado en dosmiluno.org y que describo a continuación:
Lo único que hay que hacer es copiar la siguiente función en el archivo functions.php de tu plantilla de WordPress:
function get_single_image($size = ‘thumbnail’, $default = ‘default.png’) {
global $post;
$images = get_children(“post_parent=$post->ID&
post_type=attachment&
post_mime_type=image&numberposts=1″); if (empty($images)) :
return “< img src=”" . get_bloginfo(” alt=”" />”;
else :
foreach ($images as $image) :
return wp_get_attachment_image($image->ID,$size);
endforeach;
endif;
}
¡Y listo!, ya sólo tienes que llamar a la función desde donde quieras mostrar la imagen (recuerda que la llamada a la función debe estar dentro del loop de los posts).
Chuleta WordPress
Sep 27th
Cuando empiezas a programar en un lenguaje o con unas librerías nuevas, ¿cuántas veces te ha pasado que gastas horas y horas buscando cómo hacer algo?, y en esos casos, ¿cuántas veces te ha pasado que después de quebrarte la cabeza haciendolo tú mismo has visto que ya hay una función que lo hace?… Sí, nos ha pasado a todos
En esta chuleta para principiantes o desarrolladores de WordPress, no están todas las funciones ni tampoco las mejores, pero sí muchas de las más usadas, por lo que te ahorrará mucho tiempo tenerla siempre a mano.
Ahora que lo pienso, sería genial (y bastante práctico) tener una chuleta similar de BuddyPress y por lo que he buscado por la red, no he encontrado nada de este tipo… ummm me voy a tener que poner manos a la obra

