2014-03-27 81 views
2

我一直在研究一个Wordpress插件,我来自一个背景,我通常编写自己的REST端点(Rails等)。我的问题是,我如何从WP插件创建其他网址端点?Wordpress定制REST API

如:

/为myplugin /保存教程(POST采用JSON并返回JSON) /为myplugin/GET-教程ID =(GET返回JSON)

如何创建这样的REST端点? ?我看了一下admin-ajax.php,这似乎是正确的,但仍然非常混乱。这似乎是一个简单的问题,但。我想在我的plugin.php中处理这些响应。

在此先感谢!

+1

尚未通过我实现,但掏这个插件http://wordpress.org/plugins/json-rest-api/可能是其对你有帮助,对为API创建端点。 –

+0

是的,但如果我正确理解插件的描述,是不是只为常规页面创建JSON端点的插件?所以你可以使用WP的自定义前端? –

+0

我想研究[这里](http://wordpress.stackexchange.com/search?q=rest+endpoint) – brasofilo

回答

1

您应该为此使用add_rewrite_endpoint()。该函数为由提供的位掩码指定的每个匹配位置创建额外的重写规则。例如: add_rewrite_endpoint('json', EP_PERMALINK | EP_PAGES);

将增加与json(/(.*))?/?$为每permastruct 描述一个固定链接(后)或页面结尾的新重写规则。这被重写为json=$match 其中$ match是由端点正则表达式匹配的URL的一部分(例如foo<permalink>/json/foo/)。

你也可以阅读本指南 https://make.wordpress.org/plugins/2012/06/07/rewrite-endpoints-api/

+1

我解决了这个问题,而不是为我的Backbone.js应用程序使用实际的端点,我添加了一些“操作”在Wordpress中,然后使用它们的JSON-RPC API。这里是一个链接:http://codex.wordpress.org/Function_Reference/add_action –