现在的位置: 首页 > 互联网络 > WP相关 > 正文

让wordpress记录读者已经发过的评论

2010-08-31 16:51 WP相关 ⁄ 共 1320字 ⁄ 字号 暂无评论

    功能描述:如果是之前留过言的访客,请看内页侧边栏,我新添加了一个“您的足迹”。在这可以看到,这里列出了留言访客的最近10条评论,当然,只能看到你自己的最近10条评论。
    实现原理:就是调用记录在你浏览器中的 Cookies,如果你是第一次来访,或者刚刚清空了浏览器的缓存,那就看不到“您的足迹”这个板块了。这其实就是一个最新评论功能的修改版,最新评论中指定隐藏管理员评论,而在“您的足迹”中正好是相对的,要指定显示某一个访客的评论,这里的访客就是指当前浏览器 Cookies 中记录的上一次评论者的信息。

    实现步骤:把以下代码复制到WordPress主题文件中任意合适的地方(比如sidebar.php)-

<?php
    if($_COOKIE["comment_author_" . COOKIEHASH]!=""){
        global $wpdb;
        $sql = "SELECT DISTINCT ID, post_title, post_password, comment_ID, comment_post_ID, comment_author, comment_date_gmt, comment_approved, comment_author_email, 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 = '".$_COOKIE["comment_author_" . COOKIEHASH]."' AND post_password = '' ORDER BY comment_date_gmt DESC LIMIT 10";
        $comments = $wpdb->get_results($sql);
        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 = '<h3>您的足迹</h3><ul>'.$output.'</ul>';
        $output = convert_smilies($output);
        echo $output;
    }
?>

    至于CSS样式,就因人而异了。

    参考文献

给我留言

留言无头像?