Search and Replace, plugin para WordPress

27/12/2009

Cuando me ocurrió aquél problema con las codificaciones hace poco, tras un comentario de zanguanga, descubrí el plugin Search and Replace. Y la verdad es que es muy útil. Voy a explicaros, un poco por encima (aunque es muy fácil) cómo funciona y, además, aportaré unas modificaciones que le realicé para que su rendimiento sea aún más óptimo.

Funcionamiento

Como bien indica el nombre del plugin, lo que hace es buscar una cadena de texto que nosotros le especifiquemos y, asimismo, reemplazarla por la que nosotros le indiquemos. En mi caso, me hubiera sido muy útil para reparar los errores de codificación, ya que proporcionándole el carácter erróneo que hemos obtenido, sabiendo por cuál debe ser reemplazado correctamente, e indicándoselo, tendríamos la papeleta resuelta en un santiamén.

La imagen que os proporciono arriba es lo que veríamos tras, una vez instalado el plugin, irnos al panel de administración y a su sección de configuración. Como veis, es muy sencillo. Simplemente basta con seleccionar las tablas en las que queremos que se consulten las búsquedas (generalmente, todas), indicarle la cadena de texto a buscar y la cadena de texto por la que será reemplazada.

Modificación

Es cierto que el plugin es bastante completo, pero en mi caso que tenía toda la codificación patas arriba me fue útil añadirle dos zonas más donde hacer las consultas y las posteriores modificaciones, si las requiere. Y es que, en los perfiles de nuestros usuarios registrados, es probable que tengamos alguno con algún carácter extraño, alguna letra acentuada, o incluso la letra ñ. Y, en estos casos, el plugin tal como viene de serie no haría nada porque en esas celdas no se fija. ¿La solución? conseguir que se fije para que podamos cambiarlo también.

Lo primero que debemos hacer es ir a nuestra carpeta de plugins, generalmente en /public_html/TUBLOG/wp-content/plugins; de ahí nos vamos a la carpeta del plugin: search-and-replace y abrimos el archivo search-and-replace.php.

  1. Buscamos esta parte del código:
    $query  = "UPDATE $wpdb->usermeta ";
    $query .= "SET user_id = ";
    $query .= "REPLACE(user_id, \"$search_slug\", \"$replace_slug\") ";
    $wpdb->get_results($query);

    Y justo debajo añadimos esto:

    $query  = "UPDATE $wpdb->usermeta ";
    $query .= "SET meta_value = ";
    $query .= "REPLACE(meta_value, \"$search_text\", \"$replace_text\") ";
    $wpdb->get_results($query);
  2. Ahora, poco más abajo, buscamos esta otra parte de código:
    $myecho .= searchandreplace_results('user_nicename', 'users', $search_slug);

    Y justo debajo, también, añadimos esto otro:

    $myecho .= searchandreplace_results('display_name', 'users', $search_slug);
  3. Más abajo tendremos esta otra parte de código:
    $query .= "SET user_nicename = ";
    $query .= "REPLACE(user_nicename, \"$search_slug\", \"$replace_slug\") ";

    Y, como antes, justo debajo añadimos esto:

    $query .= "SET display_name = ";
    $query .= "REPLACE(display_name, \"$search_slug\", \"$replace_slug\") ";
  4. Buscamos esta línea más abajo:
    <td></td>

    Y la reemplazamos por esta otra:

    <td></td>
  5. Y, por último, buscamos esta línea:
    <td></td>

    Y la reemplazamos por esta otra:

    <td></td>

Guardamos cambios y ya lo tenemos. Ahora, cuando busque en la base de datos SQL buscará también en los nombres de nuestros usuarios registrados y, si procede, reemplazará la cadena indicada por lo que nosotros queramos.

Espero que os resulte útil.

Comentarios: 4 comentarios
Categorías: tutoriales
Etiquetas: -
Vota: bitacoras.com
Guarda: delicious
Envía: twitter - facebook
  • http://carlos63ccp.blogspot.com carlos63

    No le dedico mucho tiempo, pero acostumbrado a blogger WordPress se me hace algo complicado. Espero un dia disponer de mas tiempo para estudiarlo mejor.

    Tengo un blog con esta plataforma y en cuanto hago alguna modificación, ya esta montado el lio.

    En fin, te deseo unas Felices Fiestas con mis mejores deseos.

    Saludos.

    • http://blog.fjp.es Javi

      ¡Hola Carlos!

      Lo primero de todo, felices fiestas también para ti; y encantado de leerte de nuevo por aquí.

      En cuanto a WordPress, lo malo que tiene, es que si quieres llevarlo más allá de lo que es escribir artículos y publicarlos debes tener un mínimo de nociones de PHP o, por contra, seguir tutoriales como los que intento hacer yo para que a quienes no dispongan de los conocimientos suficientes (que nadie tiene por qué tenerlos) les sea más fácil ir añadiendo mejoras. Pero como sabes, para utilizar WordPress estas cosas no son necesarias, siempre entran dentro de la elección de cada cual si complicarse la vida o limitarse a escribir y publicar sin más. El tema es que yo soy un culo inquieto y siempre he de estar haciéndole algo nuevo al blog. xD

      ¡Un saludo!

  • http://www.zanguanga.com zanguanga

    Muchas gracias por la referencia Javi y por el tuto para hacer modificaciones :)

    Espero que el 2010 te traiga muchas cosas buenas. Un abrazo. Angeles.

  • Sergio

    Hola,

    Me ocurre lo siguiente: hace poco hice un traslado de servidor de un blog manteniendo el mismo nombre de dominio. Realicé una copia de la base de datos mediante la herramienta de generación de archivo xml que tiene el propio wordpress. Posteriormente instalé todo el blog en el nuevo servidor, agregué el archivo xml y todo genial hasta ahí. El problema es que el tema que tengo instalado usa thumbnails en los post y ahora cuando cuelgo un nuevo post no me aparece la miniatura, a pesar de que la imagen sí está en el servidor y los permisos de escritura están todos correctos.

    Me dijeron que la solución está en instalar el plugin de search & replace e indicarle la nueva ruta de alojamiento de los thumbnails pero no sé utilizar este plugin. No sé qué seleccionar y la dirección que poner.

    Muchas gracias por adelantado.