Archive for the "WordPress" Category

数组重载在 WordPress 主题或插件设置中的应用

现在大部分的 WordPress 主题和插件都有后台设置页面, 为主题或插件添加自定义的一些功能. 这些设置会将被保存到数据库中. 然后在主题或插件中使用它们. 通常人们都是用 global 这样的关键字将他们的设置声明为一个全局变量. 或者在各个页面上都使用 get_options 这样的函数去取得设置. 然而我觉得那样处理并不好. 这里我写了个自认为较好的办法. 欢迎大家批评指正.

该方法用到了数组重载. 数组重载是将对象作为数组使用的一个过程. 为了实现这个你需要用到 ArrayAccess 接口.

Read more…

阻止直接 POST 过来的 Spam

几天前收到很多 spam, 居然大部分来自同一个 IP. 我只好在数据库里用 SQL 语句删掉. 再去看访问日志. 发现这个 IP 几乎是直接向我的 wp-comments-post.php 这个文件 POST 数据. 也就是说它根本没有访问文章. 我很气愤.

现在想到的解决方案是用 SESSION 来阻止. 写成插件 ( Stop post spam ). 本地测试有效. 但要是用了 HTML 静态缓存就不知到了. 可能会导致任何人都无法提交? 不过总的来说这个是不适合完全静态页面的, 除非我们的隐藏域设置为固定的值? 这个有恐怕无法到达很好的阻止作用. 两难啊. 唉. 反正我也不用缓存插件. 不管了. 交给爱折腾的人吧.

再和大家说说我的流程是怎样的.

Read more…

Comment Fetion Alert 2.0.0 dev 发布

整个重新写过. 丰富了后台选项. 最重要的是去掉了对 curl 扩展的依赖. 很多的细节我也不多说了. 现在发布 dev 版本给大家测试. 有问题尽快提交给我. 我好做进一步的修正.

下载

补充:
我哥们 Grubylee 给我写了比较详细的说明. 移步看看

缓存头像的插件 cache avatar

抽空写了个缓存头像的插件 – cache avatar

可以把讨论头像缓存到本地服务器. 随着博客越来越多 gravatar 的站点压力越来越大. 偶尔有头像下载缓慢的情况. 尤其在评论很多的情况下评论者头像往往是最后才载入完成. 因此对站点速度有点苛刻的朋友需要缓存一下评论头像.

插件后台可设置缓存时间.

Read more…

给首页的友情链接添加 nofollow

介绍个简便的办法给用 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…