制作一个属于自己的 API 响应页面

评论(0)

很多人喜欢在自己的主题添加一些 AJAX 效果, 理论上只要我们添加 AJAX 效果,我们就需要跟后台做一定的异步交互,很多主题作者喜欢把这些响应交互的动作直接挂载在 WP 系统里,代码直接放在functions.php文件里,作为一个有讲究的人,我不喜欢这样做,我的做法是直接做一个api的响应页面。

前言

因为前前后后做了好几个主题,有定制的、有仿制的、也有自己用的,有些代码写来写去感觉都是在重复劳作,尤其是前后台交互的代码,其实很多都是需要一样的功能,所以要不停的把代码复制、粘贴到functions.php里面去,觉得很麻烦,所以有了一个想法,就是做一个单独的 API 响应页面,这样做主题的时候将页面复制过去就好了,省去了很多麻烦。

原理

利用 WordPress 页面入口原理,
我们只需要轻轻的调用一下 WP 根目录下的 wp-load.php文件,
之后我们就拥有了所有的 WP 内置函数了,
So 之后你就可以为所欲为了。(是不是很邪恶?)

独立 API 页面源代码

<?php 
require( dirname(__FILE__) . '/../../../wp-load.php' ); 
// 此处是将 api 页面放在 主题根目录
//如果你想放在更深一级 就再加一个 “/..”
 
$myAction = isset($_REQUEST['action'])? $_REQUEST['action'] : false ;
 
if($myAction){
	switch ($myAction) {
		case 'load_comment':
 
			break;
		case 'load_post':
 
			break;
		case 'post_comment':
 
			break;			
		default:
 
			break;
	}
}

总结

这里我是去获取动作参数,然后判断动作参数作出不同响应,
当然你也可以用别的方法去做响应。
@牧风 说挂载到 WP 系统会快一点,这个我没有测试,更不会去考证,
只是感觉这样做代码会整洁一些。