WordPress 2.7 integra muchísmas mejoras y nuevas reprogramaciones que afectarán a desarrolladores, tanto de plugins como de themes. Una de estas nuevas funcionalidades es la forma de mostrar los comentarios en los themes, que ahora permitirá paginación, anidamientos,… pero por desgracia tu theme debe estar preparado para ello.
Comprobación
if (function_exists('wp_list_comments')) :
// WordPress 2.7
else :
// WordPress 2.6-
endif;
La nueva función wp_list_comments()
nos hará de booleano para conocer si estamos en la versión nueva o una versión inferior a la 2.7. Aunque podemos hacerlo de una forma más elegante usando la API de plugins para ello:
<?php
add_filter('comments_template', 'legacy_comments');
function legacy_comments($file) {
if(!function_exists('wp_list_comments')) $file = TEMPLATEPATH . '/legacy.comments.php';
return $file;
}
?>
De esta forma en caso de tratarse de una versión inferior a la 2.7 nos cargará el fichero legacy.comments.php
con la estructura actual.
Loop de Comentarios
if ( have_comments() ) : ?>
<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>
<?php else : // this is displayed if there are no comments so far ?>
<?php if ('open' == $post->comment_status) :
// If comments are open, but there are no comments.
else : // comments are closed
endif;
endif;
Si nos fijamos el Loop que la nueva versión nos ofrece para mostrar los comentarios es muy similar al que vimos para los posts. Quizas la novedad más interesante puede ser la de disponer de paginación mediante 2 simples funciones previous_comments_link()
y next_comments_link()
.
8 comentarios, 4 referencias
+
#