Oct6
Hexy WP Theme design 2-PinkWine
By hexybaby  | No Comments »

点击查看大图 下载PSD

暂时还没有空切,过两天吧。。

Sep26
HexyTheme1发布
By hexybaby  | 2 Comments »

效果图:

查看大图 下载地址

本来这个theme是为某同学定制的,暂时发布出来请大家帮忙测试。遇到任何问题请即时与我联系。谢谢。hexybb[at]gmail.com

May5
WP LifeStream Plugin—SimpleLife安装说明
By hexybaby  | 15 Comments »

SimpleLife是一款为WP设计的LifeStream插件,你可以用它将自己在其他网站的一举一动(last.fm、del.icio.us…或者其他feed)以时间轴的形式显示在你的blog页面或侧边栏。这里有更多介绍。这里是我的成果。

几乎花了两天的时间搞定这个东西,期间波折不断,对于我这个coding盲来说,几乎是历经万难哇。
曾经试图从各种Search engine上找说明,但都未遂,so 我要将整个过程记录下来,供想要尝试的人参考。

首先需要说明的是,我对代码知之甚少,很多时候也许有更好的、更妥善的代码改良方法,但我只能从逻辑角度找到临时解决方案,所以如果你是牛人,就不用看了,这篇只给跟我一样的抠腚盲用。

详细安装说明如下:

  • 1.下载SimpleLife包
    这个包里的文件和代码是我改过的,基本上解决了以下我将提及的问题,不过你也可以从官网下原代码版本:SimpleLife 1.1b
  • 2.解压缩后,将其中的simplelife文件夹考到WP的plugins文件夹((your domain)/public_html/wp-content/plugins/)
  • 3.登录WP管理后台,进入plugin管理,找到SimpleLife,将它激活(Activate)
  • 4.配置SimpleLife options(WP后台setting/SimpleLife)
    General Settings 设置时间显示格式什么的,具体可以参考它给出的php函数表链接;其中的“Cache Feeds For (Min):”指单个feed每次最大更新数,比如last.fm这种可能item更新比较快的feed,用这个设置可以避免满屏都是同一个feed的item。
    Hover Styles 鼠标悬浮时的效果
    其他都是对不同stream源样式的修改和添加。你可以在默认给出的last.fm、flickr等服务里直接填写用户名;
    也可以在Extra Feed 中加入其他feed,如果要在这些feed之前显示icon,可以将icon的图片(16*16,格式不限)上传到plugins的simplelife文件夹中((your domain)/public_html/wp-content/plugins/SimpleLife/)。
  • 5.创建LifeStream Page
    (1)把压缩包里的simplelife.php(是simplelife文件夹外的那个)上传到当前你所使用的theme文件夹((your domain)/public_html/wp-content/Themes/(Your theme)/)
    原代码包里有一个Example_Page_Template_Upload_To_Current_Theme_Directory.php,这个是作者给出的模板,多了一些没有用的东西,我后来给去掉了,结构重新调了下,各别class需要你根据自己现在的theme来做更改。
    (2)登录WP后台,write a page,选择Page Template下拉中的simplelife。填写title(在各页面header里的入口文链),内容空着就行了。

现在基本上已经完成了整个安装过程。

下面的问题是使用官方代码的同学需要注意的:

  • 1.使用原代码版本可能会遇到页面上出现大量乱码,原因可能是:
    (1)SimpleLife.php文件中代码断行格式需要转换成UNIX格式(官方FAQ有提到):
    用dreamwaver打开该文件,选择“Edit”->“Preferences”命令。然后在Category栏中选择“HTMLFormat”,然后再从 “LineBreaks”列表中选择“LF(Unix)”,单击“OK”按钮以使配置生效果,保存该.php文件。
    (2)SimpleLife.php文件中将add menu语句放置在最后,导致WP无法读取之前的代码:
    需要将这句从末尾调到最前面(//code for stripos for php4 installations 的前面,版本介绍后面):
    //add menu
    add_action(‘admin_menu’, ‘simplelifeOptions’);
    add_action(‘plugins_loaded’, ‘doSimpleWidget’);
    ms老版本的WP不会出现这个问题,可能原作者没有考虑到兼容性问题,在我提供的压缩包里这个问题已经改好了。
  • 2.对于Extra Feed,如果你添加的feed是类似于del.icio.us、google reader、feed提供商(feedsky、feedburner等)item的hyperlink指向与feed的源域名(比如del.icio.us…)不同网站的,那么在SimpleLife options设定的样式将会默认为del.icio.us的样式。
    我翻了它的代码没有找到问题所在,在官网上有人提出解决方案:
    db0 wrote:
    $feedurl = $item->get_feed()->subscribe_url();
    if ($feedurl == $ff) {$class = ‘flickr’;}
    if ($feedurl == $df) {$class = ‘delicious’;}
    if ($feedurl == $bf) {$class = ‘blog’;}
    if ($feedurl == $tf) {$class = ‘twitter’;}
    if ($feedurl == $lf) {$class = ‘last.fm’;}
    if ($feedurl == $fbf) {$class = ‘facebook’;}
    if ($feedurl == $f1) {$class = ‘simple_feed1’;}
    if ($feedurl == $f2) {$class = ‘simple_feed2’;}
    if ($feedurl == $f3) {$class = ‘simple_feed3’;}
    if ($feedurl == $f4) {$class = ‘simple_feed4’;}
    但我试着用这个替换原先的代码,发现Extra Feed好了,但是last.fm等等默认给出的服务class又丢失了,所以我用了非常恶心的招数,将两者结合,各自屏蔽掉有问题的部分:
    /* Kieran’s */
    $url = $item->get_permalink();
    if (stripos($url, ‘flickr’) !== false) {$class = ‘flickr’;}
    if (stripos($url, ‘facebook’) !== false) {$class = ‘facebook’;}
    if (stripos($url, ‘last’) !== false) {$class = ‘lastfm’;}
    if (stripos($url, substr(get_option(’s_blog’), 5,9)) !== false) {$class = ‘blog’;}
    /*if (stripos($url, substr(get_option(’simple_feed1′), 5,9)) !== false) {$class = ’simple_feed1′;}
    if (stripos($url, substr(get_option(’simple_feed2′), 5,9)) !== false) {$class = ’simple_feed2′;}
    if (stripos($url, substr(get_option(’simple_feed3′), 5,9)) !== false) {$class = ’simple_feed3′;}
    if (stripos($url, substr(get_option(’simple_feed4′), 5,9)) !== false) {$class = ’simple_feed4′;}
    */
    /* Your */
    $feedurl = $item->get_feed()->subscribe_url();
    /*if ($feedurl == $ff) {$class = ‘flickr’;}
    if ($feedurl == $df) {$class = ‘delicious’;}
    if ($feedurl == $bf) {$class = ‘blog’;}
    if ($feedurl == $tf) {$class = ‘twitter’;}
    if ($feedurl == $lf) {$class = ‘last.fm’;}
    if ($feedurl == $fbf) {$class = ‘facebook’;}*/
    if ($feedurl == $f1) {$class = ’simple_feed1′;}
    if ($feedurl == $f2) {$class = ’simple_feed2′;}
    if ($feedurl == $f3) {$class = ’simple_feed3′;}
    if ($feedurl == $f4) {$class = ’simple_feed4′;}
    在我给出的下载包里代码就是这个样子,如果你使用的是原代码包请尝试其他方法。我已将这条发布到作者的讨论区,等待其他人给出更好的解决方案。
  • 3.页面出现:
    Warning: /home/public_html/wp-content/themes/cache/*.spc
    is not writeable in /home/public_html/wp-content/plugins/simplelife/simplepie.inc on line 1623
    此问题是指simplelife需要在你的wp-content目录下创建缓存文件,但你的wp-content没有给“所有”写入权限,所以你可以:在(your domain)/public_html/wp-content/下创建一个cache目录,并右键属性中权限将“写入”全部勾选上就可以了。

也许你还会遇到其它问题,你可以到SimpleLife的官网发表回复,也许会得到答案,或者发邮件给我(hexybb [at] gmail),我们一起研究下。

UPDATE:
db0 MS已经修改了他的代码,并且给出了新的代码包:hacked version here 晚上回家测试下…