很久没有更新博客.
这期间发生了太多太多的事情. 感触很深. 甚至对我的人生态度都有很大的改变.
现在大部分的 WordPress 主题和插件都有后台设置页面, 为主题或插件添加自定义的一些功能. 这些设置会将被保存到数据库中. 然后在主题或插件中使用它们. 通常人们都是用 global 这样的关键字将他们的设置声明为一个全局变量. 或者在各个页面上都使用 get_options 这样的函数去取得设置. 然而我觉得那样处理并不好. 这里我写了个自认为较好的办法. 欢迎大家批评指正.
该方法用到了数组重载. 数组重载是将对象作为数组使用的一个过程. 为了实现这个你需要用到 ArrayAccess 接口.
好久没有关注 Google 自定义搜索. 今天上去一看很多地方都改掉了. Google 更偏向于使用他的 Ajax API. 好吧, 我也来研究一下. 基本来说文档还是很详尽的.
做了个小尝试. 利用 Google Ajax API 写了个 Google 自定义搜索. 可以用来搜索本站内容.
注意: 原则上 Google 要求保留它的 logo. 所以大家在使用的时候还是最后加上. 这也是对 Google 的一种尊重吧.
我写的 DEMO 在这里.
阻止直接 POST 过来的 Spam
几天前收到很多 spam, 居然大部分来自同一个 IP. 我只好在数据库里用 SQL 语句删掉. 再去看访问日志. 发现这个 IP 几乎是直接向我的 wp-comments-post.php 这个文件 POST 数据. 也就是说它根本没有访问文章. 我很气愤.
现在想到的解决方案是用 SESSION 来阻止. 写成插件 ( Stop post spam ). 本地测试有效. 但要是用了 HTML 静态缓存就不知到了. 可能会导致任何人都无法提交? 不过总的来说这个是不适合完全静态页面的, 除非我们的隐藏域设置为固定的值? 这个有恐怕无法到达很好的阻止作用. 两难啊. 唉. 反正我也不用缓存插件. 不管了. 交给爱折腾的人吧.
再和大家说说我的流程是怎样的.
Read more…