WordPress Комментарий ответ ссылки не появляется - PullRequest
4 голосов
/ 26 июля 2011

Я использую пользовательский код для печати комментариев, но проблема в том, что я делаю, я не могу напечатать ссылку ответа на комментарий под любым комментарием ....

вот код

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

4 голосов
/ 28 сентября 2012

Может быть полезно прочитать источник для comment_reply_link (http://core.trac.wordpress.org/browser/tags/3.2.1/wp-includes/comment-template.php#L1061),, так как есть несколько условий, которые могут привести к тому, что ссылка не появится. Проанализируйте каждое из них за раз, и вы, вероятно, найдете свой ответ.

Единственное, что меня смутило, это то, что ссылка не будет появляться, если комментарии закрыты. Поэтому может быть полезно просмотреть настройки комментариев в блоге, чтобы убедиться, что предоставление ответов на этот пост действительно разрешено.

3 голосов
/ 03 августа 2012

Попробуйте это:

comment_reply_link(array_merge( $args, array('depth' => $depth, 'max_depth' => $args['max_depth'])))
2 голосов
/ 26 июля 2011

Благодаря следующей записи кодекса (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' ) );

и вместо этого используйте следующийone

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

Дайте мне знать, если это сработает для вас!

0 голосов
/ 10 апреля 2013

Включить вложенные комментарии в Admin> Настройки> Обсуждение:

  • Включить уровни многопоточных (вложенных) комментариев
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...