Foros del Web » Creando para Internet » Sistemas de gestión de contenidos » WordPress »

Eliminar #comment-NUMERO de url al enviar comentario

Estas en el tema de Eliminar #comment-NUMERO de url al enviar comentario en el foro de WordPress en Foros del Web. Sé que lo que pretendo no es bueno, pero igual lo quiero. Necesito saber cómo eliminar el ancla #comment-NUMERO de la url al enviar un ...
  #1 (permalink)  
Antiguo 27/05/2011, 19:55
Avatar de AlZuwaga
Colaborador
 
Fecha de Ingreso: febrero-2001
Ubicación: 34.517 S, 58.500 O
Mensajes: 14.550
Antigüedad: 23 años, 9 meses
Puntos: 535
Eliminar #comment-NUMERO de url al enviar comentario

Sé que lo que pretendo no es bueno, pero igual lo quiero.
Necesito saber cómo eliminar el ancla #comment-NUMERO de la url al enviar un comentario. Es una cuestión de fuerza mayor por el momento... hay algo que no me funciona bien (shadowbox) si ese ancla está presente.

Alguna idea?
__________________
...___...
  #2 (permalink)  
Antiguo 27/05/2011, 20:18
Avatar de AlZuwaga
Colaborador
 
Fecha de Ingreso: febrero-2001
Ubicación: 34.517 S, 58.500 O
Mensajes: 14.550
Antigüedad: 23 años, 9 meses
Puntos: 535
Respuesta: Eliminar #comment-NUMERO de url al enviar comentario

Decir que estuve buscando mucho y no encuentro nada. Salvo esto en comment-template.php (lo cual, entiendo, no debería modificar):


Cita:
...
...
return apply_filters( 'get_comment_link', $link . '#comment-' . $comment->comment_ID, $comment, $args );
...
...
__________________
...___...
  #3 (permalink)  
Antiguo 27/05/2011, 21:07
Avatar de j_aroche
Server Ninja
 
Fecha de Ingreso: agosto-2006
Ubicación: iPhone: 14.624481,-90.487457
Mensajes: 2.066
Antigüedad: 18 años, 3 meses
Puntos: 223
Respuesta: Eliminar #comment-NUMERO de url al enviar comentario

Lo correcto es que lo hagas con un plugin o en functions.php de tu theme:

Código PHP:
Ver original
  1. function commentlink_filter($link) {
  2.     $parts = @explode ('#' , $link );
  3.     if ( !empty($parts) )
  4.         $link = $parts[0];
  5.     return $link;
  6. }
  7.  
  8. add_filter( 'get_comment_link', 'commentlink_filter', 10 , 1 );
__________________
Blog: JavierAroche.com - Twitter: @j_aroche

Última edición por j_aroche; 27/05/2011 a las 22:42
  #4 (permalink)  
Antiguo 27/05/2011, 21:17
Avatar de AlZuwaga
Colaborador
 
Fecha de Ingreso: febrero-2001
Ubicación: 34.517 S, 58.500 O
Mensajes: 14.550
Antigüedad: 23 años, 9 meses
Puntos: 535
Respuesta: Eliminar #comment-NUMERO de url al enviar comentario

Javier, te debo al menos una (inserte bebida aquí) cuando estés por Argentina. Como mínimo. Te pasaste. Ya funciona. Y voy a analizar tu respuesta para hacerlo yo mismo en otra oportunidad.

Sos un groso y lo sabés.
__________________
...___...
  #5 (permalink)  
Antiguo 28/05/2011, 01:13
Avatar de j_aroche
Server Ninja
 
Fecha de Ingreso: agosto-2006
Ubicación: iPhone: 14.624481,-90.487457
Mensajes: 2.066
Antigüedad: 18 años, 3 meses
Puntos: 223
Respuesta: Eliminar #comment-NUMERO de url al enviar comentario

No hay de que :)

Si quieres dale un vistazo al Codex de WP sobre los Filtros.
__________________
Blog: JavierAroche.com - Twitter: @j_aroche
  #6 (permalink)  
Antiguo 28/05/2011, 03:32
Avatar de metacortex
Viejo demente
 
Fecha de Ingreso: junio-2004
Ubicación: Caracas - Venezuela
Mensajes: 9.027
Antigüedad: 20 años, 5 meses
Puntos: 832
Respuesta: Eliminar #comment-NUMERO de url al enviar comentario

Viendo el código que posteó Daz ¿no sería más fácil eliminarle la parte que no quiere mostrar en lugar de montarle otra función/filtro extra?

Código PHP:
Ver original
  1. return apply_filters( 'get_comment_link' , $link , $comment , $args );
  #7 (permalink)  
Antiguo 28/05/2011, 17:00
Avatar de j_aroche
Server Ninja
 
Fecha de Ingreso: agosto-2006
Ubicación: iPhone: 14.624481,-90.487457
Mensajes: 2.066
Antigüedad: 18 años, 3 meses
Puntos: 223
Respuesta: Eliminar #comment-NUMERO de url al enviar comentario

Si, el detalle es que es el /wp-includes/comment-template.php; sino tienes problemas con editar un archivo del core con cada actualización, nadie te dice que no lo edites :P
__________________
Blog: JavierAroche.com - Twitter: @j_aroche
  #8 (permalink)  
Antiguo 28/05/2011, 17:08
Avatar de AlZuwaga
Colaborador
 
Fecha de Ingreso: febrero-2001
Ubicación: 34.517 S, 58.500 O
Mensajes: 14.550
Antigüedad: 23 años, 9 meses
Puntos: 535
Respuesta: Eliminar #comment-NUMERO de url al enviar comentario

Claro, por eso decía "(lo cual, entiendo, no debería modificar)" :)
__________________
...___...
  #9 (permalink)  
Antiguo 29/05/2011, 08:24
Avatar de metacortex
Viejo demente
 
Fecha de Ingreso: junio-2004
Ubicación: Caracas - Venezuela
Mensajes: 9.027
Antigüedad: 20 años, 5 meses
Puntos: 832
Respuesta: Eliminar #comment-NUMERO de url al enviar comentario

Juaaa! Leí mal entonces.

Creí que era una función ubicada en el theme Naaah, fue tremenda burrada, emitida justo en el aniversario de WordPress.

Ahora mi enmienda (tomaré prestada tu función):

Código PHP:
Ver original
  1. function commentlink_filter($link) {
  2.     $link = get_permalink( $comment->comment_post_ID );
  3.     return $link;
  4. }
  5.  
  6. add_filter( 'get_comment_link', 'commentlink_filter');
Sugerencia: procura no utilizar comodines como "@" en zonas del frontend, puesto que éstos utilizan muchos recursos del CPU para procesarse.
  #10 (permalink)  
Antiguo 30/05/2011, 01:18
Avatar de j_aroche
Server Ninja
 
Fecha de Ingreso: agosto-2006
Ubicación: iPhone: 14.624481,-90.487457
Mensajes: 2.066
Antigüedad: 18 años, 3 meses
Puntos: 223
Respuesta: Eliminar #comment-NUMERO de url al enviar comentario

Cita:
Sugerencia: procura no utilizar comodines como "@" en zonas del frontend, puesto que éstos utilizan muchos recursos del CPU para procesarse.
Confieso que fui perezoso Sin usar @ ni llamar de nuevo a get_permalink(), manipulando solo el string que recibes (dicho de otra forma, micro-optimización)

Código PHP:
Ver original
  1. function commentlink_filter($link) {
  2.     if ( strpost($link , '#') !== false ){
  3.         $parts = explode ('#' , $link );
  4.         $link = $parts[0];
  5.     }
  6.     return $link;
  7. }
  8.  
  9. add_filter( 'get_comment_link', 'commentlink_filter', 10 , 1 );
__________________
Blog: JavierAroche.com - Twitter: @j_aroche
  #11 (permalink)  
Antiguo 30/05/2011, 02:10
Avatar de metacortex
Viejo demente
 
Fecha de Ingreso: junio-2004
Ubicación: Caracas - Venezuela
Mensajes: 9.027
Antigüedad: 20 años, 5 meses
Puntos: 832
Respuesta: Eliminar #comment-NUMERO de url al enviar comentario

Éste se ha vuelto un tópico de confesiones jejejeje.

Cita:
Iniciado por j_aroche
... ni llamar de nuevo a get_permalink()
Es lo mejor de WordPress: al aplicar el filtro no obligas al sistema a procesar la función 2 veces (en este caso get_permalink()). WP escanea functions.php y los plugins antes de entrar al núcleo (por eso es que cuando nos equivocamos, los errores/avisos de PHP siempre apuntan al core y no a nuestro código).

Aquí el orden de lectura sería commentlink_filter() > get_comment_link(), sobrescribiendo en seco cualquier instrucción que colisione con la primera. Créeme que ahorras más recursos de esta forma que haciendo el explode.
  #12 (permalink)  
Antiguo 31/05/2011, 06:29
Avatar de AlZuwaga
Colaborador
 
Fecha de Ingreso: febrero-2001
Ubicación: 34.517 S, 58.500 O
Mensajes: 14.550
Antigüedad: 23 años, 9 meses
Puntos: 535
Respuesta: Eliminar #comment-NUMERO de url al enviar comentario

Gracias a los dos por el debate ;)
__________________
...___...

Etiquetas: comentario, url
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 15:45.