Contenido

ShortCode API, otra novedad de WordPress 2.5

31 mar

+ 8

De entre todas las novedades de WordPress, ShortCode es una de las que menos bombo se le ha dado. Y la verdad es que merece la pena perder un rato en explicar de que va esta nueva funcionalidad.

BBCode

Los usuarios de foros, conocerán el formato BBCode, aquel compuesto de tags envueltos por [], similar al formato HTML. Este formato está muy extendido en internet y es fácil de memorizar. Veamos un ejemplo:

[b]Este text en negrita[/b] ==> <strong>Este text en negrita</strong>

Partiendo de esta base podemos pasar a definir que es ShortCode.

ShortCode

ShortCode API, es un conjunto de funciones que permite definir nuestros propios tags BBCode para insertarlos dentro de nuestros posts. La gracia de este sistema es que podemos ejecutar código PHP dentro del contenido de nuestros posts. Lo que además de ser muy interesante, evidentemente es muy peligroso.

add_shortcode($tag, $function); 

// [footag foo="bar"]
function footag_func($atts) {
	return @"foo = {$atts['foo']}";
}
// My Caption
function caption_shortcode( $atts, $content = null ) {
   extract( shortcode_atts( array(
      'class' => 'caption',
      ), $atts ) );

   return '<span class="' . attribtue_escape($caption) . '">' . $content . '</span>';
}

add_shortcode('caption', 'caption_shortcode');
add_shortcode('footag', 'footag_func');

Si nos fijamos en el código anterior, vemos que el tag BBCode se define mediante la función add_shortcode(), encargada de relacionar el tag con la función correspondiente.

remove_shortcode($tag);

Función que nos permite eliminar el funcionamiento de un shortcode, para ello indicaremos el tag que queremos eliminar de los disponibles.

remove_shortcode("caption"); // Eliminamos 

remove_all_shortcodes();

Si deseamos eliminar todos los shortcodes disponibles en nuestro WordPress, simplemente tenemos que usar esta función y se encargará de desactivarlos todos.

remove_all_shortcodes(); // Todos los shortcodes eliminados

shortcode_atts($pairs, $atts);

Función que nos devuelve un array de pares con los atributos por defecto para nuestros shortcodes.

$a = shortcode_atts( array(
   'title' => 'My Title'
   'foo' => 123,
   ), $atts );

do_shortcode($content);

Función que nos devuelve el resultado de la ejecución del texto con el shortcode reemplazado por la función.

do_shortcode('My Caption'); // <span class="headline">My Caption</span>

¿Donde poner este código?

WordPress no indica donde ubicar el código correspondiente a los shortcodes, pero el fichero en el que están definidas las funciones que hacen posible el funcionamiento, está ubicado en wp-includes/shortcodes.php. En él no hace referencia a ningún fichero externo, ubicado en una ruta algo más personal como wp-content/.

Como casi todo el código de WordPress puede ser insertado en cualquier sitio y de cualquier forma:

Pero quizas la forma más óptima hubiera sido añadir un par de líneas y sacar del core de WordPress una funcionalidad que permite tal nivel de personalización.

<?php
if ( file_exists(ABSPATH . 'wp-content/my-shortcodes.php') )
	require_once (ABSPATH . 'wp-content/my-shortcodes.php');

 ¿Algo así al inicio del fichero shorcodes.php? De esta forma disponemos de un fichero externo que nos permite tener definidos nuestros shortcodes por encima de todas las futuras actualizaciones…. paciencia :D

33 galerías de imagenes javascript y flash

31 mar

+ 7

Si estás pensando en usar una galería de imagenes para tu proyecto, revisa estas 33 galerías de imagenes desarrolladas, algunas en Javascript y otras en Flash, que seguro te ayudarán a ahorrarte unos minutos de elección.

Actualizando a WordPress 2.5. algunos problemas resueltos

31 mar

+ 61

Esta tarde he podido actualizar a la versión nueva de WordPress, la 2.5. Y como era de esperar ha habido algún problema:

Al intentar escribir una entrada, me era imposible añadir una imagen, tras mirar mucho los logs de apache para encontrar el error, sin suerte alguna y comprobar que todo estuviera perfecto para la nueva versión, pensé en hacer lo más obvio y lo que debería haber hecho desde un principio, desactivar todos los plugins y probar.

 Al hacer esto he visto que el plugin wp-contact-form es el causante del problema y automáticamente he visto que dicho plugin tenía una actualización pendiente. Actualizado y listo.

Sabiendo esto veamos unos pasos simples para actualizar a WordPress 2.5 sin tener muchos problemas.

  1. Descargamos el fichero y lo subimos a nuestro servidor.
  2. Desactivamos todos los plugins
  3. Renombramos las carpetas wp-admin/ y wp-includes/ a wp-adminOLD/ y wp-includesOLD/
  4. Descomprimimos el fichero descargado (lastest.zip)
  5. Y copiamos todo el contenido sobre nuestro antiguo WordPress.
  6. Entramos al panel de administrador y actualizamos la base de datos
  7. Revisamos los plugins, si algunos requiere actualización, lo actualizamos antes de activarlo.
  8. Disfrutamos de las nuevas mejoras. 

Alex comentaba algún error más. JuanPol tambien comenta algún problema al Grabar/Save.

Como consejo personal, recomiendo que espereis un poco antes de actualizar. WordPress es famoso por sus parches relámpago ante nuevas versiones. Dentro de 1 mes, todo se verá de otro color.

IE 6 y 7 solo permiten crear 31 hojas de estilos

30 mar

+ 6

Una curiosidad rápida:

“Internet Explorer 6 y 7 únicamente pueden llegar a cargar 31 hojas de estilos” (Trás los 31 obtendremos un “Invalid argument” como una catedral).

var ss = document.createElement('STYLE');
document.documentElement.firstChild.appendChild(ss);

Lo podemos ver en la documentación oficial del MSDN de Microsoft, pero … ¿por que 31? ¿por que no 20? ¿o 109?

Misterios de Internet Explorer que nunca llegaremos a entender.

WordPress 2.5, Michael Brecker por fin llega

30 mar

+ 5

Aunque parezca mentira la gente de WordPress ha sacado la versión estable de WordPress 2.5. Los cambios con respecto a la anterior RC2 son mínimos, solo unas pocas correcciones sobre lo ya echo. El nombre de este versión hace referencia a Michael Brecker, (1949-2007) un saxofonista de Philadelphia que marcó, como los anteriores a Matt. [Descargar][En Español]

¿Quieres ser millonario? versión Geek para tu iPhone

29 mar

+ 6

En EsferaiPhone hoy han publicado un juego que todos conocemos, ¿Quieres ser millonario?. Sin duda la ceja de Carlos Sobera hizo de este concurso uno de los más famosos de la última década. Pues ahora gracias a Millionaire podemos jugar en nuestro iPhone/iPod Touch.

Como era normal quería probarlo, por que aunque estuviera en Italiano podría ver si me interesaría tenerlo aunque fuera en ingles (cuando lo saquen). Al instalarlo cual ha sido mi sorpresa al encontrar una carpeta llamada “questions” con una base de datos en su interior :D

millionaire_database_questions.jpg

Usando el plugin SQL Lite de Firefox, he podido editarla y ver que dentro están todas las preguntas, 12688 preguntas, con sus respectivas respuestas. He pensado que podríamos recopilar una cuantas preguntas geeks y hacer una versión de ¿Quieres ser millonario? para geeks.

Para ello he creado una página bastante chorra en la que podremos introducir las preguntas que se nos ocurran. Existen 5 niveles, desde fácil a Dios Supremo y los usuarios son los que deciden esa pregunta a que nivel corresponde.

Cuando haya algo más o menos decente podría ser divertido echarse una partidita, incluso con las almacenadas podríamos montar un juego online, pero eso ya se verá.

Os dejo la dirección de donde podeis dejar llevar vuestro imaginación e intentar hacer las preguntas más complicadas posibles.

[¿Quieres ser millonario? Version Geek?]

12 frameworks CSS que deberías conocer

29 mar

+ 9

Los que me conocen saben que no soy fan de ningún tipo de framework, no me gusta tener que condicionar mi forma de programar para hacer cualquier cosa, pero tambien sabrá que soy partidario de usarlos y que además los uso bastante. Generalmente por que ayudan a reducir el tiempo que perderíamos en montarlos nosotros mismos, y por que en cierta manera se pueden “amoldar” a nuestras necesidades sin demasiados dolores de cabeza.

Por este motivo siempre es bueno conocer, al menos saber que están ahi, algunos frameworks para poder tirar de ellos en algún momento concreto. Estos 12 pueden ser una buena lista:

  1. Elements CSS Frameworks
  2. WYMstyle: a CSS framework
  3. YAML CSS Framework
  4. YUI Grids CSS
  5. Boilerplate CSS Framework
  6. Blueprint CSS
  7. Schema Web Design Framework
  8. CleverCSS
  9. Tripoli Beta CSS Framework
  10. ESWAT Web Project Framework
  11. CwS CSS Framework
  12. My (not really mine) CSS Framework

Ahora ya no tienes excusa para usar bien los CSS :D

Via | Kabytes

Disponible la versión Acid3 de Opera

28 mar

+ 1

Los chicos de Opera han publicado una versión de desarrollo, unicamente para Windows y para Linux del motor de render de Opera. Con esta versión vemos como el test Acid3 ya no da tanto miedo :D [Descargar]

WebKit pasa el Acid3

27 mar

+ 10

Era cuestión de tiempo que la gente de WebKit pasara el Acid3 y en convertirse en el primer navegador que lo pasa en una versión disponible para descargar.

acid3_webkit.jpg

Un pequeño paso para un navegador, pero un gran paso para la humanidad. :D 

Actualización:

Me he descargado la última versión y no consigo pasar del 98/100 y además parece que alguien conoce un bug en la versión de desarrollo de Opera que lo deja en un 99/100… parece que la carrera aún continúa.

Menu deslizante con CSS y MooTools

27 mar

+ 6

Curioso efecto deslizante a un menú desarrollado mediante MooTools y CSS. [Demo][Descargar]