wp_redirect doen't work

时间:2019-02-25 作者:Bud

我正在编写一个简单的插件来接受一个用户号码,显示一个包含用户信息的表单,然后发布一个付款金额。用户编号是从这个http文件include\\u once(PLCOA\\u ADMIN\\u PATH.“views/PLCOA payment start.php”)获得的;而且装载得很好。信息表单使用php文件include\\u once(PLCOA\\u ADMIN\\u路径“views/PLCOA payment add.php”)填写;它只有一个字段-表单中的付款金额。当按下提交按钮时,它将运行此功能。

function payment_post(){
if ($_POST[\'post_action\'] == \'Post\')
{
    //I do my db INSERT here
}
wp_redirect (PLCOA_ADMIN_PATH . \'views/plcoa-payment-start.php\');
exit;
}

我花了几个小时试图找出我的错误,我知道这很简单。这些都是在管理区运行的。如果我直接重定向到外部站点,它就可以正常工作。在db中插入记录后,是否有其他方法将其重新定向回起始表单?

提前感谢!

2 个回复
SO网友:Krzysiek Dróżdż

我想你明白了wp_redirect 不正确。

此函数可将您重定向到其他URL。就像发送header(\'Location: ...\');

另一方面,看起来您正试图将本地路径作为其参数传递。所以它不会工作-这样的路径不是有效的URL地址。

SO网友:Qaisar Feroz

请注意@KrzysiekDródż答案。

wp_redirect (PLCOA_ADMIN_PATH . \'views/plcoa-payment-start.php\');
应该是

wp_redirect (PLCOA_ADMIN_URL . \'views/plcoa-payment-start.php\'); 
// Assuming PLCOA_ADMIN_URL is defined

include_once (PLCOA_ADMIN_PATH . \'views/plcoa-payment-start.php\'); // Recommended

相关推荐

Testing Plugins for Multisite

我最近发布了一个WordPress插件,它在单个站点上非常有效。我被告知该插件在多站点安装上不能正常工作,我理解其中的一些原因。我已经更新了代码,现在需要一种方法来测试更新后的代码,然后才能转到实时客户的多站点安装。我有一个用于测试的WordPress安装程序的单站点安装,但需要在多站点安装上进行测试。根据我所能找到的唯一方法是在网络上至少有两个站点来安装整个多站点安装,以测试我的插件。设置WordPress的整个多站点安装是插件开发人员的唯一/首选方式,还是有更快的测试环境可用。