Wordpress评论回复链接不会出现

时间:2011-07-26 07:06:08

标签: wordpress comments

我使用自定义代码打印评论,但问题是我做的事情,我无法在任何评论下打印评论回复链接....

这是代码

    <?php // Do not delete these lines
    if (!empty($_SERVER['SCRIPT_FILENAME']) && 'comments.php' == basename($_SERVER['SCRIPT_FILENAME']))
        die ('Please do not load this page directly. Thanks!');

    if (!empty($post->post_password)) { // if there's a password
        if ($_COOKIE['wp-postpass_' . COOKIEHASH] != $post->post_password) {  // and it doesn't match the cookie
            ?>

            <p class="nocomments">This post is password protected. Enter the password to view comments.</p>

            <?php
            return;
        }
    }

    /* This variable is for alternating comment background */
    /*$oddcomment = 'class="alt" ';*/
    $oddcomment = 'alt';
?>

<!-- You can start editing here. -->

<?php if ($comments) : ?>
    <h3 id="comments"><?php comments_number('No Responses', 'One Response', '% Responses' );?> to &#8220;<?php the_title(); ?>&#8221;</h3>

    <ol class="commentlist">

    <?php foreach ($comments as $comment) : ?>

        <!--<li <?php echo $oddcomment; ?>id="comment-<?php comment_ID() ?>">-->
        <li class="<?php echo $oddcomment; ?> <?php if ($comment->comment_author_email == get_the_author_email()) { echo 'author_comment'; } ?>" id="comment-<?php comment_ID() ?>">

            <?php echo get_avatar( $comment, 32 ); ?>

            <cite><?php comment_author_link() ?></cite> Says:
            <?php if ($comment->comment_approved == '0') : ?>
            <em>Your comment is awaiting moderation.</em>

            <?php endif; ?>
            <br />

            <small class="commentmetadata"><a href="#comment-<?php comment_ID() ?>" title=""><?php comment_date('F jS, Y') ?> at <?php comment_time() ?></a> <?php edit_comment_link('edit','&nbsp;&nbsp;',''); ?>  
            </small>



            <?php comment_text() ?>

            <div class="reply">
     <?php comment_reply_link( array ( 'reply_text' => 'Reply this comment' ) );
?>

</div>

        </li>

    <?php
        /* Changes every other comment to a different class */
        /*$oddcomment = ( empty( $oddcomment ) ) ? 'class="alt" ' : '';*/
        $oddcomment = ( empty( $oddcomment ) ) ? 'alt' : '';
    ?>

    <?php endforeach; /* end for each comment */ ?>

    </ol>

 <?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. -->

     <?php else : // comments are closed ?>
        <!-- If comments are closed. -->
        <p class="nocomments">Comments are closed.</p>

    <?php endif; ?>
<?php endif; ?>

但是当我使用wp_list_comments函数时,我可以看到自动显示回复链接我正在使用wordpress 3.2.1

4 个答案:

答案 0 :(得分:4)

阅读comment_reply_link(http://core.trac.wordpress.org/browser/tags/3.2.1/wp-includes/comment-template.php#L1061)的来源会很有帮助,因为多个条件可能导致链接不出现。一次完成每个工作,你很可能找到答案。

绊倒我的是,如果评论被关闭,链接将不会出现。因此,查看博客上的评论设置可能会有所帮助,以确保在此帖子上实际允许提供回复。

答案 1 :(得分:3)

试试这个:

comment_reply_link(array_merge( $args, array('depth' => $depth, 'max_depth' => $args['max_depth'])))

答案 2 :(得分:2)

感谢以下codex条目(http://codex.wordpress.org/Function_Reference/comment_reply_link),我设法在以下链接中找到了comment_reply_link()的实际用途:http://core.trac.wordpress.org/browser/tags/3.2.1/wp-includes/comment-template.php#L1061

这给我留下了以下问题 - 您是否尝试为函数添加第二个或第三个参数?我认为引擎盖下可能会有一些可疑的东西,使得评论链接不知道实际链接的位置。

尝试删除以下代码段

comment_reply_link( array ( 'reply_text' => 'Reply this comment' ) );

而是使用以下

comment_reply_link( array('reply_text' => 'Reply this comment'), comment_ID(), the_ID() );

让我知道它是否适合您!

答案 3 :(得分:0)

在Admin&gt;中启用嵌套评论设置&gt;讨论:

  • 启用深层次的线程(嵌套)注释级别