在插件中,我有一个需要提交(通过action=属性)到的付款表单。php文件,也直接位于我的插件中。经过一些研究,调用单个插件文件的“wordpress方式”似乎是在索引上使用自定义查询。而不是php。我已经用下面的代码完成了,它正在工作,但是所讨论的代码只需要处理表单,然后将用户重定向到确认页面,我不需要显示任何内容。现在看起来它实际上正在加载索引。php模板,这似乎是一种浪费。
我这样做对吗?如果没有,我应该怎么做呢?
//Register our custom request hook
function tps_space_rental_query_vars($vars) {
$vars[] = \'tps-rent-space\';
return $vars;
}
add_filter(\'query_vars\', \'tps_space_rental_query_vars\');
//This will allow us to process our payment form the wordpress way
function tps_payment_parse_request($wp) {
if (array_key_exists(\'tps-rent-space\', $wp->query_vars)
&& $wp->query_vars[\'tps-rent-space\'] == \'chargeform\') {
// process the request, just testing for now
echo \'This request happened!\';
}
}
add_action(\'parse_request\', \'tps_payment_parse_request\');
最合适的回答,由SO网友:Kudratullah 整理而成
最简单的方法是使用init操作挂钩
add_action("init", "your_form_handler_action");
function your_form_handler_action(){
if( isset( $_REQUEST["action"] ) && $_REQUEST["action"] == "your_action_name" ) {
echo "Response!!!";
}
}