私はGregのThreaded Comment Numberingプラグインを使ってコメントに番号を付けています。実際、私はそれぞれの親コメントの横に番号を表示しています(スレッドコメント番号はありません)。私はすでに解決しようとしている2つの問題がありますが、結果は出ていません。
一番上のコメントを別のレイアウトで表示しています。番号付けを#2から始める必要があります。簡単な作業のようですが、プラグインコードを修正する方法が見つかりませんでした。
スレッドを持つ各コメントについて、スレッド化されたコメントの総数を表示します。
例:
コメント1
------------ 1.1
------------ 1.2
------------ 1.3
合計スレッドコメント= 3
コメント2
------------ 2.1
------------ 2.2
合計スレッドコメント= 2
等.....
私はすでに親の総数を取得するために以下のコードを使用しています。子も取得できますが、合計です。例のように、各コメントの子の数を表示する必要があります。
$number_of_parents = c_parent_comment_counter($post->ID);
$number_of_children = $post->comment_count - $number_of_parents;
ありがとうございます。
編集:ここで要求されているのはwp_list_commentsコールバック関数です。ごめんね申し訳ありませんが、私はプログラマではありません、作業が終了したらコードを消去します:)
## Function: Basic Callback Function From WP Codex (http://codex.wordpress.org/Template_Tags/wp_list_comments), January 2009
function gtcn_basic_callback($comment, $args, $depth) {
// no changes here except that we have added in the call to gtcn_comment_numbering
$GLOBALS['comment'] = $comment;
?>
<li <?php comment_class(); ?> id="li-comment-<?php comment_ID() ?>">
<?php if( empty( $comment->comment_parent ) ) { //if the comment does not have a parent, then it is L1?>
<div class="linguetta-posizione"><?php echo gtcn_comment_numbering($comment->comment_ID, $args);
?></div>
<?php }
?>
<div id="comment-<?php comment_ID(); ?>">
<div class="comment-author vcard">
<div class="comment-barra-user">
<div class="comment-avatar">
<?php if( empty( $comment->comment_parent ) ) { ?><?php echo get_avatar($comment,$size='60'); ?><?php } else { ?><?php echo get_avatar($comment,$size='30'); ?><?php } ?></div>
<div class="comment-username"><?php printf(('<cite class="fn">%s</cite> '), get_comment_author_link()) ?><br class="clear"/>
<?php if( empty( $comment->comment_parent ) ) { ?><div id="comment-container-points">
<div class="comment-points"><img src="<?php bloginfo('template_url'); ?>/images/ico-points.png" /><a>3333</a></div><div class="comment-level"><img src="<?php bloginfo('template_url'); ?>/images/ico-level.png" /><a>livello</a></div>
</div> <?php } else { ?><?php } ?>
</div>
<?php if ( is_user_logged_in() ) { if( empty( $comment->comment_parent ) ) {?>
<div class="comment-votazione"><h2>Vota la risposta:</h2>
<?php { //if the comment does not have a parent, then it is L1
if(function_exists(ckrating_display_karma)) { ckrating_display_karma(); }
}
?> </div>
<?php }} else {
if( empty( $comment->comment_parent ) ) { ?>
<div class="comment-votazione"><h2>Registrati per votare</h2>
</div>
<?php }} ?>
</div><!-- end BARRA USER -->
<br class="clear"/>
</div>
<?php if ($comment->comment_approved == '0') : ?>
<em><?php _e('Your comment is awaiting moderation.') ?></em>
<br />
<?php endif; ?>
<?php comment_text() ?>
<div class="reply">
<?php comment_reply_link(array_merge( $args, array('reply_text' => 'COMMENTA LA RISPOSTA', 'depth' => $depth, 'max_depth' => $args['max_depth']))) ?>
</div><div class="comment-meta commentmetadata"><?php if( empty( $comment->comment_parent ) ) { ?>Risposta inserita<?php } else { ?> Commento inserito <?php } ?>
<?php echo time_ago_comment(); ?><?php edit_comment_link(('- modifica'),' ','') ?></div>
</div></li>
<?php
} // end basic callback function
// inside your callback function:
static $ancestors = null;
$parent = (int) $comment->comment_parent;
// Modify INITIAL VALUE here:
$init_val = (int) 1;
$is_child = false;
if ( $parent > (int) 0 )
{
$is_child = true;
$ancestors[] = $parent;
$child_counter = count( $ancestors ) + $init_val;
}
/*
* Only needed in case you want to reset the counter if the current comment has no children
else
{
$ancestors = $child_counter = null;
}
*/
// This shows the number of the current reply counter
if ( $is_child )
printf( __( 'This is the child number: ', TEXTDOMAIN ), $child_counter );