求解 WordPress 最新评论无法定位问题
自从解决了 Feedsky 无法正常更新和 Opera 下侧边栏错位的问题,我就学会了,有关于 WordPress 技术上的难题就直接作为日志发布出来求助。因为把问题发布到 WordPress 中文论坛中总是被无数水帖淹没,而且论坛的牛人又都喜欢潜水,只看不回,囧~~~所以还不如在我的日志里爆光率高一些,也可以引来一些 WordPress 大虾们为我解答疑难杂症。
因为本人喜欢折腾 WordPress,越是折腾,这问题就越多。最近就遇到一个棘手的 WordPress 难题,至少对我来说相当困难,而且这个问题有些离奇,我都不知道怎么描述,请大虾们要有点耐心了,我比较啰嗦。我的评论是用 WordPress 原生的 previous_comments_link 和 next_comments_link 两个函数进行分页的,免插件。我在后台开启了分页显示评论,并且每页显示10条评论(嵌套的评论数不被计算在内)。
当评论数未超过一页时,评论链接地址形如:http://日志地址/comment-page-1#comment-ID,而侧边栏的最新评论版块中该评论的相应链接地址形如:http://日志地址#comment-ID。虽然前后两者网址各不相同,但是点击侧边栏的最新评论还是能够跳转到相应评论之上。
当评论数超过一页时,评论链接地址形如:http://日志地址/comment-page-ID#comment-ID,而侧边栏的最新评论版块中该评论的相应链接地址依然形如:http://日志地址#comment-ID。前后两者网址依旧各不相同,但是这时候点击侧边栏的最新评论就不能跳转到相应评论之上,而是停留在该评论所对应的日志页面的起始位置。
也就是说,某条评论的实际所在的页面不在日志当前页,那么侧边栏上的该条最新评论就无法定位。这样就会造成一个问题,如果某访客的留言已经被埋在日志评论的第二、三……页中,则侧边栏的最新评论就只能跳转到这条评论的相应日志,而不能跳转到此评论上。
说的好费劲,连我自己都有些晕了,不知道大家有没有看懂,相信如果有相同经历的朋友应该会很快理解我的。下面是我的最新评论代码,也是非插件的,供大虾参考,希望能给予提示和帮助,在此先万分感谢各位咯~
global $wpdb;
$sql = "SELECT DISTINCT ID, post_title, post_password, comment_ID, comment_post_ID, comment_author, comment_date_gmt, comment_approved, comment_type,comment_author_url, SUBSTRING(comment_content,1,25) AS com_excerpt FROM $wpdb->comments LEFT OUTER JOIN $wpdb->posts ON ($wpdb->comments.comment_post_ID = $wpdb->posts.ID) WHERE comment_approved = '1' AND comment_type = '' AND comment_author != '万戈' AND post_password = '' ORDER BY comment_date_gmt DESC LIMIT 10";
$comments = $wpdb->get_results($sql);
$output = $pre_HTML;
foreach ($comments as $comment) {
$output .= "n<li>". " <a href="" . get_permalink($comment->ID) . "#comment-" . $comment->comment_ID . "" title="" . $comment->post_title . " 上的评论">".strip_tags($comment->comment_author) .": ". strip_tags($comment->com_excerpt) ."</a></li>";
}
$output .= $post_HTML;
$output = convert_smilies($output);
echo $output;
?>
-
Wordpress 侧边栏带头像的最新评论2009年12月26日 -
Wordpress 隐藏博主的最新留言2009年09月28日 -
Wordpress 之欢迎 OOXX 归来2011年01月19日 -
给 Wordpress 主题添加个性化小工具2011年01月16日