1

我已经看到各种网站使用带有自定义回调的内置 wordpress 评论系统(生成自己的 html,与 wordpress 中的内置评论不同)在他们网站上的评论中添加数字。

阿拉 - http://mobile.smashingmagazine.com/2013/08/12/creating-high-performance-mobile-websites/

每条评论旁边都有一个数字。经过大量搜索后,我找不到任何可以做到这一点的 wordpress 内置功能。

我正在为我的评论使用自定义回调。

function mytheme_comment($comment, $args, $depth) {
        $GLOBALS['comment'] = $comment;
        extract($args, EXTR_SKIP);

        if ( 'div' == $args['style'] ) {
            $tag = 'div';
            $add_below = 'comment';
        } else {
            $tag = 'li';
            $add_below = 'div-comment';
        }
?>



        <<?php echo $tag ?> <?php comment_class(empty( $args['has_children'] ) ? '' : 'parent') ?> id="comment-<?php comment_ID() ?>">
            <?php if ( 'div' != $args['style'] ) : ?>
            <div id="div-comment-<?php comment_ID() ?>" class="comment-body">
            <?php endif; ?>
                <div class="comment-author vcard">
                    <div class="rounded">
                        <?php if ($args['avatar_size'] != 0) echo get_avatar( $comment, $args['avatar_size'] ); ?>
                    </div> <!-- end div rounded -->

                </div> <!-- end div vcard -->
                <div class="comment-meta commentmetadata">

                    <?php printf(__('<cite class="fn">%s</cite> <span class="says"></span>'), get_comment_author_link()) ?>
                    <a href="<?php echo htmlspecialchars( get_comment_link( $comment->comment_ID ) ) ?>">
                        <?php

                            printf( __('%1$s at %2$s'), comment_time('F j, Y g:i a')) ?></a><?php edit_comment_link(__('(Edit)'),'  ','' ); 

                        ?>

                    </a>

                    <?php if ($comment->comment_approved == '0') : ?>
                        <em class="comment-awaiting-moderation">
                            <?php _e('Your comment is awaiting moderation.') ?>
                        </em>
                    <br />
                    <?php endif; ?> 
                </div> <!-- end div commentmetadata -->
                <div class="commentsholder">

                    <?php comment_text() ?>

                </div> <!-- end div commentsholder -->

                <div class="reply">
                    <?php comment_reply_link(array_merge( $args, array('add_below' => $add_below, 'depth' => $depth, 'max_depth' => $args['max_depth']))) ?>
                </div> <!-- end div reply -->

            <?php echo '<div style="clear:both"></div>' ?>
            <?php if ( 'div' != $args['style'] ) : ?>
        </div> <!-- end div commentid -->
        <?php endif; ?>
<?php
        }

谁能告诉我如何给每条评论编号?

4

2 回答 2

0

我正在探索 Alexander Kuzmin 的想法,我认为这就是 Smashing Magazine 对他们的评论进行编号的方式。

它以线性方式完成,而不关心评论是否被线程化。

我在 TwentyEleven 中进行了测试,并为wp_list_comments( array( 'callback' => 'twentyeleven_comment' ) );.

functions.php

$countcomm = 1;
function twentyeleven_comment( $comment, $args, $depth ) 
{
    global $countcomm; 

    // PRINT THE COMMENTS AND USE $countcomm TO ECHO THE NEW "COMMENT ID"

    // TAKING CARE OF THE COMMENT PERMALINK:
    // CHANGE ALL INSTANCES OF comment_ID() AND $comment->comment_ID
    // TO $countcomm

    $countcomm++;
}
于 2013-08-18T12:11:03.430 回答
0

看看第二十二个主题。它使用有序列表。

<ol class="commentlist">
    <?php wp_list_comments( array( 'callback' => 'twentytwelve_comment', 'style' => 'ol' ) ); ?>
</ol><!-- .commentlist -->

在 functions.phptwentytwelve_comment函数中,注释被包裹在一个<li></li>.

如果您的评论在多个页面上,或者您想要设置数字样式,您可以使用http://wordpress.org/plugins/gregs-threaded-comment-numbering/之类的插件。在这里阅读如何使用它。

于 2013-08-18T11:28:44.513 回答