Wordpress Comment reply link does not appear

2019-06-27 05:13发布

I am using custom code to print the comments but the problem is whatever i do, i cant print the comment reply link under any comment....

here is the code

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

But when i use wp_list_comments functions i can see the reply link appear automatically i am using wordpress 3.2.1

4条回答
趁早两清
2楼-- · 2019-06-27 05:40

Thanks to the following codex-entry (http://codex.wordpress.org/Function_Reference/comment_reply_link), I managed to find the actual use of the comment_reply_link() on the following link: http://core.trac.wordpress.org/browser/tags/3.2.1/wp-includes/comment-template.php#L1061

This leaves me with the following question - did you try adding either the second or the third parameter for the function? I think there might be something fishy going on under the hood, making the comment-link not know where to actually link.

Try removing the following snippet

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

and instead use the following one

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

Let me know if it works out for you!

查看更多
Anthone
3楼-- · 2019-06-27 05:41

Enable nested comments in Admin > Settings > Discussion:

  • Enable threaded (nested) comments levels deep
查看更多
太酷不给撩
4楼-- · 2019-06-27 05:48

Try this:

comment_reply_link(array_merge( $args, array('depth' => $depth, 'max_depth' => $args['max_depth'])))
查看更多
\"骚年 ilove
5楼-- · 2019-06-27 05:52

It can be helpful to read the source for comment_reply_link (http://core.trac.wordpress.org/browser/tags/3.2.1/wp-includes/comment-template.php#L1061), as there are multiple conditions that can lead to the link not appearing. Work through each one at a time, and you'll likely find your answer.

The one that tripped me up, is that the link will not appear if comments are closed. So it can be helpful to review the comment settings on the blog to make sure that providing replies is actually allowed on this post.

查看更多
登录 后发表回答