26/09/2005
Parche para moderación en WordPress
Hoy me he encontrado con un pequeño problema al ir a moderar los comentarios de spam que se me quedan esperando en WordPress, bien para que los apruebe (cuando realmente no son spam) o bien, la mayorÃa de los casos, para que los elimine.
La cuestión es que como hacÃa mucho que no entraba a moderar, hoy tenÃa 458 comentarios y todos de spam, y el WordPress por alguna extraña razón no me los cargaba todos. Cuando el listado iba por el comentario 128 o 129, se cortaba la comunicación y dejaba de recibir el resto.
Esto tenÃa el problema de que al no cargarse la parte final de la página, no tuviera disponible el botón de “marcar todos para eliminar” y pudiese borrarlos de golpe. Y claro, ir borrando uno a uno, 458 mensajes… como que no.
Asà que decidà poner un parche muy chorra, para que la página solo cargase grupos de 100 mensajes como mucho, y asà pudiera irlos borrando de 100 en 100, que siempre es mejor que borrarlos de uno en uno.
Pienso que la razón de por qué WP no me carga todos los mensajes de golpe, pueda estar en mi servidor web, que corta la comunicación antes de tiempo, pero por si alguien se encuentra con éste mismo problema, tan sólo tiene que editar el archivo /wp-admin/moderation.php y en la lÃnea 139 agregar lo siguiente (en negrita):
$i = 0;
foreach($comments as $comment) {
++$i;
if ($i > 100) break;
$comment_date = mysql2date(get_settings(“date_format”) . ” @ ” . get_settings(“time_format”), $comment->comment_date);
$post_title = $wpdb->get_var(“SELECT post_title FROM $wpdb->posts WHERE ID=’$comment->comment_post_ID'”);
Lo único que hace esa lÃnea es salir del bucle que “pinta” los comentarios en cuanto llevemos 100. De esa forma, permite que se continúe cargando el final de la página con el botón que es lo que nos interesa.
Si tenéis alguna duda pues preguntadme :-)
Puedes echar un ojo a alguna de las siguientes historias que, de una forma u otra, están relacionadas: