标签: 代码

免插件实现WordPress侧边栏Recent Comments(最新评论)代码

秉承能少用插件,就不用插件的原则,完善Wordpress。如今可以无插件实现wordpress博客中侧边栏最新评论列表(Recent Comments),仅仅在sidebar.php中加以下代码即可。

<?php
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,30) 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
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>”.strip_tags($comment->comment_author)
.”:” . ” <a href=\”” . get_permalink($comment->ID) .
“#comment-” . $comment->comment_ID . “\” title=\”on ” .
$comment->post_title . “\”>” . strip_tags($comment->com_excerpt)
.”</a></li>”;
}
$output .= $post_HTML;
echo $output;?>
基本代码如此。当然,可以进一步对PHP代码做一些扩展,取得上佳的实现。
限制留言字数
SUBSTRING(comment_content,1,30)
其中“30”即留言字数限制。对于如何在结尾添加省略号,找到下面的foreach遍历那块,在或你想放的地方插入省略号就OK了。
限制留言条数
LIMIT 10″;
即输出限制为“10”条留言。
显示Gravatar头像
Gravatar头像是通过留言者邮件来判断显示的。所以先在$sql这块加上字段comment_author_email,形成:

$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,comment_author_email

然后在foreach这块加上调用gravatar头像的代码, 形成类似:

foreach ($comments as $comment) {
$output .= “\n<li>”.get_avatar(get_comment_author_email(‘comment_author_email’), 32).strip_tags($comment->comment_author)
.”:” . ” <a href=\”” . get_permalink($comment->ID) .
“#comment-” . $comment->comment_ID . “\” title=\”on ” .
$comment->post_title . “\”>” . strip_tags($comment->com_excerpt)
.”</a></li>”;
}

排除管理员留言
管理员的留言比较多的话,会显得自己在小打小闹,有时一个最新评论列表里面就只看得到你一个人的留言,岂不是太孤芳自赏了。找到代码:

WHERE comment_approved = ‘1’ AND comment_type = ” AND
post_password = ‘

这些代码主要就限定你的留言列表中的每个条目所属的范围。比如comment_approved限定显示已通过审核的留言, comment_type限定留言的形式等等。而如果要排除admin,可以通过两种方式:
user_id=’0′
添加一个AND 把这句加到上面去,形成如:

WHERE comment_approved = ‘1’ AND comment_type = ” AND
post_password = ” AND user_id=”0″

留言列表里面就会显示访客也就是非注册用户的留言。对于大多数WordPress博客来说,这都是适用的。
comment_author != ‘admin’
留言作者不是admin,排除admin的留言。当然也适用于排除其它指定留言作者。需要注意的是,如果你这里排除的留言作者是中文名,要保证你的最新留言列表这个文件是UTF-8或ANSI as UTF-8编码。否则会无效。

当然还有一些排除的方法和其它的留言列表扩展应用,各位触类旁通。有兴趣的朋友可以对照着你的WordPress数据库表 wp_comments里面的各个字段,创建出你自己需要的留言列表,或者一些有趣的留言类应用。比如你可以弄一个列表只显示自己的回复,方便已留言且等待你回复的用户查看。


不用插件实现WordPress分享收藏书签

今天在浏览WP部落格的不经意间,发现一款有意思的分享收藏书签-JiaThis,纯Js实现,无插件,比起那些需要安装Bookmark书签插件,或者需要在页面中添加分享代码的方法,简单许多。另外,它同样包括了当下热门的SNS,微博,书签,收藏等服务,并不会在书签中写死只有几样服务,可以后台官方实时更新,既然小饭用了这款服务,那么就写个推荐,分享给那些苦于找不到适用的分享书签。

加载JiaThis方法简单

  • 首先进入JiaThis网站,找到自己喜欢的收藏书签样式,由传统的日志结尾的分享按钮,也有新奇的动态或固定浮窗,效果如右图。

  • 其次,复制生成的Js代码到single.php文件最底部(记住最好是放在最底部,这样页面可以最后加载这段Js,不会影响速度),在index.php中不需要粘贴代码。

完成,以后在浏览日志页面时,就能看到这款不错的分享收藏书签

WordPress添加人人网,开心网,新浪微博,Buzz,豆瓣分享链接

一直想给自己的博客添加上分享按钮,下插件担心影响网页打开速度,最终决定还是自己手动添加代码吧!如果还犹豫,那么可以看看以下的理由:

给WordPress 添加分享和转帖功能不仅方便用户,提高用户体验又能给博客带来额外的流量。2009年SNS网站发展的欣欣向荣,一篇分享到开心网或人人网的好文章会有效地提高博客的曝光率。2009年微博的兴起也为网络推广开辟了新的空间。Twitter,新浪微博等用户庞大,分享到微博的文章会迅速传播开来。

给WordPress 添加分享和转帖代码如下,将其添加到主题下的single.php中。效果可以见我帖子下方

<a title=”分享到人人网” href=”javascript:void((function(s,d,e){if(/xiaonei\.com/.test(d.location))return;var%20f=
‘http://share.xiaonei.com/share/buttonshare.do?link=’,u=d.location,l=d.title,p=[e(u),’&amp;title=’,e(l)].join(”);function%20a(){if(!window.
open([f,p].join(”),’xnshare’,[‘toolbar=0,status=0,resizable=1,width=626,height=436,left=’,(s.width-626)/2,’,top=’,(s.height-436)/2].join(”)))u.href=[f,p].join(”);};if(/Firefox/.test(navigator.userAgent))setTimeout(a,0);
else%20a();})(screen,document,encodeURIComponent));”><img src=”http://cview.blogbus.com/files/12496916880.png” alt=”分享到校内网” border=”0″ height=”16″ width=”16″>人人网&nbsp;</a>
<a href=”javascript:d=document;t=d.selection?(d.selection.type!=’None’?d.selection.createRange().text:”):(d.getSelection?d.getSelection():”);void(kaixin=window.open(‘http://www.kaixin001.com/~repaste/repaste.php?&amp;rurl=’+escape(d.location.href)+’&amp;rtitle=’+escape(d.title)+’&amp;rcontent=’+escape
(d.title),’kaixin’));kaixin.focus();” title=”分享到开心网”><img src=”http://cview.blogbus.com/files/12496916884.jpg” alt=”转贴到开心网” width=”16″ height=”16″ border=”0″>开心网&nbsp;&nbsp;</a>
<a href=”http://www.douban.com/recommend/?url=<?php echo urlencode(get_permalink($post->ID));?>&title=<?php echo urlencode($post->post_title);?>” target=”_blank”><img src=”https://www.google.com/s2/favicons?domain_url=http://www.douban.com” alt=”豆瓣” title=”豆瓣” />豆瓣&nbsp;&nbsp;</a>
<a href=”javascript:(function(){window.open(‘http://v.t.sina.com.cn/share/share.php?title=’+encodeURIComponent(document.title)+’&url=’+encodeURIComponent(location.href)+
‘&source=bookmark’,’_blank’,’width=450,height=400′);})()” title=”新浪微博分享”><img src=”https://www.google.com/s2/favicons?domain_url=http://t.sina.com.cn”  alt=”新浪微博分享” border=”0″>新浪微博&nbsp;</a>
<a href=”http://www.google.com/reader/link?url=<?php the_permalink() ?>&title=<?php the_title(); ?>&srcURL=<?php bloginfo(‘url’); ?>&srcTitle=<?php bloginfo(‘name’); ?>” target=”_blank”><img src=”http://images.steachs.com/buzz/buzz16.png” title=”Google Buzz”>&nbsp;Google Buzz&nbsp;</a>

如果觉得还不错的话,那么就点击下面的分享按钮,让更多的人看见它把。