Posts Tagged "WordPress"

Description:

分享 WordPrsss 技巧.

数组重载在 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…

缓存头像的插件 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…

使用主循环设计思路

PhilNa2 从 2.0.0 开始重新代码. 从个人经验入手, 我使用了新的代码思路. 充分利用 WordPress 的循环( loop )结构. 更多的信息请查看官方文档. 另外鱼叔也写过相关的文章解释和介绍. 我不再复述. 这里我简单一下我代码的思路.

while … endwhile. 构成了文章输出的主循环.

WordPress 在加载主题文件之前就通过路由( URL )信息使用 WP_Query 类将文章,评论数据从数据库中请求回来了. 并判断使用相应的模板页面.

思路的产生

写过主题或修改过主题的都知道. 一个完整的主题包含有很多的文件. 它们分别负责不同的功能. 显示各页面对应的模板页. 然而, 事实上我们做个测试就知道.一个最简单的主题只需要两个文件就够了. 它们分别是 style.css 和 index.php . 页面的内容的实际上都是通过一个主循环来显示的.即 while… endwhile.而评论则是通过评论循环 (walk) 来显示. 具体它们是如何循环的不在本文讨论范围.

Read more…