Как получить ссылку на комментарий из get_comments()?

3 нояб. 2010 г., 19:25:21
Просмотры: 2.87K
Голосов: 0

Мне нужно обновить неаккуратный код, который показывает 5 последних комментариев по всему блогу. Код использует метод WordPress get_comments(), который, похоже, не возвращает id комментариев или ссылки на них (прямые ссылки на комментарии внутри постов через хэштег).

Как я могу собрать больше информации о конкретных комментариях и сделать их ссылками на сами комментарии внутри их родительских страниц?

<h3>Последние комментарии</h3>
<ul>
<?php $comments = get_comments(array('status'=>'approve','number'=>'5')); ?>
<?php foreach ($comments as $comment): ?>
  <?php $post = get_post($comment->comment_post_ID, 'OBJECT'); ?>
  <li><?php print $comment->comment_author; ?> на 
      <a href="<?php print get_permalink($post->post_ID); ?>#comment-<?php print $comment->comment_ID; ?>">
        <?php print $post->post_title; ?>
      </a>
  </li>
<?php endforeach; ?>
</ul>

Этот код расположен на главной странице сайта, вне основного цикла.

1
Комментарии

Вероятно, вам следует использовать get_comment_link()... Смотрите мой ответ на похожий вопрос здесь.

Giraldi Giraldi
15 янв. 2015 г. 22:23:52
Все ответы на вопрос 1
1

Вы почти у цели! Добавьте #comment-<?php comment_id(); ?> к href, чтобы прикрепить якорную ссылку

<a href="<?php echo get_permalink($comment->comment_post_ID);?>#comment-<?php comment_ID() ?>">
     <?php echo $post->post_title; ?>
</a>
3 нояб. 2010 г. 19:41:11
Комментарии

Я видел эту функцию, но ошибочно думал, что она работает только в настоящем цикле, а не обязательно при вызове get_comments(). Спасибо, что прояснили это для меня!

Sampson Sampson
3 нояб. 2010 г. 20:55:25