Realmente no necesitas mucho.
Un titular con id = comentarios
<h2 id="comments"><?php comments_number(); ?></h2>
Este será el objetivo de comments_link()
en el bucle del artículo.
Enlaces para comentarios paginados.
Por lo general, pongo estos enlaces en una función y la llamo por encima y por debajo de la lista de comentarios:
class TTT_Template {
function comment_pager()
{
if ( get_comment_pages_count() > 1 && get_option( 'page_comments' ) )
{
?>
<div class="comment-navigation">
<div class="nav-previous">
<?php
previous_comments_link( 'Ältere Kommentare' );
?>
</div>
<div class="nav-next">
<?php
next_comments_link( 'Neuere Kommentare' );
?>
</div>
</div>
<?php
}
}
}
wp_list_comments ()
Puede usar una función de devolución de llamada personalizada, pero no tiene que hacerlo. Para un tema en wp.org usaría gravatars en la devolución de llamada. Y no lo pondría en un espacio de nombres con my_
. ;)
<ol class="commentlist">
<?php
wp_list_comments(
array (
'type' => 'comment'
, 'style' => 'ul'
, 'callback' => 'my_comment_callback'
)
);
?></ol>
Como puede ver, el parámetro type
le permite separar los comentarios normales de los pings. Consulte el codex para obtener más información. Si crea dos listas separadas, marque get_option( 'default_ping_status' );
para evitar una lista vacía.
comment_form ();
Puede usar la configuración predeterminada o agregar sus propios filtros. Utilizo una clase personalizada para mover el área de texto a la parte superior y reorganizar algunas otras cosas de menor importancia.
if ( comments_open( get_the_ID() ) )
{
locate_template( array ( '/php/class.TTT_Comment_Form.php' ), TRUE, TRUE );
$ttt_comment_class = new TTT_Comment_Form();
comment_form();
}
Y eso es todo.
Código completo
<?php
if ( ! defined('ABSPATH') ) { die ('Nö.'); }
if ( have_comments() )
{
?><h2 id="comments"><?php comments_number(); ?></h2>
<?php
TTT_Template::comment_pager();
?>
<ol class="commentlist">
<?php
wp_list_comments(
array (
'type' => 'comment'
, 'style' => 'ul'
, 'callback' => 'my_comment_callback'
)
);
?></ol>
<?php
TTT_Template::comment_pager();
}
if ( comments_open( get_the_ID() ) )
{
locate_template( array ( '/php/class.TTT_Comment_Form.php' ), TRUE, TRUE );
$ttt_comment_class = new TTT_Comment_Form();
comment_form();
}