El lector de Ayuda WordPress g30rg3_x, administrador/blogger de g30rg3x.com ha encontrado el posible error con la actualización del plugin Akismet en su versión 2.1.7. Según el mismo relata en los comentarios es debido a esto …
El problema se introdujo en este cambio (líneas 718/727)
http://plugins.trac.wordpress.org/changeset/61062/akismet/trunk/akismet.phpLa solucion es obviamente quitar ese cambio…
o sea, cambiar la linea 727 que se encuentra con:
if ( ! ( isset( $_GET['recheckqueue'] ) || isset( $_POST['action'] ) ) )
Por
if ( !isset( $_GET['recheckqueue'] ))
Por ahora no puedo sacar un parche por que me encuentro viendo la repercusiones que causa este movimiento a WP 2.7 (para ver si rompo algo con la compatibilidad con WP 2.7).
Así que por mientras lo que lo necesiten un parche temporal para borrar sus miles de comentarios spam ahí lo tienen.En la linea de ejemplo de la 727 no es
$_POST['action']
si no$_REQUEST['action']
así que no se asusten si no ven ese POST xD…Ahora corrigiendo mi parche, para mantener todavía así la compatibilidad para WP 2.7 sugiero en lugar de usar el parche anterior este…
Como siempre es cambiar la linea 727 por:
if ( ! ( isset( $_GET['recheckqueue'] ) || isset( $_GET['action'] ) ) )
Como ven solo estamos cambiando el REQUEST por GET.
La explicación “lógica” del fallo (para los que lo quieran comprender)…
El fallo ocurre debido a que al encontrarse definido action en una variable POST (cuando borramos o recuperamos) la tabla de verdad queda Falso Verdadero lo que da verdadero y como se niega se convierte este Verdadero en falso causando que en lugar de proceder con el borrado se ejecute el código de akismet_recheck_queue() evitando que el código de borrado y recuperado jamas se ejecute.
IMPORTANTE
Como el mismo dice, es mejor que no lo apliques a no ser que sea un verdadero problema para ti acumular spam «capturado» en su carpeta hasta que el equipo de Akismet lo solucione.
Por nuestra parte ya he comunicado a Automattic el problema y la posible solución, así que si sacan un parche esta noche es gracias a vosotros, y en concreto al fiera del código g30rg3_x 😉
¿Te gustó este artículo? ¡Ni te imaginas lo que te estás perdiendo en YouTube!
Mande otro mejor y con explicacion en la nota, checalo…
por cierto me estoy fijando que se te fue un «)» que entro mal codificado como ) :P.
Saludos
si no se por que deberia ser
esto
if ( ! ( isset( $_GET[‘recheckqueue’] ) || isset( $_REQUEST[‘action’] ) ) )
por
if ( ! ( isset( $_GET[‘recheckqueue’] ) ) )
sin la entiedad )
Creo que ya lo he apañado, a ver si ahora que da como dices g30rg3_x. Lo del ) es un error tonto, a mi me pasa a diario 😉
Si se me fue…
es un problema tratar de meter código sin que te lo «toquen demasiado», ya empece un poco la difusión de la corrección
http://wordpress.org/support/topic/199866?replies=14#post-839883
Asi como que me encuentro ahora elaborando el diff para ponerlo en el trac de akismet.
Saludos fernando.
PD: Por cierto no soy lector de ayuda wordpress xD, soy lector de planeta wordpress asi que te leo a través de el así como comento a veces con el usuario anonimo (U anonimos) o bien con mi nickname en este caso.
Saludos
Bien hecho compadre , que sepan que hay personal hispano que está alerta y encima, como tu, sabe dar soluciones 😉
Y lo del anonimato no pasa nada, hasta en las mejores familias pasa 😀
P.D.: si quieres quito lo de que eres lector, no problem 😉
No te preocupes no mas te aviso 😛
Por cierto acaba de salir (cuestión de segundos al escribir este comentario) la versión 2.1.8…
Aqui esta el cambio.
http://plugins.trac.wordpress.org/changeset/62048/akismet/trunk/akismet.php
Solo lo hicieron mas restrictivo que el mio.
Saludos
Seguro que es casualidad
Gracias 😉
Parece que ya está disponible la versión 2.1.8 con supuestamente este problema arreglado. ¿Alguien lo ha comprobado?
https://ayudawp.com/akismet-218-y-problema-solucionado/
Si 🙂