获取评论:直接链接到特定评论+帖子标题

时间:2011-09-16 作者:japanworm

我很确定这很容易就能解决,但由于某种原因,我无法让它发挥作用。

我当前的代码如下所示:

<?php   $comments = get_comments(\'status=approve&number=5\'); ?>
<ul id="recent_comments">
<?php foreach ($comments as $comment) { ?>
<li><p><strong><?php
        $title = get_the_title($comment->post_ID);
        echo get_avatar( $comment, \'45\' );
echo strip_tags($comment->comment_author); ?></strong>&nbsp;commented on <a href="<?php echo get_permalink($comment->post_ID); ?>" rel="external nofollow" title="<?php echo $title; ?>"> <?php echo $title; ?></a>: <?php echo wp_html_excerpt( $comment->comment_content, 45 ); ?> (...)</p></li>
<?php }  ?>
</ul>
它工作正常,但只显示文章标题和链接。我想显示帖子标题,但要将其直接链接到具体评论。

我想你会用这样的东西:

<a href="<?php echo get_permalink($comment->ID); ?>#comment-<?php echo $comment->comment_ID; ?>" title="on <?php echo $comment->post_title; ?>"></a>
我试图以某种方式将其实现到上面的代码中。它是有效的,但它突然显示了一条评论不属于的帖子的标题。

有人知道怎么解决这个问题吗?

提前多谢!

2 个回复
最合适的回答,由SO网友:Hameedullah Khan 整理而成

而不是$comment->post_ID 使用$comment->comment_post_ID. 您的代码如下所示:

<?php   $comments = get_comments(\'status=approve&number=5\'); ?>
<ul id="recent_comments">
<?php foreach ($comments as $comment) { ?>
<li><p><strong><?php
        $title = get_the_title($comment->comment_post_ID);
        echo get_avatar( $comment, \'45\' );
echo strip_tags($comment->comment_author); ?></strong>&nbsp;commented on <a href="<?php echo get_permalink($comment->comment_post_ID); ?>" rel="external nofollow" title="<?php echo $title; ?>"> <?php echo $title; ?></a>: <?php echo wp_html_excerpt( $comment->comment_content, 45 ); ?> (...)</p></li>
<?php }  ?>
</ul>
您在URL末尾添加注释的div id以创建单个注释链接的做法是正确的。您需要添加#comment-<?php echo $comment->comment_ID; ?> 在后permalink结束时。

下面是锚定标记的外观。

<a href="<?php echo get_permalink($comment->comment_post_ID); ?>#comment-<?php echo $comment->comment_ID; ?>" rel="external nofollow" title="<?php echo $title; ?>"> <?php echo $title; ?></a>

SO网友:Giraldi

您可能应该使用以下选项:get_comment_link()... 在你的href 值:

<?php echo get_comment_link($comment->comment_ID); ?>
因为如果你使用pagination 对于您的评论,此can automatically determine the page the comment is in

结束

相关推荐

Sort comments by karma

我正在使用插件comments rating (拇指朝上-拇指朝下)在我的评论模板上。它将“karma”存储在comments表的db列“comment\\u karma”中。我正在寻找一种方法,将wp\\U list\\U评论按较高的业力排序到最低。试过类似的方法<?php wp_list_comments(\'callback=mu_custom_callback&orderby=comment_karma&order=DESC\') ?> 但它不起作用。谢谢UP