Soluciones a problemas en Wordpress 2.5.1
Problema Nº1
Quizá el bug más grave, que se conoció hace unos dias es el que no funciona la posibilidad de resetear el password de adminitrador de worpress, perdiendo acceso. Esto lo encontre en aNieto2k
tenemos que modificar dos archivos.
- wp-includes/pluggable.php (Línea 1171)
- wp-login.php (Línea 96)
Buscamos estas dos lineas en wp-includes/pluggable.php (Línea 1171)
function wp_generate_password($length = 12) {
$chars = 'abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789!@#$%^&*()';
y las modificamos por estas otras
function wp_generate_password($length = 12, $special_chars = true) {
$chars = 'abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789';
if ( $special_chars ) $chars .= '!@#$%^&*()';
Ahora en el archivo wp-login.php buscamos esta linea:
$key = wp_generate_password();
y la remplazamos por esta
$key = wp_generate_password(20, false);
Tampoco hay que desesperarse wordpress usa MD5 para el password de administrador, con lo cual si accedemos a la base de datos lo podemos cambiar
Pueden bajarse el parche listo desde acá.
Problema Nº2
Cuando tratamos de descargar un plugin o actualizarlo automaticamente desde nuestro worpress, puede aparecernos el error:
Unpacking the update
Could not create directory
Leyendo un poco encontre el blog de Sebastian Thomschke que nos da la solucion que encontró en un foro.
Esto es asi, resulta que cuando esta activado el safe mode no funciona la funcion make dir de php. Hasta ahora esto ha sido reportado con php 5.2.3 y 5.2.4.
Pasos para solucionarlo.
- Encontrar el archivo class-wp-filesystem-direct.php que esta dentro de wp-admin/includes
- Lo abrimos con nuestro editor favorito y buscamos la función mkdir
- Cuando vean la función agreguen lo que esta entre los comentarios.
function mkdir($path,$chmod=false,$chown=false,$chgrp=false){
if( ! $chmod)
$chmod = $this->permission;
// solucion para el bug, agregar lo que esta debajo
if(ini_get('safe_mode') && substr($path, -1) == '/')
{
$path = substr($path, 0, -1);
}
// lo que hay que agregar termina aquí.
if( !@mkdir($path,$chmod) )
return false;
if( $chown )
$this->chown($path,$chown);
if( $chgrp )
$this->chgrp($path,$chgrp);
return true;
}
Una vez guardado y subido ya esta solucionado.
Para los peresozos pueden bajarlo acá:
class-wp-filesystem-direct.zip
