Últimamente no ando muy sobrado de tiempo, por lo que no posteo tanto como me gustaría, además, hay pocos temas que considere interesantes como para hacer un post, pero si son lo suficientemente interesantes para realizar un post rapidillo, a ser posible automático.
Es por ello que me he creado un plugin para WordPress, que cuando tenga tiempo lo puliré y publicaré, que me permite postear directamente desde Google Reader usando lo de “Enviar a”, vamos que con una llamada a una URL tipo http://sentidoweb.com/[path_seguridad]/[token]/${title}%20${source} publicaré directamente en mi blog, así podré pasaros posts que considere interesantes.
Este es un ejemplo raro de uso de WordPress, pero el otro día una persona lo preguntaba en el foro de soporte de WordPress. El usuario tenía los posts geolocalizados (latitud/longitud), supongo con postmetas correspondientes.
Para poder realizar este tipo de búsquedas es necesario usar MySQL procedures, claro que no todos los hosting lo permiten:
CREATE PROCEDURE geodist (IN mylat decimal(18,12), IN mylon decimal(18,12), IN dist float)
BEGIN
declare lon1 float;
declare lon2 float;
declare lat1 float;
declare lat2 float;
set lon1 = mylon-dist/abs(cos(radians(mylat))*69);
set lon2 = mylon+dist/abs(cos(radians(mylat))*69);
set lat1 = mylat-(dist/69);
set lat2 = mylat+(dist/69);
SELECT p.*, 3956 * 2 * ASIN(SQRT( POWER(SIN((mylat -lat.meta_value) * pi()/180 / 2), 2) +COS(mylat * pi()/180) * COS(lat.meta_value * pi()/180) *POWER(SIN((mylon - lon.meta_value) * pi()/180 / 2), 2) )) as distance FROM wp_posts as p, wp_postmeta lat, wp_postmeta lon WHERE p.ID = lat.post_id and lat.meta_key = 'latitude' and p.ID = lon.post_id and lon.meta_key = 'longitude' and lon.meta_value between lon1 and lon2 and lat.meta_value between lat1 and lat2
and post_status = 'publish'
having distance < dist ORDER BY Distance;
END
Una vez creado el procedure deberemos llamarlo para obtener los resultados:
Hacer una copia de seguridad de tu blog es algo totalemente necesario y que no podemos dejar de hacer. Si piensas que la posibilidad de que pierdas los datos de tu blog son mÃnimas, quizás no te has dado cuenta de que tienes en cuenta que puede ocurrir, por lo que mejor hacer un backup de tu blog de vez en cuando.
Para ello nada mejor que el plugin WordPress database backup, el cual viene instalado por defecto a partir de WordPress 2.0. Aunque su instalación y uso es sencillo, puedes encontrarte con algún problema (permiso de escritura del plugin), y si aún su sencillez necesitas una ayuda, os paso un videotutorial en el que lo explican paso a paso.
Por cierto, recomiendo la página donde ofrecen este tutorial, al tener algunos interesantes (aunque quizás de nivel un poco bajo). Back Up Your Blog or Risk Losing It All
VÃa / Lifehacker
Ahora viene la parte más complicada, y digo complicada porque sinceramente he tenido que mirar el código porque algo me fallaba cuando seguía lo que decía la documentación.
El nombre del fichero JSON tiene el siguiente formato [dominio de traducción]-[idioma]-[handler del fichero].json, total nada.
Dominio será el que usemos para traducir, en el ejemplo sería mi-plugin:
__( 'Hola que tal', 'mi-plugin' );
Idioma es el código del idioma, en este caso es_ES
Y por último el handler del fichero es el primer parámetro que usamos en wp_enqueue_script
Lo podemos ver todo en un ejemplo final:
wp_enqueue_script(
'mi-plugin-handler', // El handler mencionado anteriormente
$blocks_script, // Nuestro path
[
'wp-i18n', // De referenciar al menos a wp-i18n
],
);
wp_set_script_translations( 'mi-plugin-handler, 'mi-plugin', plugin_dir_path( __FILE__ ) . 'languages' );
Mucha es la gente que utiliza WordPress y no todo el mundo debe saber ni diseño, ni CSS, ni XHTML, ni mucho menos el sistema de plantillas de WordPress. Para aquellos que sepan algo, pero necesiten una ayuda, existe Templatr, una herramienta online que permite modificar una plantilla base de WordPress y añadirle los estilos que necesitemos.