我很确定这很容易就能解决,但由于某种原因,我无法让它发挥作用。
我当前的代码如下所示:
<?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> 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>
我试图以某种方式将其实现到上面的代码中。它是有效的,但它突然显示了一条评论不属于的帖子的标题。
有人知道怎么解决这个问题吗?
提前多谢!
最合适的回答,由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> 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>