Lo que vamos a hacer hoy es que los comentarios no aparezcan a continuación del contenido de la entrada.
Esta es la manera en que normalmente "aparecen" en la página principal de nuestro blog: un simple enlace que hace referencia al número de comentarios existentes y que al pincharlo nos remite a los comentarios, bien en una página aparte o bien en una ventana emergente, según lo tengamos configurado.
Sin embargo, cuando accedemos al enlace directo de una entrada en concreto, tras la entrada, figuran todos los comentarios que se han hecho sobre la misma. Cuando tiene muchos comentarios, ésto puede suponer una interminable carga de la página y otras veces, como en el caso de R.E. que es quién en esta ocasión nos pregunta este tema, se prefiere que sea el lector el que decida si expandir los comentarios o no.
En esta ocasión, vamos a modificar el código de manera que si queremos volver a poner las cosas como estaban, resultará muy fácil hacerlo.
Tenemos que localizar la siguiente parte de código:
* Si no lo encuentras, puedes ver la sección completa pinchando aquí
Ahora hay que redactar las siguientes líneas de código. La primera se insertará justo después de <b:includable id='comments' var='post'> y la segunda justo ANTES de </b:includable>.
Con esto, hemos creado una condición que no se va a cumplir cuando se accede al link permanente de una entrada y por tanto, no se mostrarán los comentarios.
Pero conviene arreglar una cosilla más. Y es que cuando se accede a una entrada, como lo normal era mostrar los comentarios, el enlace a dichos comentarios desaparece. Si no mostramos los comentarios ni facilitamos ningún enlace ¿cómo narices vamos a poder acceder a ellos? Pues vamos a solucionar lo del enlace.
La parte del codigo que maneja ésto, comienza y termina por estas tres líneas...
La segunda línea es la que hace que el enlace se muestre o no, así que la vamos a anular metiéndola dentro de unas etiquetas de comentario de código (<!-- COMENTARIO -->), para que el intérprete la ignore y siempre aparezcan. El cierre del IF (</b:if>), también hay que anularlo para que el código quede correctamente. Se tiene que quedar tal que así
Si alguna vez queremos deshacer todo esto, buscamos el texto NO MOSTRAR COMENTARIOS y volvemos a modificar las 3 líneas correspondientes para dejarlas como estaban.
Esta es la manera en que normalmente "aparecen" en la página principal de nuestro blog: un simple enlace que hace referencia al número de comentarios existentes y que al pincharlo nos remite a los comentarios, bien en una página aparte o bien en una ventana emergente, según lo tengamos configurado.
Sin embargo, cuando accedemos al enlace directo de una entrada en concreto, tras la entrada, figuran todos los comentarios que se han hecho sobre la misma. Cuando tiene muchos comentarios, ésto puede suponer una interminable carga de la página y otras veces, como en el caso de R.E. que es quién en esta ocasión nos pregunta este tema, se prefiere que sea el lector el que decida si expandir los comentarios o no.
En esta ocasión, vamos a modificar el código de manera que si queremos volver a poner las cosas como estaban, resultará muy fácil hacerlo.
Tenemos que localizar la siguiente parte de código:
<b:includable id='comments' var='post'>
<div class='comments' id='comments'>
<a name='comments'/>
<b:if cond='data:post.allowComments'>
...
</b:includable>
<div class='comments' id='comments'>
<a name='comments'/>
<b:if cond='data:post.allowComments'>
...
</b:includable>
* Si no lo encuentras, puedes ver la sección completa pinchando aquí
Ahora hay que redactar las siguientes líneas de código. La primera se insertará justo después de <b:includable id='comments' var='post'> y la segunda justo ANTES de </b:includable>.
<!-- NO MOSTRAR COMENTARIOS 1/3 --><b:if cond='data:blog.pageType != "item"'>
...
<!-- NO MOSTRAR COMENTARIOS 2/3 --></b:if>
...
<!-- NO MOSTRAR COMENTARIOS 2/3 --></b:if>
Con esto, hemos creado una condición que no se va a cumplir cuando se accede al link permanente de una entrada y por tanto, no se mostrarán los comentarios.
Pero conviene arreglar una cosilla más. Y es que cuando se accede a una entrada, como lo normal era mostrar los comentarios, el enlace a dichos comentarios desaparece. Si no mostramos los comentarios ni facilitamos ningún enlace ¿cómo narices vamos a poder acceder a ellos? Pues vamos a solucionar lo del enlace.
La parte del codigo que maneja ésto, comienza y termina por estas tres líneas...
<span class='post-comment-link'>
<b:if cond='data:blog.pageType != "item"'>
<b:if cond='data:post.allowComments'>
...
</b:if>
</b:if>
</span>
<b:if cond='data:blog.pageType != "item"'>
<b:if cond='data:post.allowComments'>
...
</b:if>
</b:if>
</span>
La segunda línea es la que hace que el enlace se muestre o no, así que la vamos a anular metiéndola dentro de unas etiquetas de comentario de código (<!-- COMENTARIO -->), para que el intérprete la ignore y siempre aparezcan. El cierre del IF (</b:if>), también hay que anularlo para que el código quede correctamente. Se tiene que quedar tal que así
<span class='post-comment-link'>
<!-- NO MOSTRAR COMENTARIOS 3/3 <b:if cond='data:blog.pageType != "item"'> -->
<b:if cond='data:post.allowComments'>
...
</b:if>
<!-- NO MOSTRAR COMENTARIOS </b:if> -->
</span>
<!-- NO MOSTRAR COMENTARIOS 3/3 <b:if cond='data:blog.pageType != "item"'> -->
<b:if cond='data:post.allowComments'>
...
</b:if>
<!-- NO MOSTRAR COMENTARIOS </b:if> -->
</span>
Si alguna vez queremos deshacer todo esto, buscamos el texto NO MOSTRAR COMENTARIOS y volvemos a modificar las 3 líneas correspondientes para dejarlas como estaban.
¿Vemos otro post al azar por si le encuentras utilidad o quizás prefieres ser más metódico y suscribirte a nuestras entradas por correo? También puedes imprimir este artículo y por supuesto compartirlo en redes sociales si fue de tu agrado.
Saludos.
ResponderEliminarTengo un problema al insertar el ultimo codigo, me da un error:
The element type "span" must be terminated by the matching end-tag "".
Gracias por tu paciencia
Solucionado. Se me olvidó explicar que el había también que anular el IF de cierre.
ResponderEliminarGracias
Gracias Oloman.
ResponderEliminarSolucionado
excelente blog de ayuda
ResponderEliminaralomejor ya lo as publicado pero no lo encuentro,,
ResponderEliminarquisiera saber como hacer esto...
aki donde estoy escribiendo...
pero en cada entrada!
me podras ayudar?
saludos!
Luiz, no entiendo la pregunta ¿necesitas un formulario para comentarios pero en cada entrada?
ResponderEliminarSi es eso, lo tienes. Sólo tienes que pinchar en el título de una entrada para acceder a una página como esta.
Mira lo que quiero es algo parecido a lo que tu tienes...
ResponderEliminarclaro no igual!
esque por aqui batallo un poco para explicarte.!
me podras pasar tu correo?
o me agregas?
te lo agradeceria!
Gracias por la molestia en contestar!
Mi correo está en la barra lateral Luiz
ResponderEliminar