Idea Press 猪头六独立博客:独立之人格,自由之思想。

为WordPress添加分享到热门社会化媒体按钮(非插件)

16:10:11 April 10, 2010 by:

SNS等社会化媒体(social media)是当下最热门的网络应用。在国外,绝大多数知名媒体的网站都有分享到主流社会化媒体的按钮,像FT中文网华尔街日报、CNN.com等。“分享创造价值”,这也是WEB2.0的核心概念。而反观国内媒体,则鲜有如此开放之心态。人民网、新华网均没有分享按钮,唯有南方周末领风气之先。

其实有很多分享按钮小工具实现这个功能,像:国外有addthis.com sharethis.com国内有山寨版的jiathis.com等,但是这些都有一个缺点:不够个性。下面,我就教你如何为wordpress量身打造属于自己的一键分享到国内主流社会化媒体功能,包括:校内网、开心网、新浪微博、做啥、豆瓣网、鲜果网等。(效果预览见本文末尾)其实很简单,三分钟之内搞定,比我写这篇文章的时间要短的多。

第一步:下载我已经写好的分享按钮的PHP代码:bookmark.php,上传至wordpress主题根目录。

<?php
$permalink = urlencode(get_permalink($post->ID));
$title = urlencode($post->post_title);
$title = str_replace('+','%20',$title);
?>
<li id="xianguo">
      <a href="http://www.xianguo.com/service/submitdigg/?link=<?php echo $permalink; ?>&
title=<?php echo $title; ?>" target="_blank" rel="nofollow">分享到鲜果</a>
</li>
<li id="douban">
        <a  href="http://www.douban.com/recommend/?url=<?php echo $permalink; ?>&title=<?php echo $title; ?>&sel=&v=1" target="_blank" rel="nofollow">分享到豆瓣</a>
</li>
<li id="zuosa">
<a href="javascript:u=location.href;t=document.title;t=t.substr(0,76);c=%22%22+(window.getSelection?window.getSelection():document.getSelection?document.getSelection():document.selection.createRange().text);c=c.substr(0,180);location=%22http://zuosa.com/collect/Collect.aspx?t=%22+encodeURIComponent(t)+%22&u=%22+encodeURIComponent(u);void%200">分享到做啥</a>
</li>
<li id="xiaonei">
<a href="http://share.xiaonei.com/share/buttonshare.do?link=<?php the_permalink() ?>&title=<?php the_title(); ?>"target="_blank" rel="nofollow" >分享到人人网</a>
</li>
<li id="kaixin001">
<a href="http://www.kaixin001.com/repaste/share.php?url=<?php the_permalink() ?>&title=<?php the_title(); ?>" title="分享到开心网" target="_blank" rel="nofollow">分享到开心网</a>
</li>
<li id="sina"><a href="http://v.t.sina.com.cn/share/share.php?url=<?php the_permalink() ?>&title=<?php the_title(); ?>"target="_blank" rel="nofollow" " title="分享到新浪微博" target="_blank" rel="nofollow">分享到新浪微博</a></li></code>
 
 
第二步:在wordpress主题样式表style.css文件中添加分享按钮的CSS样式:
 
 
<blockquote><code>/************************************************
*	bookmark					     		    * 
************************************************/
 
#share {
 
	background:none repeat scroll 0 0 #FFF6EE;
        -moz-border-radius:5px 5px 5px 5px;
        -webkit-border-radius: 5px;
        background:none repeat scroll 0 0 #FFF6EE;
        border:1px solid #FFF6CC;
        width:602px;
        float:left;
}
#share li  {
        background:url("images/share.gif") no-repeat scroll 0 0 transparent;
        float:left;
        margin:6px 0 0 5px;
        padding:4px 0 4px 20px;
        list-style-type:none;
}
#share li#fanfou {
        background-position:0 -44px;
}
#share li#facebook {
        background-position:0 -22px;
}
#share li#friendfeed {
        background-position:0 -66px;
}
#share li#douban {
        background-position:0 -110px;
}
#share li#xiaonei {
        background-position:0 -87px;
}
#share li#zuosa {
        background-position:0 -130px;
}
#share li#myspace {
        background-position:0 -153px;
        }
#share li#kaixin001 {
        background-position:0 -176px;
        }
#share li#xianguo {
        background-position:0 -199px;
        }
#share li#sina {
        background-position:0 -220px;
        }</code></blockquote>
 
 
 
 
第三步:下载按钮图标,并上传至wordpress主题的images目录下。
 
第四步:在单篇日志模板页面添加如下代碼,我的是index.php(main index template),有的主题是single.php。
 
<pre lang="php">
<div id="share">
<ul><?php include(TEMPLATEPATH."/bookmark.php");?></ul>
</div>

第五步:清除缓存,刷新页面,搞定。
最后:如果你乐意,欢迎分享此文到你常去的SNS网站上;

分享按钮全部文件打包下载


看大家怎么说 · · · · · ·

已有43位看官发表了高见
  1. 集思 says:

    天啊,有现成的,自己写多麻烦啊。
    不过自己写也是一种挑战!!

  2. iHenry says:

    因为我自己从来不用(从来不用)这些SNS,所以也忽略了这方面的建设。

    不过技巧不错,先收藏下来。

  3. 朵未 says:

    恩,效果不错。对不喜欢插件的人来说挺好。先收藏。

  4. 小A says:

    哎,没有用起来我

  5. 开心网 says:

    很实用的工具

  6. dboy365 says:

    正在寻求此功能,我下午就按你的方法添加上试试,感谢您分享,辛苦了~

  7. 随影 says:

    懒得 自己做 直接用别人的就okay 了

  8. Turbo says:

    非常棒,感谢分享,有个小小的建议,加上QQ空间的分享可能就更好了

  9. 小杰博客 says:

    感觉这个方法有点麻烦,有简单点的吗

  10. 逸林居士 says:

    外面的分享按钮是JS的,加载到前就行了吧,也不会影响速度。

  11. ninghan says:

    正在找这个微博分享的代码,谢谢了

  12. ninghan says:

    第三步:下载按钮图标,并上传至wordpress主题的images目录下。
    请问楼主,这个是在现在用的主题里的images目录下吗?

  13. chuns says:

    非常不错的分享代码,谢谢,要加上分享到Qzone就更好了

  14. Jeff says:

    这个我的就不需要了。

  15. Wilson Mizner says:

    这个比插件好!!谢谢你的无私奉献

  16. vian says:

    很好的方法,把文字改为小图标更好,这样如果要添加其他网站分享的空间就更多了

  17. 在中国 says:

    你好哦,我用了你的这个代码,但是添加进去之后,分享的按钮全部错位了,我想问一下要怎样修改排版的位置呢?

  18. 小杰 says:

    写的很详细,绑定~~

  19. KEMO says:

    总觉得开心那个写错了。。。。。其余的没研究过 不清楚

    • 豬頭六 says:

      @KEMO 有时间研究下我。这段代码准备修改,去掉一些用的不频繁的,排序也可以改变下,增加分享到腾讯微博等。

  20. 草民 says:

    正找呢,谢谢啦

  21. yxiao says:

    出现这个错误,桑 心。。
    Warning: include(D:\wwwroot\yxiao\Web/wp-content/themes/pixel/bookmark.php) [function.include]: failed to open stream: No such file or directory in D:\wwwroot\yxiao\Web\wp-content\themes\pixel\single.php on line 60

    Warning: include() [function.include]: Failed opening ‘D:\wwwroot\yxiao\Web/wp-content/themes/pixel/bookmark.php’ for inclusion (include_path=’.;C:\php5\pear’) in D:\wwwroot\yxiao\Web\wp-content\themes\pixel\single.php on line 60

  22. 双陈记 says:

    好东西,学习了。

  23. yixin says:

    不错,学习了!!

  24. 沫夏 says:

    喜欢非插件~

  25. 沫夏 says:

    试了下,效果没有你的那么好!

  26. xiuzuo says:

    多谢分享,最近正在研究wp,正好用上

  27. 三米 says:

    哇,这个不错。对于讲求速度的人来说,很棒。收藏了。

Trackbacks

Check out what others are saying about this post...
  1. [...] jiathis最吸引我的地方是:它的代码加载时不拖累网速,并且不用安装插件,这是它的独特优势。当然,也有牛人分享:不用第三方网站让网站集成分享服务,等我搞懂基础知识了再学习这个吧。 [...]

  2. [...] d)        如何在产品页面添加社会化媒体分享按钮。 [...]

  3. [...] 一年前我曾写过一篇《为WordPress添加分享到热门社会化媒体按钮(非插件)》,评论甚多,看来大家都是喜欢折腾的人。过去的2010年,社会化媒体的发展如火如荼,可谓几家欢乐几家愁。 [...]



我想说两句 · · · · · ·

告诉我你的想法... , 如果你想在评论中显示自定义头像, 请点击 gravatar!

注意:广告、垃圾评论、灌水请绕行。

评论者允许使用'@user空格'的方式将自己的评论通知另外评论者。例如, Jack是本文的评论者之一,则使用'@Jack '(不包括单引号)将会自动将您的评论发送给Jack。(注意:大小写需一致)