WordPress 最新评论与您的足迹二体合一
之前写过一篇《最新、热评、随机日志函数三体合一》的文章,就是把 WordPress 中最新文章、热评文章、随机文章这三个功能不同但函数相近的函数合并在一起写,然后通过不同的参数调用实现这三个功能。这样做的优点是可以精简冗长、多余、重复的代码,方便今后维护和管理,可以做到以一敌三的,个人认为这是一个很好的思路,值得拓展一下。
我先自我拓展一下,把 WordPress 最新评论和“您的足迹”功能进行合体,因为在介绍《WordPress 实现“您的足迹”功能》一文中我就提到过“您的足迹”的原理其实和最新评论是相对的,方法也是相近的,那何不把这两者也合并在一起呢?方法如下:
在 WordPress 主题文件中的 functions.php 中添加代码如下:
function recent_comments( $commentauthor='' ){
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 $commentauthor 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>";
}
echo $output;
}
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 $commentauthor 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>";
}
echo $output;
}
接下去是分别调用最新评论和“您的足迹”的代码,先来看看最新评论:
<?php recent_comments( '!="万戈"' );?>
这里的参数意思就是排除管理员自己的评论,当然,这里的万戈要改成你自己的昵称咯。接下来再看看如何调用“您的足迹”:
<?php
if($_COOKIE["comment_author_" . COOKIEHASH]!=""){
echo '<div class="widget"><h3>您的足迹</h3><ul>';
recent_comments( '="'.$_COOKIE["comment_author_" . COOKIEHASH].'"' );
echo '</ul></div>';
}
?>
if($_COOKIE["comment_author_" . COOKIEHASH]!=""){
echo '<div class="widget"><h3>您的足迹</h3><ul>';
recent_comments( '="'.$_COOKIE["comment_author_" . COOKIEHASH].'"' );
echo '</ul></div>';
}
?>
这里调用的参数就是先判断来访者有没有评论过的 Cookies,如果有则显示您的足迹。
这也只是一个思路的举例,还有更多值得举一反三的,把一些常用的类似的函数合并,这将大大有效地提高对代码的管理,不知道你还有什么更好的想法和思路没?
-
Wordpress 之欢迎 OOXX 归来2011年01月19日 -
Wordpress 评论数之排排坐吃果果2010年12月1日 -
给 Wordpress 评论框添加 TinyMCE 编辑器2010年10月3日 -
Jquery 实现 Wordpress 评论字数计数2010年07月27日
代码总是有问题,显示不出来~
用上了~~喜欢~~~
就跟你的最近评论一样的,应该怎么弄呢?我的最近评论的头像,有时候是正常的,有时候头像会全部显示我自己的新浪围脖头像,我囧了
你可以看看这篇 http://wange.im/recent-comment-with-avatar-in-wordpress.html
怎么显示头像啊,函数怎么加呢
兄弟,这篇文章可以解决我的无难题,上次那片足迹,在我那边就是2合一了,用了这个,就不用2合1了。呵呵。
呵呵,已经看到在你那里的效果了,不错不错呀
你的足迹这个功能我一直加不上,就因为我放代码上去,就自动是而两个都显示了,最新的和和你的足迹,郁闷啊~ 所以今天试试你这个,看看能否不要合一。
呃。。。还有这一说法。。。其实这个方法的本质还是之前的那个你的足迹
我调用足迹没出来?博主
呃。。。不会吧,看右侧,应该有耶,哪道你换浏览器了?
没出来是因为我没升级,用的2.9,后来出来了,但是是在下载别人的模板上出来了,我自己的做的模板没出来(即使我用你的样式)
哇,博主你这里面好多技术文档
这种效果实现的“最新评论”有没有头像?
可以有啊,我把头像作为参数了,可以选择的
get_avatar() 加在哪里?
foreach ( $comments as $comment ) {
$output .= "\nID) . "#comment-" . $comment->comment_ID . "\" title=\"" . $comment->post_title . " 上的评论\">". strip_tags($comment->comment_author) .": ". strip_tags($comment->com_excerpt) ."";
}
里面加上 get_avatar($comment->comment_author_email)
具体的位置根据你的需要来设置,无非就是html排版 自己改改html 写个喜欢的 CSS就行了
博主真的折腾啊```折腾啊```
看到这些代码真头疼。。
对于我来说还挺有意思的,嘿嘿
不错哦。。。
我来逛逛、、、、
我这里又断网了,才灰复。
难怪这几天不见你呢,我想你了
可怕的代码... 前几天为何你的博客一直打不开。。。
前些天博客调整中,现在已经正常了,谢谢关注呀
够能折腾的了,这也只有你们这些高手才行,我是连看也看不懂的。
博客没有FXP帐号,改不了,郁闷
这个可以在WP的后台修改啊
非常好!二合一
不错不错!今天又有好东西啦!
博主的文章,总是通俗易懂,可操作性强!
哈哈,谢谢谢谢呀
效果跟哪呢?
效果就在侧边栏上嘛
不错不错,合并挺好
很好很好
俺博客下一个修改的东西就是这个啦!
我的站好像还用不到这功能 先收藏下 嘿嘿
恩,看了你的网站确实不太适合
我怎么看不到效果?
你是第一次来吧,还没有足迹呢。。。
你现在用哪个邮箱?
i#wange.im,这个,什么事呀任大哥?
万戈是不是啥时候又换RSS地址了,还奇怪你咋这么久没更新了,打开链接一看,有更新啊,那为啥我GR订阅了你博客4个RSS地址现在都不提示了
哼哼,你一定是没有更新我的域名,现在是wange.im/feed啦
速速去纠正
域名?我就是觉得奇怪你怎么这么久没更新,才从我那友链里过来的,域名早就更新了
已经快一年啦,你才发现
我早就发现了,前一两个月应该都有的吧,这两个月突然没更新了,中午想起来你好像很久没更新了
你总算是记起我了,自己TJJ去,不要逼我动手
你在能折腾了
哈哈
wp狂人。
今天休息一下,不折腾了,呵呵
这里真热闹,每天都是那么多人,看来我也不能老潜水。
好思路
还可以拓展到更多应用,我就不多说了
很养眼的博文,有用
这个昵称是你的马甲?
可惜没有好方法适合中英文截断……中英文夹杂的话截出来的参差不齐
省去很多代码了
至少一半的代码,呵呵
推上没收到信息 不看Q邮箱就忽略了。。。
所以我twitter和QQ上两边同时进行
您的足迹这个功能很贴心,让自己以前的评论一目了然
嘿嘿,喜欢的话你也可以加一个呀
已经很久没摸WP了 哎~~
因为你在玩更高深的咯
嘿嘿 这个好!~
超哥要不也加一个试试?
现在都是搞合并了,哈哈
恩恩,我哪天把ZWW大叔的博客也合并了
你把我招聘好了
想让我发工资,没门,哈哈
原来你不想做老板,只想做打工仔……
我这个老板是很抠门的
你刚说我伪沙发就502了,报应啊!~~
伪沙发!伪沙发!伪沙发!伪沙发!伪沙发!伪沙发!伪沙发!伪沙发!伪沙发!伪沙发!伪沙发!
502!502!502!502!502!502!502!502!502!502!502!502!502!502!502!502!502!502!
竟然有穿出效果……………………………………………………………………………………………………………………………………………………………………………………………………
我只是添加了几个字符啊~~……………………………………………………………………………………………………………………………………
基本原理一样的,可以用得上
看到你有好多函数可以合并咧
不加过度的这个玩意儿 我担心影响速度
不太影响速度的,你看我的速度不慢吧?
主机都快扛不住了,还不慢呢
我会死撑到底的
收藏此方法
嘿嘿,我从你那里也是借鉴了不少好方法呢
没此看到技术文章,都不知道该写点啥评论。
于是我纯水了~
这个只是温故,不算啥新技术啦
纯水+1……还是生活文比较好看一点~
明天生活一下
最近增加多了技术文哈。。
想把你的文章转到我的建站百科,会加上链接的,不知道可否?
---------------
看来我是乖孩子,连转文章时候都要问一次,唉..
HOHO,可以呀,欢迎欢迎
我未经授权擅自把wange.im挂在边栏上示众了
啊
過了那麼久都沒多淫來,我來純水了
(被踢
T你?哪舍得呀
我来踢
先把LS拖了一旁揍了再說
过了一天再来,谁怕谁,我体重一个当你两
围观挨踢人士
正好走过这里··不知道我的主题能不能玩这个··
能啊,这个是通用的嘛
来玩了鸟
能来就是好同志
在微博上看见新消息了鸟,这次来了先评论
看了两遍,还是没看懂。我记得winysky有个之前浏览过文章的功能。
额。。。是我写的太罗嗦了?
你的网站通过了腾讯的安全检测,可喜可贺。
。。。腾讯有安全检测?之前我的没有通过吗?我真不知道腾讯还有这回事。。。
聊天和微博中都有,我就是从微博进来的。你把鼠标放到链接上就能看到了,检测安全的就是一个绿勾。
哈,我也看到了,谢谢提醒呀
弱弱的问一下,怎么通过?呵呵
就是不知道,所以比较郁闷。
连我自己也不知道呢,呵呵
终于抢到 了传说中的 前五排=沙发
很不幸地告诉你,你是第六排。。。和沙发无缘咯
前排
shafa?
OMG....
杯具的孩子呀
围观悲剧
神啊,竟然能抢到你的沙发。。。。。先坐会儿。。。呵呵。。。
神啊,虽然你不是沙发,但是你也只是一人这下,百人之上了
只是来看下、
呵呵,能来就好呀
呵呵,这个效果不错啊。。。。
都是老掉牙的效果了,呵呵,只是合并了一下下
@@
这位MM有沙发后的潜质,可以重点培养一下
顺路!
郁闷 前五排都没摸到
在下面免费坐坐
靠近沙发
抵制伪沙发
sf都是要被挤邮箱的
鸭梨不大!
在你邮箱留念