POST参数‘name’404错误

时间:2014-03-12 作者:Keir Lavelle

我正在将WorldPay托管的支付页面网关集成到我的WordPress安装中,并将WorldPay中的通知URL设置为WordPress内的路由。

我遇到的问题是,如果您向WordPress传递名为“name”的参数或此处定义的任何其他保留术语,WordPress会自动响应404错误:WordPress reserved Terms 就像WorldPay一样。

我想知道是否有可能更改此默认404响应,我已尝试使用unset($_POST[\'name\']) 在我的插件代码中,但我认为这在请求生命周期内为时已晚,因为它没有改变响应。我也不希望将我的回调url设置为另一个脚本,这样会改变$\\u POST数组并将其传递给我的插件,如果有人能建议一种方法,我可以不这样做而获得200个响应?

edit: My question in a much easier to read format

远程服务X正在向示例中的我的WordPress站点发送回调。com/?name=nameofcount当WordPress使用name作为保留术语并且远程服务不会更改时,您如何处理?

1 个回复
SO网友:s_ha_dum

听起来好像是WorldPay负责发送过于通用的name 参数,所以您无法控制它。相反,您必须捕获请求并强制其工作。类似于:

function redir_404_wpse_137703() {
  if (is_404() && isset($_GET[\'name\'])) {
    locate_template(\'some-theme-template.php\',true);
    exit;
  }
}
add_action(\'template_redirect\',\'redir_404_wpse_137703\');
some-theme-template.php 需要使用get_header(), 内容,以及get_footer() 与普通自定义模板类似。

我所看到的最大问题是从WorldPay中挑选出真正的404,但必须有其他参数来帮助挑选出来。

结束

相关推荐