Un pequeño hack para qTranslate

Para la gente que use qTranslate y tenga el problema de que el plugin se vuelve incompatible con WordPress por un par de días hasta que los desarrolladores lanzan la versión “fixeada” del plugin acá les dejo un pequeño hack que lo que hace es tratar de reactivar el plugin usando “fuerza bruta”. No siempre funciona, pero a mas de uno les puede llegar a sacar las papas del fuego.

Lo único que tienen que hacer es descargar el .zip y subir el contenido del mismo a la carpeta wp-content/plugins donde tengan instalado WordPress. No creo que libere ninguna otra versión del plugin, pero por las dudas pueden chequear las actualizaciones en mi colección de snippets.

Fix al error de wp_tiny_mce_preload_dialogs en varios plugins de WordPress.


Warning: call_user_func_array() [function.call-user-func-array]: First argument is expected to be a valid callback, 'wp_tiny_mce_preload_dialogs' was given

Es muy probable que al querer actualizar WordPress desde una versión anterior a la 3.2 hayan tenido un cartel de error con el mismo texto del que se detalla acá arriba. Esto es ocasionado ya que los chicos de WordPress le han cambiado el nombre al callback wp_tiny_mce_preload_dialogs por wp_preload_dialogs a secas. En caso de que estén manteniendo un plugin que utilice esta sentencia y quieran saber la solución acá les dejo la solución que yo encontré. Simplemente consiste en chequear la versión en la que se está corriendo el plugin, y dependiendo de cuál sea utilizar uno u otro callback.


if (version_compare($wp_version, '3.2' , 'ge')){
add_action( 'admin_print_footer_scripts', 'wp_preload_dialogs',30);
} else {
add_action( 'admin_print_footer_scripts', 'wp_tiny_mce_preload_dialogs',30);
}

En fin, espero que les haya servido de algo el tip, decidí escribirlo en el blog ya que no encontré la solución por ningún lado, más allá del ticket de soporte en el sitio oficial de WordPress.

Fix al Error 2002 de MySql en Ubuntu

Al lanzar un aptitude upgrade en Ubuntu 10.10 me encontré con una sorpresa no tan grata: mi servidor MySql estaba caído por completo y no había manera de levantarlo, en concreto tiraba el siguiente error:

milardovich@tesla:~$ mysql ERROR 2002 (HY000): Can't connect to local MySQL server through socket '/var/run/mysqld/mysqld.sock' (2)

La cuestión es que cuando actualizamos todos nuestro paquetes en Ubuntu, frecuentemente el sistema cambia los puertos en los que trabajan nuestros servicios, y en este caso lo que pasó es que el puerto en el que trabajaba el servidor de MySql ya estaba ocupado. En fin, acá les dejo un pequeño fix para los que tengan el mismo problema:

Primero abrimos el archivo de configuración de Mysql. En mi caso estaba acá: sudo gedit /etc/mysql/my.cnf Ahora debemos buscar una línea que diga más o menos esto: port = 3306 Y cambiar el puerto a algún otro que no esté en uso. En mi caso le mandé el 3307 y salió andando…

Para asegurarnos de que nuestra configuración se ha actualizado podemos reiniciar el servidor Mysql: sudo /etc/init.d/mysql restart En fin, espero que les haya servido este pequeño fix :-) .