给WordPress博客添加收藏书签,代码实现
日期:
标签:WordPress教程,经验,网页设计
如需帮忙改代码,或者WordPress二次开发、PHP网站建设等需求,可联系我购买付费服务: 点此联系我
这两天在鼓捣给露兜博客添加"社会性网络书签Social Bookmark",也就是文章下面提供给读者收藏分享文章的按钮。网络上提供了很多WordPress插件来实现书签的功能,但是大多数插件也就是提供一段JS代码,其他什么也没有提供,代码的定制性极差。
可喜的是一些网站提供了代码来实现书签功能,这很不错。于是在露兜博客的实验室做了一番测试,结果不是很满意,有些代码已经失效了,而且调用的小图片太多,增加了http连接数,对网站的加载速度有一定的影响。求人不如求己,自己从各大书签网站下载来了最新的代码,经过小小的拼凑,再用上CSS Sprites技术,把这些小图片整成一张,速度明显上来了。另外还对代码做了优化,通过W3C验证。
下图是制作成功的书签效果,或许在本文下方看到的能给你更深的体验:
好东西不能独享,下面就来分享一下这个书签收藏按钮的制作过程。很简单。
- 打开你的WordPress主题文件夹下single.php
- 找到<?php the_content(); ?>,在下面加上以下代码(就是书签的显示位置,或者放到你觉得合适的地方):
- 注意将上面代码中www.ludou.org网址改成你的,接着在你的WordPress主题CSS文件中加入以下代码:
<div id="soucang">
<strong>
<span style="color:#9932CC">收藏</span><span style="color:#57c200"> & </span>
<span style="color:#9932CC">分享</span>
</strong>
<ul>
<li id="kaixin">
<a href="http://www.kaixin001.com/repaste/share.php?rtitle=<?php echo urlencode($post->post_title);?>&rurl=<?php echo urlencode(get_permalink($post->ID));?>&rcontent=<?php $desc = strip_tags($post->post_excerpt); echo urlencode($desc); ?>" title="转贴到开心网" rel="nofollow"><span></span></a>
</li>
<li id="jiudian">
<a title="推荐到九点" href="http://www.douban.com/recommend/?url=<?php echo urlencode(get_permalink($post->ID));?>&title=<?php echo urlencode($post->post_title);?>" rel="nofollow"><span></span></a>
</li>
<li id="douban">
<a title="推荐到豆瓣" href="http://www.douban.com/recommend/?url=<?php echo urlencode(get_permalink($post->ID));?>&title=<?php echo urlencode($post->post_title);?>" rel="nofollow"><span></span></a>
</li>
<li id="yahoo">
<a title="雅虎收藏" href="http://myweb.cn.yahoo.com/popadd.html?url=<?php echo urlencode(get_permalink($post->ID));?>&title=<?php echo urlencode($post->post_title);?>" rel="nofollow"><span></span></a>
</li>
<li id="google">
<a href="http://www.google.com/bookmarks/mark?op=edit&bkmk=<?php echo urlencode(get_permalink($post->ID));?>&title=<?php echo urlencode($post->post_title);?>" title="Google书签" rel="nofollow"><span></span></a>
</li>
<li id="baidu">
<a href="http://cang.baidu.com/do/add?it=<?php echo urlencode($post->post_title);?>&iu=<?php echo urlencode(get_permalink($post->ID));?>" title="百度搜藏" rel="nofollow"><span></span></a>
</li>
<li id="qq">
<a href="http://shuqian.qq.com/post?from=3&title=<?php echo urlencode($post->post_title);?>&uri=<?php echo urlencode(get_permalink($post->ID));?>" title="收藏到QQ书签" rel="nofollow"><span></span></a>
</li>
<li id="vivi">
<a href="javascript:d=document;t=d.selection?(d.selection.type!='None'?d.selection.createRange().text:''):(d.getSelection?d.getSelection():'');void(vivi=window.open('http://vivi.sina.com.cn/collect/icollect.php?pid=www.ludou.org&title='+escape(d.title)+'&url='+escape(d.location.href)+'&desc='+escape(t),'vivi','scrollbars=no,width=480,height=480,left=75,top=20,status=no,resizable=yes'));vivi.focus();" title="保存到爱问ViVi收藏夹"><span></span></a>
</li>
<li id="bolaa">
<a href="javascript:d=document;t=d.selection?(d.selection.type!='None'?d.selection.createRange().text:''):(d.getSelection?d.getSelection():'');void(blog=window.open('http://www5.bolaa.com/CommendBlog/SmallLogin.aspx?title='+escape(d.title)+'&newspath='+escape(d.location.href)+'&subtitle='+escape(t),'bolaa','width=400px,height=400px'));blog.focus();" title="推荐到博拉"><span></span></a>
</li>
<li id="poco">
<a href="javascript:d=document;t=d.selection?(d.selection.type!='None'?d.selection.createRange().text:''):(d.getSelection?d.getSelection():'');void(keyit=window.open('http://my.poco.cn/fav/storeIt.php?t='+escape(d.title)+'&u='+escape(d.location.href)+'&c='+escape(t)+'&img=http://www.h-strong.com/blog/logo.gif','keyit','scrollbars=no,width=475,height=575,status=no,resizable=yes'));keyit.focus();" title="收藏到POCO网摘" rel="nofollow"><span></span></a>
</li>
<li id="hexun">
<a href="javascript:t=document.title;u=location.href;e=document.selection?(document.selection.type!='None'?document.selection.createRange().text:''):(document.getSelection?document.getSelection():'');void(open('http://bookmark.hexun.com/post.aspx?title='+escape(t)+'&url='+escape(u)+'&excerpt='+escape(e),'HexunBookmark','scrollbars=no,width=600,height=450,left=80,top=80,status=no,resizable=yes'));" title="转帖到和讯网摘" rel="nofollow"><span></span></a>
</li>
<li id="delicious">
<a href="http://www.delicious.com/post?url=<?php echo urlencode(get_permalink($post->ID));?>&title=<?php echo urlencode($post->post_title);?>" title="deliciou" rel="nofollow"><span></span></a>
</li>
<li id="xianguo">
<script charset="utf8" type="text/javascript">
cT="0";nc="#444";nBgc="";nBorder="#F5E5A9";tc="#649B00";tBgc="#FFF4D0";tBorder="#F5E5A9";tDigg="%E6%8E%A8%E8%8D%90";tDugg="%E5%B7%B2%E8%8D%90";defaultItemUrl="WEB_URL";defaultFeedUrl ="http://feed.feedsky.com/ludou";
</script>
<script type="text/javascript" charset="utf8" src="http://re.xianguo.com/api/diggthis.js"></script>
</li>
</ul>
</div>
#soucang {
margin:15px auto;
}
#soucang ul {
display:inline;
position:absolute;
}
#soucang li {
list-style:none;
float:left;
margin-right:10px;
display:block;
}
#soucang li a span {
/*请将下面的 http://example/m.gif 改成你自己的图片链接*/
background:url(http://example/m.gif) no-repeat;
display:block;
height:16px;
width:16px;
}
#soucang li#baidu a span { background-position: 0 0; }
#soucang li#bolaa a span { background-position: 0 -17px; }
#soucang li#delicious a span { background-position: 0 -34px; }
#soucang li#douban a span { background-position: 0 -85px; }
#soucang li#google a span { background-position: 0 -102px; }
#soucang li#hexun a span { background-position: 0 -119px; }
#soucang li#jiudian a span { background-position: 0 -136px; }
#soucang li#kaixin a span { background-position: 0 -153px; }
#soucang li#poco a span { background-position: 0 -187px; }
#soucang li#qq a span { background-position: 0 -204px; }
#soucang li#vivi a span { background-position: 0 -221px; }
#soucang li#yahoo a span { background-position: 0 -238px; }
#soucang li#xianguo {margin-left:10px; padding-bottom:5px;}
上面的代码使用了CSS Sprites技术,其中#soucang li a span的背景图片是放在我的相册上,你可以点这里下载,放到你的网站目录下,将http://example/m.gif修改成你自己的图片地址就可以了。另外,如果上面的CSS布局不适合你的博客,可以自己改改啊。
好了,到此就大功造成了。看着这些各色各样的书签按钮,感觉是不是很不一样呢?其实这些书签对网站的美化也有一定的帮助作用哦。有事没事,在此留个言吧。
因为网页的宽度有限,这里只提供了16个主流的书签按钮,其他的可以根据自己的需要自行添加,下面提供其他的书签代码及logo下载,并非我原创。把上面提供的代码看明白了,自己添加也不是什么难事了。
-- 完 --
本文采用 「CC BY-NC-SA 4.0」创作共享协议,转载请标注以下信息:
原文出处:露兜即刻 https://www.ludou.org/wordpress-bookmarks.html
哈哈,昨天的请求,今天就发表成文章,支持下,再这在请教你两个问题:
1.你展示代码使用的什么插件
2.侧栏的文章归档时怎么实现的
@mosky 回复@mosky
先别臭美!文章是在你发表评论之前发布的。
代码用插件:SyntaxHighlighter
不过它调用就是比较多
侧栏的文章归档:WP-EasyArchives
测试了一下,好像不支持WordPress 2.8.4
@Ludou 晕,等等吧
好像也可以使用代推插件也挺不错的
回复@freehao123
各有所好吧。
不错的。用上了,不过那个列表的右间距大了些我改成了5px感觉好很多哦。
@keelii 嗯,这个CSS是根据我的博客设计,不一定适合每个人,自己动手改改收获会更多啊。
这个很不错,收藏了
@美丽西安 谢谢你的支持
为什么我放到博客上右边距一定要调整成负的才不会超出边框
但是负数会导致图标的链接失效 点击图标就没反应了
博主能帮帮我么?用的是inove.1.4.6主题
@ssbsb 可能是因为你的页面宽度太窄了。
你可以考虑去掉一些网摘的图片,以缩减长度。
博主的代码高亮是SyntaxHighlighter么?
@flox 是的,不过有点速度有点慢!
这个很不错!
@淘好 不过,有些链接已经失效了,没太多时间更新,看着改改再用吧