overflow: hidden y listo. (4)
Hace ya algunos días se me había ocurrido hacer este plugin pero por falta de tiempo lo iba posponiendo. Entre ayer y hoy me hice un poco de espacio en mi agenda mental y pude terminarlo.
Últimamente estan de moda dos cosas, la primera es el microblogging (Twitter, Pownce, Jaiku, etc.) y la segunda, a raíz de la anterior, son los servicios para acortar URLs (TinyUrl, abbrr, Fon.gs, y un largo etcétera). Esto se debe a que el espacio para publicar, por ejemplo en Twitter, está restringido a cierta cantidad de caracteres, por lo que si queremos incluir una URL y texto adicional seguramente no nos alcance.
Generando una URL corta podremos incluir mayor cantidad de texto, es por eso que los servicios para acortar URLs que luego generan una redirección están tan de moda. Además del microblogging este tipo de servicios pueden sernos útiles para pasar un enlace por mensajería instantánea, por email o simplemente si tenemos que anotarlo en un papel.
Cuando queremos generar un enlace corto copiamos la dirección URL “larga”, luego ingresamos al sitio del servicio, pegamos la URL, depués generamos el enlace corto y lo copiamos, para finalmente pegarlo donde queramos.
¿Qué hace el plugin? ¿Para que sirve?
Lo que hace el plugin es ahorrarnos estos pasos que acabo de nombrar, generando automáticamente un enlace corto para cada post de nuestro blog, con lo que podemos ofrecerlo al visitante para que simplemente tenga que copiarlo.
Incluyendo la llamada dentro del loop obtendremos un text box con la URL lista para se copiada. Si prefiere obtenerse sólamente texto, puede modificarse el código fácilmente.
Sobre el plugin
El principal problema que surgió durante el desarrollo fue cómo obtener la URL generada en una variable a partir del API que algunos servicios proveen. Así el primer filtro para la selección del servicio a utilizar fue que provean su API, por lo que muchos quedaron afuera.
Primero pensé obtener la variable mediante la función file_get_contents, pero muchos servidores la tienen deshabilitada, lo mismo ocurre con algunas funciones que hacen esto de tomar la información de páginas externas. Así se aplicó otro filtro a la selección: el API servicio debía ofrecer el resultado en XML, por lo que sólo quedaron 2 servicios.
Uno de ellos era URL(x), que cuenta con un API muy completo, y la otra era abbrr. Finalmente me decidí por este último servicio porque es realmente fácil de usar, genera URLs más cortas, y porque su desarrollador (Victor Bracco) es argentino. Dicho sea de paso le agradezco con haberme aclarado algunas dudas mientras desarrollaba el plugin.
Pueden ver el plugin en funcionamiento al final de este post por ejemplo. Por cualquier duda, error encontrado o algo por el estilo, simplemente comenten en este post o contáctense conmigo.
Hoy finalmente cambié el dominio del blog de granimpetu.com.ar a granimpetu.com. No hice cambio de hosting, así que como los archivos son los mismos, la redirección 301 tuve que hacerla desde el archivo .htaccess. A continuación dejo como quedó el archivo para que si alguna vez tienen que realizar esto no “renieguen” tanto como lo tuve que hacer yo:
# BEGIN WordPress
RewriteEngine On
RewriteCond %{HTTP_HOST} ^granimpetu.com.ar$ [NC]
RewriteRule ^(.*)$ http://granimpetu.com/$1 [R=301,L]
RewriteBase /
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.php [L]
# END WordPress
Es cuestión de modificar granimpetu.com.ar por su antiguo dominio y granimpetu.com por el nuevo. Así con esto lograremos que las URL tales como:
http://granimpetu.com.ar/contacto
http://granimpetu.com.ar/articulos/reseteando-el-css/
http://granimpetu.com.ar/loquesea123
Redireccionen a:
http://granimpetu.com/contacto
http://granimpetu.com/articulos/reseteando-el-css
http://granimpetu.com/loquesea123
Con esto no perderemos los links que han sido realizados, y los llevaremos a una misma dirección, haciendo también que Google haga esto. Recordemos que para modificar el dominio que va a utilizar Wordpress en la base de datos debemos hacerlo desde la pestaña “Opciones” en el Tablero (Dashboard).







