Wordpress插件:历史上的今天
偶然看到一些网站上显示历史上的今天发生的一些事情,觉得很有意思,就想在blog上也借用一下,也正好用这个简单的需求来开发一个简单的wordpress插件。对于PHP不是很熟悉,经过几个小时的摸索,终于算是成功了,效果请见本站头部。将代码稍加修改,便可以实现诸如唐诗宋词,英语900句之类的其他效果。
本插件中的数据是从网上获得的,数据文件以UTF8编码方式存放。
如果你有更完整的版本或者有其他语言版本的,欢迎和我共享。
插件下载:Today in History 1.0
插件安装:
1.下载后解压,将TodayInHistory整个目录放置在wordpress的\wp-content\plugins下
2.在管理界面中启用插件Today in History
3.在需要显示的地方调用函数echo ng_today_in_history()
由于每次调用该函数都会随机显示一条信息,如果需要像本站一样生成自动在google中查询的超链接,则需要先用变量临时保存调用结果,例子如下:
if(function_exists('ng_today_in_history'))
{
$history=ng_today_in_history();
echo "<a href=\"http://www.google.cn/search?q=".$history."\">".$history."</a>";
}
?>
使用过程中如果有其他问题,或者发现bug,请留言。
Note:关于时区的问题
本站服务器时间和北京时间相差15个小时,且PHP版本是4.x,为了以北京时间显示历史上的今天,需要将TodayInHistory.php中获得当前月和天的时间函数修正为:
如果PHP是5.1以上版本,则加入一句时区设置语句,即可解决时区问题:
打开wordpress压缩选项导致warning
刚才勾选了“选项”->“阅读”->“如果浏览器要求,则 WordPress 应当在传输前压缩文章 (gzip) ”,结果导致FeedBurner页面出现警告:
无法显示 XML 页。
使用 XSL 样式表无法查看 XML 输入。请更正错误然后单击 刷新按钮,或以后重试。
——————————————————————————–XML 文档只能有一个顶层元素。处理资源 ‘http://feeds.feedburner.com/NinGoo’ 时出错。第 2 行,位置: 2
Warning: ob_start() [ref.outcontrol]: output handler ‘ob_gzhandler’ cannot be used after ‘URL-Rewriter’ in /home/.moonstruck/ningoo/ningoo.net/wp-includes/functions.php on line 419
-^
找到functions.php一看:
if ( !get_option('gzipcompression') ) return false;
if ( extension_loaded('zlib') ) {
ob_start('ob_gzhandler');
}
}
ob_start(’ob_gzhandler’);正是第419行,果然是压缩功能引起的。Google了一把,似乎这是php的一个bug?取消勾选后已经恢复正常。
如何去掉超链接激活时的边框线
记录下网页设计的一个小窍门,第一种方法是在大学时玩网页设计的时候就知道了的,后面的css代码则是刚Google到的。
一般情况下,点击一个超链接,会在这个链接上出现一个虚线的边框虚线,实际上通过响应onfocus事件去掉该边框,比如
当然,要是这样去修改网站中所有的链接来实现该效果,肯定是不现实的。通过在CSS的链接属性里加一条语句,可以做到批量修改:
blr:expression(this.onFocus=this.blur());
}
注:这个好像只有IE才有效果,FireFox中还是有边框虚线出现。
模板颜色调整完毕
页面布局从原来的固定为800px调整为100%,由于有些文章中的代码较长,宽度不够的情况下会导致折行,相当难看。这次调整后,在1024*768以上分辨率上应该好很多了,我想现在用800*600分辨率的应该不多了吧,即使有,也不过和调整前的效果差不多罢了。
我的模板是从wordpress的默认模板改过来的,发布的时候由于时间的关系,颜色搭配很简陋,只用了一种灰色做为主色调。看久了以后感觉太单调。我个人还是比较偏好蓝色,所以这次选了两种蓝色做为主色调,感觉还不错。
这两种蓝色调,包括一些布局的修改,都是参考了一个网站的,这个网站采用的模板MONKEYKING是一个相当简洁优美的模板,要是一开始看到,我也不用费心修改默认模板了,现在由于很多插件集成在当中,要换模板,则工程就比较浩大了,反正外面看起来一样就可以了,呵呵。
辛苦了一晚上,眼睛累的不行。终于算是把界面调整得差不多了。