Luego de una muy infructuosa y frustrante búsqueda en todos los foros relacionados con WordPress, XFN y otros microformatos, me fue imposible encontrar un plug-in o pieza de código para hacer esto que voy a explicar. Así que me metí al código de WordPress 2.8.4 y encontré mi propia solución. No sé si es la mejor, pero está funcionando y la comparto por si a alguien le sirve de algo.

Desde algunas versiones anteriores de WordPress, se incorporó la funcionalidad para agregar etiquetas XFN (etiquetas de “relación con el enlace”, uno de los microformatos más populares) cuando uno agrega un enlace al “blogroll” o cualquier categoría de enlaces propia en la interface del blog. La inclusión de una de estas “relaciones” da como resultado una etiqueta rel=”algo” en las etiquetas de enlace <a>. Esta idea es relativamente nueva y está pensada para “representar las relaciones humanas usando hiperenlaces”, según dicen sus creadores en la página oficial de la idea. No calificaré la idea en sí misma; eso le tocará a la blogósfera en general (además, la inclusión de la idea en las últimas versiones de WordPress le está garantizando una gran difusión, casi una imposición, en el mundillo de los blogs).

Lo que es cierto es que la idea ha trascendido rápidamente el ámbito de las “relaciones humanas” -tenía que ser- y está comenzando a aplicarse para la invocación de ciertas aplicaciones Javascript basadas en Mootools o JQuery (entre otras) para la inclusión de efectos visuales del tipo “Lightbox”, “Sexy Lightbox”, entre otras; además de los usos que ya tiene para la invocación de hojas de estilo CSS, enlaces favoritos, etc.

Al usar la interface de WordPress para Añadir Enlaces, puede encontrarse en la parte baja el apartado “Relación con el Enlace (XFN)”, que ofrece una serie de opciones predeterminadas.

El problema

El problema consiste en que si uno intenta rellenar el campo con una etiqueta personalizada (usaré como ejemplo “sexylightbox”, la etiqueta que me llevó a todo esto), el javascript “reconstruye” la etiqueta basándose en las opciones predeterminadas, borrando literalmente cualquier cosa que nosotros escribamos.

La primera opción que encontré fue alterar el .js del javascript para evitar la reconstrucción automática, basándome en una sugerencia de Eduardo Burgos para la versión 2.5.1. Ignoro si en esa versión funcionará, pero en la 2.8.4 NO tiene ningún resultado.

La conclusión a la que llegué fue más sencilla: no alterar el .js sino alterar el formulario que invoca al .js, haciendo que por default incluya la opción para agregar la “rel=” que necesitemos.

El método

Así, el método es el siguiente:

  1. Abrimos el archivo /wp-admin/edit-link-form.php; alrededor de la línea 189 comienza la tabla que contiene el formulario XFN.
  2. Agregamos la siguiente pieza de código, tomando en consideración que se trata de una tabla HTML:
    <tr>
    <th scope=”row”> <?php /* translators: xfn: http://gmpg.org/xfn/ */ _e(‘sexylightbox‘) ?> </th>

    <td><fieldset><legend><span> <?php /* translators: xfn: http://gmpg.org/xfn/ */ _e(‘sexylightbox‘) ?> </span></legend>

    <label for=”sexylightbox“>

    <input type=”radio” name=”sexylightbox” value=”sexylightbox” id=”sexylightbox” <?php xfn_check(‘friendship’, ‘sexylightbox‘, ‘radio’); ?> /> <?php /* translators: xfn: http://gmpg.org/xfn/ */ _e(‘sexylightbox‘) ?></label
    <label for=”friendship”>
    <input name=”sexylightbox” type=”radio” value=”” id=”sexylightbox” <?php xfn_check(‘friendship’, ”, ‘radio’); ?> /> <?php /* translators: xfn: http://gmpg.org/xfn/ */ _e(‘none’) ?></label>

    </fieldset></td>

    </tr>
    Cabe señalar que todos los “sexylightbox” que aparecen aquí en verde, deben corresponderse con la etiqueta “rel=” que se quiera agregar.
    Cabe también señalar que conservé algunas de las invocaciones a la etiqueta “friendship” -que utilicé como modelo- porque por alguna razón la opción “ninguno” (none) no parecía funcionar bien si se cambiaban esas invocaciones.
    Cabe también, por último, decir que el mejor lugar para pegar este código (si lo vas a copiar y pegar) es entre las etiquetas </tr> y <tr> de cualquiera de las líneas de la tabla.
  3. Guardamos el archivo edit-link.form.php. El resultado en la interface de WordPress 2.8.4 es el siguiente:

    Click para ver en tamaño grande

  4. Cuando elegimos la opción “sexylightbox” (o la etiqueta “rel=” que hayamos agregado), ésta se incluye de manera automática en el campo y se mezcla con todas aquellas que hayamos elegido (salvo con la etiqueta “me” –otra dirección web mía– que anula todas las demás por defecto).
  5. Si queremos eliminar nuestra rel= personalizada, basta con escoger “ninguno”, como cabría imaginar.
  6. Supongo que esto funcionará con cuantas etiquetas queramos agregar, pero yo sólo agregué la que me interesaba (lo cual es egoísta; pero se entiende, espero).

Bugs

El único bug que encontré a esta solución es que cada vez que se edite el enlace deberás asegurarte de que la opción de la etiqueta “rel=” que agregaste esté activada. El .js parece borrar cualquier etiqueta que no esté por defecto en su código. Pero, ¿cuántas veces puede uno editar un enlace en el blogroll? Espero que no muchas.

Espero que les sea útil.

The following two tabs change content below.
Soy un Artista Multidisciplinario. Me apasiona lo visual, las palabras y la música. Trato de tener algo de eso cada día de mi vida.

Latest posts by Daniel Iván (see all)