search
top

Recibiendo el Permalink de los comentarios en las notificaciones

Ayer conversando con David salió el tema este, me preguntó como se podría hacer eso, me había quedado bastante claro, pero hoy cuando lo fuí a hacer me había olvidado que era lo que david quería. Hoy al volver a preguntar y al entender puse manos a la obra.

David quería recibir el permalink (enlace) del comentario en cuestión cada vez que dejaban un comentario y le llegaba un e-mail de notificación.
Algo así:

comentarios

Poniendo código a la obra:

Buscamos el archivo pluggable.php que está en /includes, lo abrimos y vamos a la linea 1014 en donde dice algo así como:

1
$notify_message .= get_permalink($comment->comment_post_ID) . "#comments\r\n\r\n";

Viendo las líneas 1014, 1015 y 1016 inclusive, vemos lo siguiente:

1
2
3
$notify_message .= get_permalink($comment->comment_post_ID) . "#comments\r\n\r\n";
$notify_message .= sprintf( __('Delete it: %s'), admin_url("comment.php?action=cdc&c=$comment_id") ) . "\r\n";
$notify_message .= sprintf( __('Spam it: %s'), admin_url("comment.php?action=cdc&dt=spam&c=$comment_id") ) . "\r\n";

Agregamos una línea abajo de la de “spam”

1
$notify_message .= sprintf( __('Comentario: %s'), get_comment_link($comment->comment_ID)). "\r\n";

Lo que quedaría:

1
2
3
4
$notify_message .= get_permalink($comment->comment_post_ID) . "#comments\r\n\r\n";
$notify_message .= sprintf( __('Delete it: %s'), admin_url("comment.php?action=cdc&c=$comment_id") ) . "\r\n";
$notify_message .= sprintf( __('Spam it: %s'), admin_url("comment.php?action=cdc&dt=spam&c=$comment_id") ) . "\r\n";
$notify_message .= sprintf( __('Comentario: %s'), get_comment_link($comment->comment_ID)). "\r\n";

Notas:
Esto funciona para los themes que tengan integrado esto de que cada comentario tiene permalink, de lo contrario redireccionará a la url del artículo.
Tampoco esto va a funcionar para los blogs que tienen los comentarios paginados.

Creo que a esta altura está de más decir que cada uno lo puede personalizar como más le guste.

Actualización:

David me dice que tal vez funcione mejor con la función get_comment_link, asi que he probado y usando esa función sirve también para los comentarios paginados. Cambiar la línea:

1
$notify_message .= sprintf( __('Comentario: %s'), get_permalink($comment->comment_post_ID) . ("#comment-$comment_id") ) . "\r\n";

Por esta:

1
$notify_message .= sprintf( __('Comentario: %s'), get_comment_link($comment->comment_ID)). "\r\n";

Articulos relacionados:

6 Comentarios

  1. Guillermo says:

    Y la próxima vez que actualice WP? El cambio seguirá allí o deberé repetirlo?

  2. En cada versión lo vas a tener que hacer de nuevo, ya que se reemplaza siempre actualizando automaticamente. De forma “manual” lo que podés ver en una nueva versión es si se modifico el archivo en cuestión, si no se modifico no subir uno nuevo, nose si se entiende

  3. Guillermo says:

    Si Neri, se entiende muy bien…. Gracias.

  4. Dondado says:

    Marcado, este fin de semana lo hago, aunque estas modificaciones del core, como dicen más arriba, son bastante molestas. En mi caso, que ya tengo una desde hace tiempo, ya estoy obligado a comparar cada nueva versión de WP con la anterior para ver si el archivo que tengo tocado ha cambiado, así que este será sólo uno más.
    Muchas gracias Neri

  5. Actualizé el artículo con un código mejor ;)

  6. Dondado says:

    Lo ideal ahora sería que esto entrase en el trac de wordpress y que lo incorporen en una futura versión

Dejar un comentario

top