Logo

Actualizar Theme a WordPress 2.7: Comentarios con replicas o hilos

WordPress 2.7 incluye importantes características y mejoras, una de ellas el soporte a replicas o hilos de comentarios “Thread Comment”, obviamente también incorpora la paginación de comentarios.

Estas nuevas características incorporadas en el Framework de WordPress no sirven de mucho sino sabemos usarlas o las plantillas no son compatibles.

Configuración:

1. Compatibilidad con versiones anteriores:
Para tener una compatibilidad con versiones anteriores del WordPress 2.7 es necesario agregar un filtro en el archivo functions.php de nuestra plantilla.

<br />
< ?php<br />
/**<br />
 * @package WordPress<br />
 * @subpackage neuronaltraining theme<br />
 */<br />
add_filter(&#8217;comments_template&#8217;, &#8216;legacy_comments&#8217;);<br />
function legacy_comments($file) {<br />
	if(!function_exists(&#8217;wp_list_comments&#8217;)) 	$file = TEMPLATEPATH . &#8216;/legacy.comments.php&#8217;;<br />
	return $file;<br />
}<br />
?><br />

Renombrar el actual archivo comments.php a legacy.comments.php

Crear un archivo comments.php y agregar el siguiente código en la parte superior del archivo comments.php para el soporte de anotaciones con clave

<br />
if (!empty($_SERVER['SCRIPT_FILENAME']) &#038;&#038; &#8216;comments.php&#8217; == basename($_SERVER['SCRIPT_FILENAME']))<br />
	die (&#8217;Please do not load this page directly. Thanks!&#8217;);<br />
if ( post_password_required() ) {<br />
	echo &#8216;This post is password protected. Enter the password to view comments.&#8217;;<br />
	return;<br />
}<br />

2. Nuevo Bucle de comentarios
- have_comments(): función que remplaza el control de la variable global $comments
- wp_list_comments() función para la lista de comentarios
- Nueva sección de navegación para paginar los comentarios.

<br />
if ( have_comments() ) : ?></p>
<h4 id="comments">< ?php comments_number('No Comments', 'One Comment', '% Comments' );?></h4>
<ul class="commentlist">
	< ?php wp_list_comments(); ?></ul>
<div class="navigation">
<div class="alignleft">< ?php previous_comments_link() ?></div>
<div class="alignright">< ?php next_comments_link() ?></div>
</div>
<p>< ?php else : // this is displayed if there are no comments so far ?><br />
	< ?php if ('open' == $post->comment_status) :<br />
		// If comments are open, but there are no comments.<br />
	else : // comments are closed<br />
	endif;<br />
endif;<br />

3. El poder de Javascript
Es necesario realizar algunos cambios para el soporte de js en los comentarios con replicas.

header.php: Agregar la siguiente línea antes de la función wp_head()

<br />
if ( is_singular() ) wp_enqueue_script( &#8216;comment-reply&#8217; );<br />

4. Nuevos parámetros y funciones
Nuevo parámetro en el formulario de comentario, con esta función se agrega dos inputs ocultos: comment_post_ID y comment_parent. Anteriormente se usaba el comment_parent por ello es necesario quitarlo.

<br />
< ?php comment_id_fields(); ?><br />

Nueva textarea con id=”comment”. El id debe ser único

<br />
<textarea name="comment" id="comment" cols="53" rows="10" tabindex="4"></textarea><br />

Nuevo DIV con id ”respond” para contener todo el formulario

</p>
<div id="respond">
</div>
<p>

Para sustituir la llamada al texto comúnmente usado “Deje un comentario

</p>
<h3>< ?php comment_form_title(); ?></h3>
<p>

Con esto podemos personalizar el texto, ya sea para comentan, replicar u comentario. El %s será remplazado por el nombre de la persona

<br />
< ?php comment_form_title( 'Leave a Reply', 'Leave a Reply to %s' ); ?><br />

Finalmente, al realizar una réplica se mostrará un formulario , pero si decide cancelarlo es necesario el siguiente código

</p>
<div id="cancel-comment-reply">
	<small>< ?php cancel_comment_reply_link() ?></small></div>
<p>

Ir al panel de administración de WP. Específicamente en Setting -- Discussion y marcar con el check ” Enable threaded (nested) comments levels deep“. Si desean habilitar la paginación en los comentarios, habilitar el check correspondiente.
Nota: También es necesario configurar la hoja de estilo de la plantilla

Descargar: comments.php WP 2.7, functions.php, style.css
Pueden tomar como base el archivo comments.php, adaptarlo y configurarlo según su tema.

Basado en WordPress 2.7 Comments Enhancements

6 comentario realizado... y tú qué opinas?

Realizar comentario