Wordpress 实现“您的足迹”功能

2019-03-13 23:59:07来源: 万戈的Blog 阅读 ()

新老客户大回馈,云服务器低至5折

今天手贱,又小小地折腾了一下 Wordpress,我也不知道该怎么描述这个功能,可能标题让你有点晕,我们还是先看效果吧。如果是之前留过言的访客,请看内页侧边栏,我新添加了一个“您的足迹”,可以看到,这里列出了留言访客的最近10条评论,当然,只能看到你自己的最近10条评论,原理就是调用记录在你浏览器中的 Cookies,如果你是第一次来访,或者刚刚清空了浏览器的缓存,那就看不到“您的足迹”这个板块了。

这其实就是一个最新评论功能的修改版,最新评论中指定隐藏管理员评论,而在“您的足迹”中正好是相对的,要指定显示某一个访客的评论,这里的访客就是指当前浏览器 Cookies 中记录的上一次评论者的信息。明白了原理,实现这个功能也就不难了,在最新评论代码的基础上,把 Cookies 中的访客信息作为变量传递给 comment_author 这个字段就可以了。

把以下代码复制到 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;
    }

?>

因为我水平有限,就不一一解释以上代码的意思了,怕误导大家,另外样式表我也不提供了,每个主题的样式都各不相同,这个大家自由发挥吧。如果你嫌以上代码太累赘,可以把代码封装起来放在 Wordpress 主题的 functions.php 里,然后在需要的地方调用,这个扩展也不在本文讨论范围。

下面给第一次来访而看不到效果的朋友截了一张图。

原文链接:http://wange.im/show-your-recent-comments-in-wordpress.html

标签:

版权申明:本站文章部分自网络,如有侵权,请联系:west999com@outlook.com
特别注意:本站所有转载文章言论不代表本站观点,本站所提供的摄影照片,插画,设计作品,如需使用,请与原作者联系,版权归原作者所有

上一篇:李欣荣:网络销售中的沟通技巧

下一篇:Hishop易分销:分销功能大起底