WP 主题中添加 AJAX 响应

为 WordPress Theme 添加可在匿名(未登录)情况下访问的 AJAX 响应,网上资料很凌乱,遂自行记录过程如下。

1. 首先确保主题中有 jQuery 库(似乎这已是各小型网站的标配),没有的话可以在主题 header.php 文件中添加:

2. 然后需要在页面中插入当前网站的 URL 信息,这个信息可以通过如下代码:

如此一来系统将自动在页面中返回 admin-ajax.php 的网络路径了:

于是在将来自己写的 JS 代码中,只需要调用 MyAjax.uri 就能获取到 admin-ajax.php 文件的地址了;

3. 在 function.php 中添加准备用来响应 ajax 请求的 function:

4. 然后开始添加 JS 代码,发送 AJAX 请求,这个放在主题的相应 js 文件里面就行了:

code on Gist

部署完毕,更多内容请参见官方文档

ShadowBlue 0.9 Beta

ShadowBlue 是我 2010 年 1 月份制作的一个 WordPress 主题,经过了这些年的修修补补,最近终于决定捯饬一下准备上传到 WordPress Index 了。主题截图

主题建了这么久,也积攒下来一大堆 Bug,刚开始做主题的时候编码水准比较幼稚,所以连修复 Bug 加重构一并做了,还对 IE 上的效果进行了一定的简化(计划逐渐实现在 IE6 上的裸奔);逐步完善了后台中的主题设置功能,基本已可实现普通的功能选择不需要修改源码的效果。

上传主题到官网上挺麻烦的,要按照规矩 Debug 代码,很多方法和语句什么的都要重构,源码里还不能用中文,需要全部改英文再拿 PO 文件做 Localization 本地化,一大堆麻烦事。

功夫不怕有心人,一项项地改,总能把问题解决,于是乎,ShadowBlue 0.9 Beta 隆重出炉,源码已上传至官网,坐等审核中。

感兴趣的朋友可以移步 开发页面 一看究竟,心急的朋友可以直接访问 项目页面

PS:ShadowBlue on wordpress.org is almost there ~
坑爹的 wordpress.org ,提出了很多我无法接受的要求,比如只能使用 wordpress 自带的 jquery 库等,还有很多规范化的要求会增加过多的工作量,所以提交到官网的计划正式宣告无限期搁置了。现阶段还是老老实实 host 在 github 上好了。