martes, 18 de diciembre de 2012

Hoy en AyudaWordPress.com

Hoy en AyudaWordPress.com

Link to Ayuda WordPress

Importa tus fotos de Instagram a WordPress

Posted: 18 Dec 2012 03:54 PM PST

instagram facebook money

Ahora que ha saltado el escándalo acerca del cambio en las condiciones de Facebook, propietaria de Instagram, por las que podrán hacer uso comercial de nuestras fotos de Instagram, aunque la propiedad siga constando como del usuario, y a pesar de las explicaciones, parece que casi nos pide el cuerpo ver opciones para, por si acaso, o al menos como opción, saber como importar nuestras fotos de Instagram a WordPress.

La verdad es que para mi ha sido la gota que ha colmado el vaso, y no es que tuviera muchas fotos, y por supuesto ninguna buena, pero empiezo a estar un poco harto de estos cambios de políticas de las redes propietarias, así que esta tarde cerré mi cuenta de Instagram.

Por supuesto, no sin antes importar mis fotos a WordPress, para tenerlas en un entorno donde yo decido la propiedad, el uso y las condiciones de mi contenido: en mi WordPress.

Así que si te ves en la misma duda, o ya lo tienes decidido, hay un estupendo plugin para importar de Instagram a WordPress, llamado DsgnWrks, y luego ya decides lo que haces con tu cuenta de Instagram y hasta con tu cuenta de Facebook (yo me lo estoy pensando).

Una vez lo instales y lo actives ve al panel de ajustes el plugin, que está en “Herramientas -> Instagram importer settints“. En la primera pantalla tienes que hacer clic para conceder permiso al plugin para la importación …
importar instagram wordpress 1

Una vez autorizado te devuelve a la página de ajustes, donde puedes elegir qué imágenes importar, cómo etiquetarlas, si quieres publicarlas como entradas, de todo, en una ventaja de opciones realmente completa, como no verás en otros importadores.
importar instagram wordpress 2

Si quieres más opciones, hay otros modos de integrar WordPress e Instagram que ya hemos visto antes.

WordPress 3.6 podría incorporar un importador de Twitter

Posted: 18 Dec 2012 02:41 AM PST

twitter-wordpress

No se si estás al día de la novedad por la que Twitter permitirá descargar el archivo de tuits. Pues bien, en el blog de desarrollo ya se ha abierto la veda y se ha propuesto que se cree un plugin para importar estos archivos de Twitter.

La idea es que sea un importador más, como los que ya existen de Blogger, Movable Type y demás, de manera que puedas, sin salir de WordPress, importar tu archivo de Twitter y publicarlo como entradas en tu WordPress.

Algunas ideas que han ido surgiendo ya serían que el importador permita decidir el tipo de entrada a crear, normal o minientrada (lo que tiene mucho sentido), o definir desde cuando importar los tuits, y muchas más ideas que irán surgiendo.

Yo de momento ya tengo copia de seguridad de mi Twitter, creada con WordPress.

¿Te parece buena idea?, es más, ¿lo harías?.

domingo, 16 de diciembre de 2012

Hoy en AyudaWordPress.com

Hoy en AyudaWordPress.com

Link to Ayuda WordPress

Vídeo e imágenes en comentarios WordPress

Posted: 16 Dec 2012 03:01 PM PST

tecla comentar

Siguiendo con el tema de incrustar contenido multimedia de manera sencilla en WordPress, puede surgirte la idea de permitir este tipo de contenido también en los comentarios que dejan tus visitantes, y es relativamente sencillo.

Ahora bien, es una decisión que debes meditar un poco, porque salvo necesidad no es algo común y solo distraerá del verdadero objetivo de los comentarios, y es dejar opiniones y conversación sobre el tema de cada publicación.

Pero si lo tienes claro hay varias maneras de permitir comentarios con contenido multimedia, estos son algunos:

  • Disqus: este sistema mejorado de comentarios tiene, entre sus opciones, la posibilidad de permitir insertar contenido multimedia. Si lo activas los usuarios podrán insertar vídeos de YouTube simplemente pegando la URL del mismo, o subir imágenes de un tamaño máximo de 2 Mb, que se visualizarán una vez publicado el comentario.
    casilla subir medios disqus subir imagen disqus
  • oEmbed in comments: este plugin extiende el soporte de oEmbed a los comentarios de nuestro WordPress. Nada que configurar, simplemente ya puedes hacerlo, igual que en el editor y soportando los mismos servicios.
    oembed comentarios wordpress
  • Livefyre: este sistema de mejora de los comentarios, al igual que Disqus, también integra la posibilidad de insertar contenido multimedia en los comentarios, entre otras funcionalidades avanzadas. ¿Que por qué no lo uso si tanto mola?, pues porque tiene sus cosas, otro día lo hablamos.
  • Intense debate: este otro sistema de comentarios, en este caso de Automattic, también tiene la posibilidad de permitir contenido multimedia en los comentarios, aunque en este caso pasa por la instalación de añadidos adicionales, pero funcionar funciona. Los tienes gratuitos para insertar vídeos de YouTube o encuestas de Polldaddy, por ejemplo.
  • Comments images: sencillo pero efectivo plugin que añade la posibilidad de acompañar los comentarios con imágenes subidas por el usuario. Soporta los formatos de imagen PNG, GIF, JPG, y JPEG, ajustando las mismas al estilo de los comentarios definidos en el tema WordPress.

En fin, que hay bastantes posibilidades, y estas son unas cuantas, si sabes de alguna más nos lo cuentas, pero sobre todo … ¿ves interesante lo de insertar contenido multimedia en los comentarios?

LinkedIn se divorcia de WordPress

Posted: 16 Dec 2012 11:46 AM PST

wordpress linkedin

Según ha anunciado LinkedIn en un correo a sus usuarios (servidor incluido), debido a un nuevo diseño de la red profesional de contactos, o eso dicen, van a desactivar la aplicación WordPress para su red.

A día de hoy aún está activa, y puedes sincronizarla con tu perfil de LinkedIn para que muestre tus últimas entradas de un sitio WordPress, pero dentro de poco (según la nota el 11 de diciembre, pero parece que van con retraso) ya no estará disponible en el directorio de aplicaciones de LinkedIn.

Las explicaciones dadas en el correo no explican mucho, como puedes comprobar …

Dear Fernando

On December 11, 2012, you'll be getting the new LinkedIn profile, which has a simplified design, provides deeper insights, and surfaces new ways to connect and build relationships. You'll also be one of the first to preview a new way to showcase rich content on your profile — like presentations, videos, documents, and more.

Now there are more ways than ever to tell your professional story on LinkedIn, and we're excited for you to try them out. As we roll out these changes, we'll also be streamlining our app offerings, so the following LinkedIn apps will no longer be supported on the homepage or profile as of December 11:

  • WordPress

You can find out more about these changes on our Help Center.

We hope you like your new LinkedIn profile!

Thanks,

The LinkedIn Team

¡Y una leche!

Sinceramente, no se qué puñetas tendrá que ver el nuevo diseño para que quiten la posibilidad de compartir el contenido de, por ejemplo, tu blog profesional, en LinkedIn, y sino que nos lo explique alguien de LinkedIn ¿no?. Para mi que las relaciones con Automattic no pasan por el mejor momento, pero es algo que no debería afectar a toda la comunidad de usuarios de WordPress, que es un software libre, y no pasa necesariamente por Automattic, así que me parece un error.

¿Qué van a apostar, por blogspot?, o igual es que no quieren contenido automático de blogs en los perfiles, porque sin embargo bien que aparecen actualizaciones de Twitter, por ejemplo. No hace mucho tiempo WordPress era aplicación destacada para LinkedIn y ahora la quitan, ¡flipo!.

wordpress app destacada linkedin

Vamos, que me parece un error, y como me cabree más – para lo que lo uso aparte de recibir spam – lo mismo borro mi perfil de LinkedIn como hice con otros de estas redes profesionales.

De momento, como no lo han quitado, ahí está, y luego, pues no lo se, pero lo mismo se sigue pudiendo enviar contenido mediante la utilidad de “divulgar” de JetPack, que por si no te acordabas … 

jetpack wordpress linkedin

Ancho máximo para incrustados con oEmbed a partir de WordPress 3.5

Posted: 15 Dec 2012 10:13 AM PST

flipado japo

La posibilidad de insertar contenido multimedia sin necesidad de copiar y pegar scripts o iframes es una auténtica mejora de WordPress, especialmente si usas el editor visual principalmente, o si quieres que solo se use el editor visual. Y es que con la característica de soporte nativo de oEmbed en WordPress podemos insertar casi de todo solo pegando la URL donde está el contenido en el editor, tal cual.

Para ello, en los ajustes de medios del escritorio de WordPress veías esto … 

Antes de WP 3.5

Antes de WP 3.5

¡Pero desde WordPress 3.5 esos ajustes han desaparecido!

En WP 3.5

En WP 3.5

¿Por qué?. Pues no solo viene activa por defecto la opción en WordPress 3.5 sino que no puedes ajustar el ancho o alto máximo de los objetos incrustados, y WordPress “supondrá” que tu tema activo tiene definido un ancho de contenido, al que ajustará el ancho de los incrustados, ajustando la altura máxima a 1,5 veces el alto. La decisión es básicamente por simplificar, no sé si porque alguien está decidiendo que WordPress tiene demasiados ajustes, pero bueno, eso o hablamos otro día.

Entonces ¿qué pasa si mi tema WordPress no tiene definido un ancho de contenido?, pues que el contenido se saldrá del bloque de contenido, quedando bastante fea la cosa, algo muy común por ejemplo con vídeos panorámicos de YouTube y similares.

Si así fuera, afortunadamente, tiene fácil solución, pues solo tienes que añadir esta línea de código al archivo functions.php de tu tema activo:

//Definir ancho de contenido  if ( ! isset( $content_width ) ) $content_width = 550;

(Nota: en el ejemplo el ancho máximo está puesto a 550, cámbialo al ancho del contenido de tu tema)

Si, además, quieres desactivar los auto-incrustados en WordPress 3.5 ya sabes que puedes hacerlo como comenté el otro día y puedes comprobar en el enlace anterior.

viernes, 14 de diciembre de 2012

Hoy en AyudaWordPress.com

Hoy en AyudaWordPress.com

Link to Ayuda WordPress

WordPress 3.5: Personaliza el editor de entradas

Posted: 14 Dec 2012 02:37 PM PST

wordpress hooks

Una de las novedades de WordPress 3.5 que no son tan obvias como el resto son unos nuevos hooks de administración, en concreto edit_form_after_title y edit_form_after_editor, que además son muy útiles a nada que le pierdas el miedo a tocar un poquito de código.

Lo mejor de todo es que su uso es muy sencillo, pues solo tienes que añadir a tu plugin de funciones algo así:

//Personalizar editor con mensajes  add_action( 'edit_form_after_title', 'myprefix_edit_form_after_title' );  function myprefix_edit_form_after_title() {      echo '<h2>¡Recuerda usar la palabra clave principal en el título!</h2>';  }     add_action( 'edit_form_after_editor', 'myprefix_edit_form_after_editor' );  function myprefix_edit_form_after_editor() {      echo '<h2>¡Antes de publicar añade tags!</h2>';  }     add_action( 'edit_form_advanced', 'myprefix_edit_form_advanced' );  function myprefix_edit_form_advanced() {      echo '<h2>¡Este es otro recordatorio!</h2>';  }

En el ejemplo verás que también se usa el ya existente previamente hook edit_form_advanced, que todavía puedes usar para insertarlo bajo las cajas estándar, o si lo prefieres, también sigue vigente para las páginas el hook edit_page_form.

Lo que obtienes es algo así de chulo … 

Uso de edit_form_advanced Uso de edit_form_after_editor Uso de edit_form_after_title

Ah, y no se te olvide, los textos son de ejemplo, ponlos a tu gusto.

jueves, 13 de diciembre de 2012

Hoy en AyudaWordPress.com

Hoy en AyudaWordPress.com

Link to Ayuda WordPress

WordPress 3.5: peligro de inyección SQL si ves “PHP Warning: Missing argument 2 for wpdb::prepare()”

Posted: 13 Dec 2012 12:47 PM PST

codigo matrix hackeado

Nos avisa el bueno de Andrew Nacin de un grave error en sitios que han actualizado a WordPress 3.5 que, aunque no afecta a todos, es un potencial peligro de inyecciones SQL, así que no hay que tomarlo con ligereza.

El asunto es que hay usuarios que, debido a plugins o temas, están recibiendo un aviso bastante feo, este:

"PHP Warning: Missing argument 2 for wpdb::prepare()."

Pues bien, como se ha apuntado en los foros de soporte, esto es debido a que algo o alguien (un plugin) está usando incorrectamente la función $wpdb->prepare. Es un aviso de algo gordo, porque también indica un uso indebido de prepare(), y eso es un riesgo de seguridad.

No es un error de WordPress, más bien al revés, pues el equipo de desarrollo ha preferido que estos errores se muestren a que tengamos un agujero de seguridad por un plugin y no nos enteremos, así que en realidad está hecho por nuestro bien, mal que le pese a algún desarrollador que ahora tendrá que revisar su código.

Un ejemplo de esto sería esta línea de código en un plugin:

$wpdb->query( $wpdb->prepare( "UPDATE $wpdb->comments SET comment_parent=$parentID WHERE comment_ID=$commentID;" ) );

El problema es que no se ha usado la declaración de prepare correctamente, pues incluye las variables $parentID y $commentID directamente en el SQL. Para hacerlo bien se tendrían que usar “placeholders” y luego ya incluir las variables.

El ejemplo anterior es un código peligroso, ya que conlleva la posibilidad de que abra la puerta a un exploit de inyección SQL, o sea, el primer paso para hackear tu sitio web.

El código anterior se puede solucionar de este modo:

$wpdb->query( $wpdb->prepare( "UPDATE $wpdb->comments SET comment_parent=%d WHERE comment_ID=%d;", $parentID, $commentID ) );

Como ambos se supone que son integradores, se han reemplazado las variables en la declaración con el %d, y luego se ponen las variables al final de la declaración prepare(). Así es como se supone que se debe usar prepare. Si fueran cadenas entonces usas %s.

O sea, que si quieres arreglar momentáneamente el error tienes que encontrar la línea de código con el problema y corregirla. Con eso eliminas el exploit y el mensaje de aviso tan feo.

Por supuesto, lo anterior es un apaño temporal que solo te sirve a ti, no a toda la comunidad ni a WordPress en su conjunto, lo que hay que hacer en realidad si ves este error es lo siguiente:

  1. Desactivar todos los plugins
  2. Ir activando uno a uno hasta detectar el que provoca el error
  3. Avisar al desarrollador indicándole el enlace del artículo de Andrew Nacin para que lo arregle y suba una versión segura

Lo mismo también puede pasar con un tema WordPress así que si tras hacer lo anterior sigue el error cambia de tema para comprobarlo.

La peor solución es ocultar los errores, aunque puedes hacerlo simplemente añadiendo estas líneas al fichero wp-config.php:

ini_set( 'display_errors', false );  error_reporting( 0 );

Un ejemplo de este error, lamentablemente, es el plugin Akismet, pues aunque acaban de actualizalo ahora mismo y soluciona el fallo deberían haber estado más pendientes, por la estrecha relación de Automattic con el desarrollo de WordPress.

Entorno de desarrollo para WordPress

Posted: 12 Dec 2012 12:00 PM PST

web plan

Una vez que ya tienes tu WordPress funcionando y aumentando en número de visitas, posiblemente necesitarás nuevos cambios para mejorar el aspecto, para añadirle nuevas funcionalidades, etc.

En este post se explicará cómo crear un entorno de desarrollo en tu propia máquina local para poder jugar con él lo que quieras sin ningún riesgo para tu sitio WordPress. Una vez que hayas cambiado el tema, añadas plugins o personalices algunos aspectos del sitio y estés seguros de los cambios, tan sólo es necesario sincronizar los ficheros y ¡listo! Tendrás de forma rápida y segura tu nuevo WordPress funcionando.

Para crear un entorno de desarrollo local de WordPress necesitarás la famosa arquitectura AMP (Apache. MySQL y PHP). La primera letra denota el sistema operativo por lo que se suele usar WAMP para Windows, MAMP para OS X y LAMP para sistemas Linux. Estos requisitos pueden ser instalados de forma independiente en tu sistema operativo de forma manual.

  • Si usas Windows, puedes encontrar instaladores para MySQL y Apache. Después tendrás que seguir guías para configurar PHP y finalmente WordPress.

  • Si usas alguna distribución Linux, puedes usar el gestor de paquetes de tu sistema ("apt-get", "yum", "zypper", etc) para montar tu propia plataforma.

  • Si usas OS X, Apache y PHP están ya instalados en tu máquina, tendrás que habilitarlos y descargar el instalador de MySQL.

Una forma mucho más sencilla, limpia y rápida de tener todo funcionando es usar un instalador donde todo esté configurado y listo para usar. Estos instaladores tienen la ventaja de que son autocontenidos, todos los ficheros se encuentran en un directorio y no realizan cambios en tu sistema. Puedes tener varios sistemas en tu máquina independientes para probar distintas configuraciones. Para ello existen varias alternativas, entre las más populares están:

  • XAMPP de apachefriends.org. Instala Apache, MySQL, PHP y Perl.

  • BitNami WAMP, MAMP y LAMP. Además proporciona instaladores para las aplicaciones más populares como el propio WordPress, Drupal, Joomla! y muchos más.

En este se usará el instalador de BitNami WordPress que ya viene configurado para tenerlo funcionando en 5 minutos. Tan sólo tienes que descargar el instalador para tu sistema operativo y seguir unos sencillos pasos de instalación:

¡Ya tienes WordPress funcionando en tu propia máquina! Puedes acceder a http://127.0.0.1/wordpress desde Windows o http://127.0.0.1:8080/wordpress desde OS X o Linux para acceder al panel de control con el usuario y contraseña que especificaste durante la instalación.

En el directorio de instalación encontrarás una aplicación para iniciar y parar los servidores llamada "manager". Asegúrate de que ambos servidores estén funcionando antes de acceder a tu instalación de WordPress.

A continuación se mostrará el proceso para sincronizar tu WordPress en producción con el instalado en tu máquina local.

Para ello necesitarás realizar primero una copia de la base de datos. Si tienes acceso a phpMyAdmin en tu hosting puedes crear una copia de seguridad o "dump" de la base de datos a través de la acción "Exportar". Si tienes acceso a un terminal en tu hosting puedes crear la copia de seguridad "backup.sql" con el siguiente comando:

mysqldump -u root -p tu_base_de_datos > backup.sql

Descarga este fichero a tu ordenador y cópialo direactamente en "C:". Después podrás importarlo a través de phpMyAdmin a la base de datos de tu instalación local. También puedes realizar esta acción a través de la línea de comandos:

mysql -u root -p bitnami_wordpress < C:\backup.sql

Si todo ha funcionado correctamente ya tienes la base de datos sincronizada. Para la sincronización de ficheros el proceso es simple, debes sobreescribir todos los ficheros de tu WordPress remoto con los de tu instalación local a excepción de wp-config.php. Para ello puedes descargarte los ficheros con un cliente FTP (por ejemplo, FileZilla, WinSCP, Cyberduck o cualquier otro). Los ficheros de WordPress de tu máquina se encuentran por defecto en el directorio:

  • C:\Program Files\BitNami WordPress Stack\apps\wordpress\htdocs en Windows

  • /Applications/wordpress-version/apps/wordpress/htdocs en OS X

  • /home/user/wordpress-version/apps/wordpress/htdocs en Linux

El último paso es configurar el dominio o URL. Por defecto BitNami WordPress está configurado para acceder a http://tu_dominio/wordpress. Esto es así para permitir instalar más aplicaciones como Joomla!, Drupal, Moodle u otros encima de tu instalación de WordPress. Puedes descargar estos módulos en http://bitnami.org/stacks.

Para cambiar la URL y acceder a tu WordPress desde la URL principal (sin /wordpress), debes modificar el archivo de configuración para que quede de la siguiente forma (en rojo las líneas que cambian)

"directorio_de_instalación/apps/wordpress/conf/wordpress.conf"

DocumentRoot "/directorio_de_instalación/apps/wordpress/htdocs"

#Alias /wordpress/ “/directorio_de_instalación/apps/wordpress/htdocs/”

#Alias /wordpress “/directorio_de_instalación/apps/wordpress/htdocs”

<Directory “/directorio_de_instalación/apps/wordpress/htdocs”>

Options +MultiViews +FollowSymLinks

AllowOverride All

<IfVersion < 2.3 >

Order allow,deny

Allow from all

</IfVersion>

<IfVersion >= 2.3>

Require all granted

</IfVersion>

RewriteEngine On

RewriteBase /

RewriteRule ^index\.php$ – [L]

RewriteCond %{REQUEST_FILENAME} !-f

RewriteCond %{REQUEST_FILENAME} !-d

RewriteRule . /index.php [L]

</Directory>

También modificar el archivo wp-config.php para eliminar el sufijo /wordpress en estas dos líneas:

define(‘WP_SITEURL’, ‘http://’ . $_SERVER['HTTP_HOST']);

define(‘WP_HOME’, ‘http://’ . $_SERVER['HTTP_HOST']); 

Ya está todo listo para acceder a tu instalación local a través de la siguiente URL http://127.0.0.1 en Windows o http://127.0.0.1:8080 en OS X o Linux. Puedes realizar los cambios que quieras en tu instalación local y cuando lo tengas todo listo puedes realizar el proceso inverso para subir los cambios a tu WordPress en producción:

  1. Restaurar una copia de la base de datos.
  2. Subir los ficheros de WordPress a excepción de wp-config.php.

Espero que esta guía sirva para poder probar y desarrollar funcionalidades en tu WordPress de forma más sencilla, rápida y segura. Puedes encontrar más información sobre el instalador de BitNami WordPress en su Wiki.

martes, 11 de diciembre de 2012

Hoy en AyudaWordPress.com

Hoy en AyudaWordPress.com

Link to Ayuda WordPress

bbPress 2.2.3 disponible

Posted: 11 Dec 2012 11:53 AM PST

También se ha actualizado el plugin bbPress, que añade un foro a tu WordPress, a la versión 2.2.3, mejorando la compatibilidad con WordPress 3.5 y solucionando algunos fallos de integración con temas y con BuddyPress. Ya lo puedes descargar o actualizar.

BuddyPress 1.6.2, disponible y compatible con WordPress 3.5

Posted: 11 Dec 2012 11:49 AM PST

En paralelo con la liberación de WordPress 3.5 ya está también lista la versión 1.2.6 de BuddyPress, el plugin que convierte WordPress en una red social completa. Si lo usas ya puedes descargarla o actualizar. La lista de cambios aquí.

WordPress 3.5 final ya disponible

Posted: 11 Dec 2012 11:05 AM PST

WordPress 3.5

Pues ya está, la espera ha sido larga pero sobre todo intensa y emocionante. Ya tenemos disponible WordPress 3.5 en su versión final, y con la traducción al español de España también lista, aunque estamos pendientes de que nos disponibilicen la distribución así que queda esperar unas horas para tenerla en nuestro idioma (lo siento).

A modo de recordatorio, vamos a apuntar las novedades de WordPress 3.5 que desde ya puedes empezar a utilizar en tu sitio:

  1. Nuevo cargador y gestión de imágenes.
  2. Varias galerías pudiendo reordenar con “arrastrar y soltar” imágenes de una a otra.
  3. Editor de imágenes adjuntas.
  4. Iconos planos en el editor visual.
  5. Botones cuadrados en vez de redondos (se supone que más modernos).
  6. Nuevo tema por defecto Twenty Twelve (Twenty Ten ya no estará en la distribución oficial aunque se podrá descargar independientemente).
  7. Escritorio HiDPI para una mejor experiencia con pantallas retina.
  8. Toda la zona de administración ahora es adaptable al dispositivo con el que se esté visualizando.
  9. Mejoras en el soporte de elementos “incrustables” con oEmbed (Instagram, Slideshare, Soundcloud).
  10. Plugins favoritos.
  11. Mejoras en multisitio, como que ahora ya se puede instalar en una carpeta.
  12. Se cambia el nombre del editor “HTML” a “Texto”
  13. Desaparece la gestión de enlaces.
  14. XML-RPC activo por defecto (sic).
  15. APIs actualizadas (TinyMCE, jQuery, jQuery UI, jCrop, y SimplePie).

Como ves son muchas cosas nuevas, unas buenísimas y otras no tanto, pero todas dignas de mención, así que ¡a probarlo ya mismo!.

Y ahora la pregunta … 

lunes, 10 de diciembre de 2012

Hoy en AyudaWordPress.com

Hoy en AyudaWordPress.com

Link to Ayuda WordPress

Preparar plugins WordPress para traducción

Posted: 10 Dec 2012 03:01 PM PST

Hace tiempo que vimos cómo preparar temas WordPress para traducción, pero también los plugins adquieren mayor popularidad, y a fin de cuentas son más útiles para todo tipo de usuarios si vienen preparados para traducción. En un mundo tan globalizado no tiene sentido restringir la popularidad de un plugin a solo el idioma de unos cuantos, por muchos que sean ¿no?.

El proceso, similar en algunos aspectos, al de los temas, pasa por una buena serie de pasos, que añaden tarea a la publicación definitiva del plugin pero que, sin duda, hará que tu plugin sume muchos puntos a favor de la comunidad de usuarios de WordPress.

Internacionalización frente a localización

Antes de que puedas internacionalizar tu plugin debes saber lo que esto significa. También conocido como i18n, significa modificar el plugin para que personas de otras lenguas puedan fácilmente usar tu plugin.

La localización es el proceso puro y duro de modificar el plugin a otro idioma. Sin embargo, internacionalizar conlleva mucho más que simplemente traducir la interfaz del plugin. Por ejemplo, uso de sistema métrico o unidades anglosajonas, signos de puntuación para separar millares, y todas esas particularidades.

Aunque la guía siguiente está orientada a la localización no olvides esos factores adicionales, para tenerlos en cuenta.

Dominios e inicialización

Localizar tu plugin significa que tienes que disponer de un dominio de texto, manteniendo cada uno separado del resto que usa WordPress u otros plugins. Da igual lo que quieras usar como dominio de texto pero elige algo único, a ser posible que esté relacionado con tu plugin.

Antes de localizar completamente tu plugin tendrás que decirle a WordPress cómo puede encontrar sus cadenas de texto. Si el código no existe ya tendrás que insertar algo como esto:

add_action( 'init', 'miFuncion' );

Este código se comunica con WordPress y le dice que use la función llamada miFuncion cuando se cargue. Luego, esta función le dará a WordPress el nombre de tu dominio de texto y le enseñará como puede cargar las cadenas de texto localizadas, algo así:

function miFuncion() {      load_plugin_textdomain( 'midominiodetexto', 'wp-content/plugins/miplugin' );  }

La función WordPress load_plugin_textdomain informa a WordPress que hay un dominio de texto llamado midominiodetexto, y que los archivos que tienen las cadenas localizadas están en la carpeta del servidor wp-content/plugins/miplugin. Por supuesto, las convenciones usadas en este artículo deberás cambiarlas por tu ruta de carpeta, nombre de dominio de texto, nombre de función, etc, creo que ya lo imaginabas pero nunca está de más recordarlo.

Preparando las cadenas

Después de la inicialización tendrás que cambiar las cadenas estáticas por una función que permita a WordPress utilizar la versión localizada adecuada de esa cadena. Más que nada para que WordPress no use el idioma erróneo.

Esta función ofrece un nombre corto que facilita la internacionalización: la función con doble barra baja __(cadena, dominio). La función tiene dos parámetros, el primero es la cadena que el plugin usa por defecto si no hay una versión localizada disponible, y el segundo parámetro es el mismo dominio de texto que elegiste en el código anterior.

Antes de ponernos con este paso nuestro código sería así:

function addMyAdminPage() {      add_options_page(          'A Page Title',          'A Menu Title',          7, __FILE__, 'myAdminFunction' );   }

Y después quedaría de este modo:

function addMyAdminPage() {      add_options_page(          __( 'A Page Title', 'textdomain' ),          __( 'A Menu Title', 'textdomain' ),          7, __FILE__, 'myAdminFunction' );   }

Localización

Una vez hechos todos los preparativos anteriores ya estarás preparado para el proceso real de hacer que tu plugin WordPress esté disponible en varios idiomas.

Crear una localización para tu plugin requiere fabricar un fichero .po, con nombre similar al archivo de tu plugin, y con los códigos ISO 639 de dos letras para cada país e idioma. Por ejemplo, si tu plugin se llama “miplugin” y quieres localizarlo al Español de España tendría que llamarse así el archivo: “miplugin-es_ES.po”

Aunque el codex de WordPress ofrece herramientas que pueden ayudar a la localización a menudo es mejor simplemente tirar del fichero .po de otro plugin como base. Los archivos .po están hechos con una cabecera sencilla y luego las parejas de traducción:

msgid "Options"  msgstr "Opciones"

El msgid es la cadena estándar que aparece en la función de doble barra baja que definiste. Una vez creado el archivo .po puedes usar cualquier herramienta para crear los archivos .mo, que es el otro archivo que WordPress requiere para la traducción, y en realidad el único que leerá para hacerla. Personalmente te recomiendo que uses PoEdit, que además es multiplataforma.

Deja que ayuden otros traductores

Nadie conoce todos los idiomas, al menos nadie que yo conozca, así que si quieres expandir la popularidad de tu plugin lo mejor es aumentar tus recursos y permitir que otros traduzcan tu plugin.

Ahora bien, esto requiere un procedimiento especial para generar los archivos necesarios que ofrecer a los traductores, ya que no vas a pasarles el código fuente para que, por error, rompan algo que no deban ¿no?, que ser traductor no significa que también sean programadores.

El archivos que tendrás que dar a los traductores es un archivo POT, que es más o menos así:

#: wp-admin/admin-header.php:49  msgid "Options"  msgstr ""

Hay dos maneras de crear este archivo. Si ya subiste tu plugin al repositorio ve a la página de administración y elige “Generate POT file”. Este archivo es el que enviarás a los traductores para que traduzcan el plugin. Si quieres, a veces es buena idea también enviarles el plugin completo por si les surgen dudas de donde va cada cosa, de manera que puedan instalarlo e ir viendo los cambios tras la traducción.

Si aún no tienes el plugin en el repositorio puedes ir al directorio de herramientas i18n de WordPress y usar el script makepot.php de este modo:

php makepot.php wp-plugin el-directorio-del-plugin

Eso si, tendrás que instalar el paquete de utilidades de internacionalización de GNU en tu servidor antes de ejecutar este comando.

¡A probarlo!

Cuando ya tengas todos los archivos localizados en su lugar es hora de probarlos y comprobar si todo va bien o se te pasó algo.

Para probar la localización lo único que tienes que hacer es cambiar una línea el archivo de configuración de WordPress para decirle que use un idioma distinto, y así comprobar que hemos localizado bien el plugin.

Así que abre el archivo wp-config.php y localiza esta línea:

define ('WPLANG', 'es_ES');

Y la cambias al código de país para el que has preparado para localización tu plugin, por ejemplo pt_PT (portugués de Portugal):

define ('WPLANG', 'pt_PT');

Activa el plugin y comprueba que todas las cadenas de texto se han traducido automáticamente al nuevo idioma definido. Si es así ya puedes devolver esa línea anterior a como estaba.

Y ya, no hay mucho más acerca de internacionalizar plugins. Si lo has hecho ya cuéntanos tu experiencia, o trucos que nos ayuden a todos.

WordPress 3.5 RC5 y RC6

Posted: 10 Dec 2012 07:36 AM PST

Pues se atrasa otro poco la versión final de WordPress 3.5, pues tras algunos problemas con el editor TinyMCE se ha decidido aplazar la versión definitiva y liberar, entretanto, un par de versiones RC, en concreto la RC5 ayer y la RC6 hoy.

Vamos, que nos toca esperar otro día más, por una buena causa.

Seguidores

Archivo del blog