Dors Venabili

Follow me on TwitterRSS Feeds

  • Home
  • WordPress
  • Opinión
  • Galería
  • Vídeos
  • Agenda
  • Noticias

Cómo redimensionar una imagen

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

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).

< ? echo get_single_image(); ?>

Chuleta WordPress

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 :)

  • Citas célebres

    Strength does not come from physical capacity. It comes from an indomitable will. — Mahatma Gandhi

  • Mis últimos tweets

    Loading tweets...
    Follow me on Twitter!
  • Mis links

    • Agropensamientos
    • Al salir de Ronda
    • Apuntes Rull
    • Area 51 Sector B
    • Brumas y Bromas
    • Cines y series
    • Eduard Punset
    • El blog de raven
    • La ecuación de Drake
    • Las horas perdidas
    • Mecus
    • Propuestas culturales en Sevilla
    • Temas para WordPress
    • Temblores
    • ¿Ideas para WordPress?
  • Archivo

    • September 2010 (1)
    • June 2010 (1)
    • April 2010 (1)
    • February 2010 (2)
    • January 2010 (1)
    • December 2009 (1)
    • November 2009 (8)
    • October 2009 (2)
    • September 2009 (4)
  • Calendario

    September 2010
    M T W T F S S
    « Jun    
     12345
    6789101112
    13141516171819
    20212223242526
    27282930  
  • Nube de etiquetas

    09 2009 ayuda barcelona blog chuleta defensa derechos ebe Economía energía España evento first fotos funciones fundamentales I+D image imagen internautas internet jobs Ley limpia manifiesto mecus medicus ministerio mundi poken post redimensionar renovable resize SGAE sostenible spain steve tecnología utilidades video word wordcamp WordPress
Mystique theme by digitalnature | Powered by WordPress
RSS Feeds XHTML 1.1 Top