Etiqueta: php

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 🙂