Tag: wordpress

¿Cómo arreglar el problema de las tildes y la eñe en WordPress?

Luego de haber retomado el blog me encontré con un problema: Había un monton de caracteres raros en todo lugar donde antes tenía una tilde o una “eñe”, luego de investigar un poco encontré que le habían cambiado el collation a la base de datos de mi blog.

Así el collation que tenía mi blog decía “latin1_swedish_ci” y yo no entendía el motivo, recurriendo a la documentación pude ver el motivo
https://dev.mysql.com/doc/refman/5.6/en/charset-collation-effect.html

Básicamente mi contenido fué creado con un set de caracteres y al tener la base de datos con un collation distinto pues se hizo todo el embrollo, para solucionarlo tenemos que modificar y poner el set correcto, mi recomendación es utilizar UTF-8

Así que vamos paso a paso con la solución que dicho sea de paso también sirve para MariaDB.

Lo primero es que saques un backup completo de tu base de datos antes de empezar a trabajar, mejor prevenir que lamentar 🙂

Abres una consola de MySQL en tu línea de comandos, PHPMyAdmin o el gestor de tu preferencia y ejecutas este query SQL

ALTER DATABASE nombre_de_la_db DEFAULT CHARACTER SET utf8 COLLATE utf8_general_ci;

Eso te asegura que cuando se cree una nueva tabla se haga con la codificación correcta, ahora nos toca trabajar en las tablas
ALTER TABLE nombre_de_la_tabla CONVERT TO CHARACTER SET utf8 COLLATE utf8_general_ci;

Ahora nos toca arreglar las tablas de forma individual, el truco es hacer un dump y luego restaurarlas con el set correcto.
mysqldump -p –default-character-set=utf8 nombre_de_la_db nombre_de_la_tabla > tabla_corregida.sql

Y luego la restauramos con
mysql -p base_de_datos < tabla_corregida.sql

Y eso es todo!

Solución alternativa
Si te da miedo manipular las tablas entonces puedes intentar reemplazar los caracteres malos usando UPDATE

Por ejemplo si quieres arreglar todas las eñes de tus posts tendrías que ejecutar algo como esto:
UPDATE wp_posts SET post_title = REPLACE(post_title, "ñ", "ñ");
UPDATE wp_posts SET post_content = REPLACE(post_content, "ñ", "ñ");

En este ejemplo estoy cambiando tanto el título como el contenido del post, hay más campos y puede ser un poco más tedioso pero si te da más confianza hacerlo así pues adelante.

WordPress y sus frecuentes actualizaciones

WordPress es uno de los CMS mas utilizados en el mundo de los blogs, su extremada popularidad hace que este permanentemente bajo escrutinio, lo que hace que mucha gente trate de aprovecharse de algí¹n problema de seguridad para tomar control de tu blog y hacer fechorí¬as como meterte publicidad sin que tu te des cuenta, convertirte en emisor de spyware o en algunos casos fastidiarte completamente y borrarte todo el contenido del blog, de allí¬ que sea muy importante que siempre estemos actualizando la versión de WordPress, para reducir los riesgos.

El asunto es que hay gente que no esta acostumbrada a hacer actualizaciones y para ellos esto puede ser sumamente molesto especialmente si el periodo de tiempo es corto, y eso es algo que esta sucediendo con WordPress, sino revisemos las fechas de los í¹ltimos releases:

WordPress version 2.6 -> 15 de Julio
Wordpress version 2.6.1 -> 15 de Agosto
Wordpress version 2.6.2 -> 8 de Septiembre
Wordpress version 2.6.3 -> 23 de Octubre

Estamos hablando de 1 versión por mes, donde realmente no han habido ningí¹n cambio importante, las versiones 2.6.1, 2.6.2 y 2.6.3 solo han servido para solucionar problemas de seguridad, por lo tanto ninguna actualización de este tipo deberí¬a dejar tu blog sin funcionar, asi que pueden hacer estas actualizaciones sin ningun temor.

Para facilitarles la labor de actualización, les recomiendo este plugin: WordPress Automatic Upgrade

Gracias a este plugin a mi no me molesta en absoluta actualizar ya que todo se hace con unos cuantos clicks, asi que mientras sea para mejorar, bienvenidas las actualizaciones 🙂

WordPress 2.6 instalado

Decidí­ esperar varios dí­as para hacer la actualización a la última versión de WordPress denominada Tyner. Siempre me gusta esperar un poco para ver si es que no se estropea en otros blogs y de allí­ recién procedo a probar.

Esta vez decidí­ ser un poco mas avezado y decidí­ probar la actualización automática proporcionada por el plugin WordPress Automatic Upgrade, si a Arturo que tiene muchos mas post que yo no le ha fallado, no tendrí­a por que fallar aquí­ verdad? Dicho sea de paso revisen el tutorial que ha publicado al respecto: http://www.arturogoga.com/2008/07/15/tutorial-actualizar-a-wordpress-26/

No hay grandes cambios, me gusta lo de usar Google Gears y lo de saber que cambios hiciste a tus posts al estilo wiki, eso si que esta muy bueno, lo demas son detalles menores 😛

Probando wp-spamfree para controlar el spam

Desde hace mucho tiempo vengo probando distintas opciones para detener el spam y hasta la fecha lo más efectivo que encontré fué wp-morph hecha por el buen Diego Sevilla, desde que lo instalé el número de mensajes se redujo a CERO, lamentablemente he recibido muchas quejas de usuarios que no pueden comentar a causa de este plugin. Asi que he decidido darle una oportunidad a wp-spamfree para ver como van las cosas, asi que agradecere muchí­simo si me hacen llegar sus comentarios y si el plugin les da problema alguno.

Bugs en WordPress: contenido no encontrado y categorias desaparecidas

Encontré 2 problemas en wordpress ( o por lo menos en mi instalación), no sé que problema hubo pero de la noche a la mañana, varios dí­as después de haber actualizado a la última versión 2.3.3 me dí­ cuenta que el contador bajo terriblemente, entre al panel de administración y todo lucí­a bien, cargue el blog y todo bien.

No input file specified
Pensé que era una falla del contador, pero al ver Google Analytics encontré el mismo problema, decidí­ investigar mas a fondo y el resultado fué que habí­a una gran cantidad de post que tení­an un problema con el permalink y en vez de visualizar la página aparecí­a un mensaje de error que decí­a: No input file specified . Inicialmente pensé que erá el PHP pero no, quedó descartado porque habí­a post que si se visualizaban correctamente, luego me dí­ cuenta que los feeds tampoco funcionaban. Entonces ví­ la luz, el problema tení­a que ser el .htaccess.

Lo borré. lo hice de nuevo, recreé la estructura de permalinks desde el wordpress y todo seguí­a igual, asi que no me quedó otra que revisar el código, luego de mucho mirar y casi tirar la toalla, encontré un enlace muy ilustrativo: de como funcionan los permalinks en WordPress

Fué asi que llegué a la solución, lo que tiene que hacer es lo siguiente:

1.- Editar el archivo wp-includes/vars.php
2.- Busquen una lí­nea que tenga el texto $is_apache = bla bla bla puede ir cualquier cosa aqui dependiendo de tu version bla bla bla
3.- Comentar esa lí­nea anteponiendo “//” para que quede asi // $is_apache = bla bla bla
4.- Agregar una lí­nea que diga exactamente: $is_apache = 1;

Por lo visto hay un problema entre wordpress y como detecta el webserver que estas ejecutando, lógicamente esto aplica para todos aquellos que usen Apache 🙂

Las categorí­as se perdieron!
Todo el problema anterior me hizo tomar la decisión de cambiar de hosting, pues fueron 3 dí­as entre que empezó el problema y que yo lo pude solucionar, debido al limitado acceso que tengo al servidor (no tengo privilegios de root), si hubiera sido un problema de apache o php no lo hubiera podido solucionar debido a la falta de privilegios.

Pasé mi blog a DreamHost, todo salió supuestamente bien, hasta que caí­ en la cuenta que todas las categorí­as habí­an desaparecido! todos mis posts aparecí­an como “Uncategorized”.

Revisé las 3 tablas que tienen que ver con las categorí­as en wordpress que son las siguientes: wp_categorias, wp_link2cat y wp_post2cat las volví­ a pasar, pero tení­a el mismo problema, me pusé a buscar y encontré que era un problema conocido:
Upgrade caused loss of Categories

El problema es que mi blog no tení­a exactamente ese problema, yo no estaba haciendo un upgrade, realmente estaba haciendo una migración sobre un “fresh install”. Hice muchas pruebas, hasta que en ese mismo topic encontré la solución: como forzar el upgrade de tu base de datos en WordPress, no, no se trata del mysql en realidad, sino del control de versiones interno que tiene WordPress y que tiene este problema.

La solución es bastante sencilla y rápida
1.- Entra a la consola de mysql y digita
UPGRADE wp_options SET db_version="5183"
2.- Debes usar el número de versión adecuado, no es un número fijo, el número varia de acuerdo a la versión de WordPress que tengas, aqui una tablita para las ultimas versiones:
2.3.2 = 6124
2.3.1 = 6124
2.3 = 6124
2.2.3 = 5183
2.2.x = 5183
2.2 = 5183
2.1.3 = 4773
2.1.x = 4773
2.1 = 4772
2.0.11 = 3441
2.0.x = 3441
2.0 = 3441

3.- Si no puedes acceder a la consola en mysql, puedes usar Phpmyadmin o el gestor de mysql que tengas y realizas exactamente el mismo cambio, ubicar el campo db_version en la tabla wp_options y cambiarlo.
4.- Desactiva todos los plugins y luego pon en tu navegador
http://www.tublog.com/wp-admin/upgrade.php sigue los pasos y todo se arreglará
5.- Todas las categorí­as y subcategorí­as aparecieron otra vez, peeeero mis post seguí­an uncategorized 😛

Por lo visto mi problema era bastante particular y ponerme a categorizar todo de nuevo me da muuuuucha flojera, asi que tení­a que encontrar la solución. Luego de mucho investigar, llegué a la conclusión de que habí­a un problema entre las categorí­as y los tags, desactive todos los plugins, los volví­ a activar y no paso nada, hasta que se me probé usar la opción de transformar alguna categorí­a en tag.

Lo hice solo con una para probar y voilá! se arregló todo! como no creo en la magia seguí­ buscando y la explicación es que todo este rollo se arma por la nueva forma de manejar las categorí­as y los tags que tiene la versión 2.3.3 de WordPress.

Por cierto una de las causas conocidas para este problema es la utilización del plugin Google Sitemap Generator que yo lo usaba, pero al pasar al nuevo hosting nunca instalé.

A ver si le sirve de ayuda a alguien 🙂

Como escribir un plugin de WordPress

Mientras tuve problemas con mi servidor inicié una investigación sobre todos los plugins que utilizo para ver si alguno me causaba problemas. De esta forma me puse a revisar mucho código y me entraron ganas de modificar unos cuantos plugins. Asi fue como llegué a DevLounge donde Ronald Huereca ha escrito una magnífica guía sobre como escribir un plugin para wordpress en una serie de 12 artículos cubriendo desde los aspectos básicos de diseño y programación hasta añadir florituras como Ajax y promocionar tu plugin.

Lectura más que interesante 🙂
How to write a WordPress plugin

WordPress 2.3 instalado

Acabo de instalar el nuevo wordpress 2.3 y al parecer todo esta bien y no hay problema con los plugins que tengo instalados. La mayor novedad es sin duda que ahora se pueden añadir tags de forma nativa en cada uno de los posts. Unas cuantas mejoras en cuanto a la navegación en la parte administrativa (en especial la zona de post y comentarios) y poca cosa más. A ver si pronto me animo a cambiar el theme que este ya ha durado buen tiempo 😉

Como siempre todo el que desee instalarlo lo puede bajar desde wordpress.org