WordPress评论回复链接未显示

1rhkuytd  于 2023-04-05  发布在  WordPress
关注(0)|答案(5)|浏览(180)

我正在使用自定义代码打印评论,但问题是无论我做什么,我都不能打印任何评论下的评论回复链接。
这是密码

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

ni65a41a

ni65a41a1#

试试这个:

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

jm2pwxwz2#

阅读comment_reply_link的源代码(http://core.trac.wordpress.org/browser/tags/3.2.1/wp-includes/comment-template.php#L1061)可能会有所帮助,因为有多种情况可能导致链接不出现。一次解决每一个问题,你可能会找到答案。
一个绊倒了我,是,如果评论被关闭,链接将不会出现.所以它可以帮助检查博客上的评论设置,以确保提供回复实际上是允许在这篇文章.

q5iwbnjs

q5iwbnjs3#

感谢下面的codex-entry(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() );

让我知道如果它为你工作!

b1zrtrql

b1zrtrql4#

在Admin〉Settings〉Discussion中启用嵌套注解:

  • 启用线程化(嵌套)注解级别深度
mmvthczy

mmvthczy5#

对我来说,它是深度和max_depth在comment_reply_link $args中,当你在自定义回调中使用它时,你需要手动传递深度和max_depth

function callback($comment, $args, $depth) {
    comment_reply_link(
        [
            'depth' => $depth,
            'max_depth' => $args['max_depth'],
        ]
    );
}

相关问题