【发布时间】:2014-05-15 20:51:48
【问题描述】:
我想创建一个类似于
的端点http://localhost/wordpress/xxxx/
无论何时被调用都在处理 POST 请求。 所以我的情况是这样的:
站点 A Web 表单 -> 用户提交数据 ->
Wordpress (http://localhost/wordpress/xxxx/) -> 我正在解析和处理请求
不直接调用插件文件如何实现? 似乎检测“xxxx”是否用作 url 的一部分的最简单方法是使用 parse_request:
add_action('parse_request', 'xxxx_parse_request');
function xxxx_parse_request($wp) {
if (array_key_exists('xxxx', $wp->query_vars)) {
$location = plugin_dir_url(__FILE__).'includes/issuer_json.php';
// process the request.
wp_redirect($location);
}
}
但它仅适用于 wordpress?xxxx=1 之类的请求,但不适用于 wordpress/xxxx。我认为它对我有用,我创建了一个测试表来检查它。请注意,我将表单的操作指定为 http://localhost/wordpress/?xxxx=1 并指定了隐藏输入来测试传递数据。
<form action="http://wordpress/?xxxx=1">
<input type="hidden" name="test" value="tes1"/>
<input type="submit" />
</form>
每当我提交表单时,我都会被重定向到带有如下 URL 的页面:http://wordpress/?test=tes1,因此表单会覆盖默认操作 http://wordpress/?xxxx=1
我不知道如何处理这个问题。任何帮助将不胜感激。
【问题讨论】: