现在大部分的 WordPress 主题和插件都有后台设置页面, 为主题或插件添加自定义的一些功能. 这些设置会将被保存到数据库中. 然后在主题或插件中使用它们. 通常人们都是用 global 这样的关键字将他们的设置声明为一个全局变量. 或者在各个页面上都使用 get_options 这样的函数去取得设置. 然而我觉得那样处理并不好. 这里我写了个自认为较好的办法. 欢迎大家批评指正.
该方法用到了数组重载. 数组重载是将对象作为数组使用的一个过程. 为了实现这个你需要用到 ArrayAccess 接口.
Read more…
抽空写了个缓存头像的插件 – cache avatar
可以把讨论头像缓存到本地服务器. 随着博客越来越多 gravatar 的站点压力越来越大. 偶尔有头像下载缓慢的情况. 尤其在评论很多的情况下评论者头像往往是最后才载入完成. 因此对站点速度有点苛刻的朋友需要缓存一下评论头像.
插件后台可设置缓存时间.
Read more…
介绍个简便的办法给用 wordpress 的朋友, 用来给首页的友情链接添加 nofollow. 只有几行代码,很简单. 如下:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
| /**
* 给首页友情链接添加 nofollow
*
* 你可以举一反三, 用它来对友情链接做些修改
*
* @author yinheli
* @link http://philna.com
* @param array $links 链接
* @return array 修改过的链接
*/
function myBookmarksInHomepage($links){
/*判断是否为首页 你也可以用其他的判断用于其他的页面*/
if(is_home()){
/*历遍*/
foreach ($links as &$value) {
/*你可以添加其他的判断对来针对你需要修改的链接*/
$value->link_rel = 'external nofollow';
}
}
return $links;
}
add_filter('get_bookmarks','myBookmarksInHomepage'); |
Read more…
阻止直接 POST 过来的 Spam
几天前收到很多 spam, 居然大部分来自同一个 IP. 我只好在数据库里用 SQL 语句删掉. 再去看访问日志. 发现这个 IP 几乎是直接向我的 wp-comments-post.php 这个文件 POST 数据. 也就是说它根本没有访问文章. 我很气愤.
现在想到的解决方案是用 SESSION 来阻止. 写成插件 ( Stop post spam ). 本地测试有效. 但要是用了 HTML 静态缓存就不知到了. 可能会导致任何人都无法提交? 不过总的来说这个是不适合完全静态页面的, 除非我们的隐藏域设置为固定的值? 这个有恐怕无法到达很好的阻止作用. 两难啊. 唉. 反正我也不用缓存插件. 不管了. 交给爱折腾的人吧.
再和大家说说我的流程是怎样的.
Read more…