16

深入介绍 Theme Codename H – 收藏与分享

Theme Codename H 原生支持部分主流收藏与分享服务的,即在文章下方显示支持快速收藏或分享的模块在本文中,我将介绍我是如何在 Theme Codename H 中实现收藏与分享功能,以及如何自定义该功能模块。若感兴趣,同学们也可在任何 WordPress 主题中添加此功能。该收藏与分享功能的 Live Demo 请访问这里,视觉效果如下图:

深入介绍 Theme Codename H - 收藏与分享

Theme Codename H下载)中,收藏与分享功能涉及两个文件:

  • widget-fav.php – 收藏与分享功能主体代码
  • single.php – 调用 widget-fav.php:<?php include (TEMPLATEPATH . ‘/widget-fav.php’); ?>

我在开发此功能之前,参考了目前网上主流的手动添加收藏与分享功能的方法,直接调用固定链接:<?php the_permalink() ?> 及标题:<?php the_title(); ?> 如:

<a href=”http://……/…title=<?php the_title(); ?>&bkmk=<?php the_permalink() ?>”>收藏至 Google</a>

然而这样的方法问题就在于:所有的非字母数字字符都没进行 URL-encoding 处理,至于为何要进行 URL-encoding 处理请参照此文。而更现实的问题就是,中文字符会出现无法正常显示的问题。

因此我在 widget-fav.php 的开头增加了对标题和固定链接的 URL-encoding 处理,并且标题中的空格(%20)用 + 代替,具体代码:

<?php
$permalink = urlencode(get_permalink($post->ID));
$title = urlencode($post->post_title);
$title = str_replace('+','%20',$title);
?>

调用标题和固定链接的代码:

<a href=”http://……/…title=<?php echo $title; ?>&bkmk=<?php echo $permalink; ?>”>收藏至 Google</a>

觉得自己编写麻烦,也可直接下载 Theme Codename H 主题,使用 widget-fav.php 文件(将该文件放入主题文件夹中,调用方法如上述的 Single.php)。

Theme Codename H 中文版主题是默认带有 17 个收藏、分享、SNS 类网站的,而添加站点的方式也并不难,可以搜索目标网站的开发、API、Bookmarklet 等相关栏目,比如:Windows Live SkyDrive 共享收藏添加链接介绍,更省事的则是下载 Sociable 插件进行研究。

若看到这里仍觉得迷茫,我推荐使用 17fav Bookmark & Share 这款由我爱水煮鱼花儿开了开发的 WordPress 插件实现该功能。

16 条评论

发表评论

您正在使用 IE 6 浏览器访问本博客。简单几步,您就可以升级:Internet Explorer

X