我已经成功地在一个文件中实现了一个 Paypal IPN 侦听器,该文件与构成 Wordpress 主题的其他文件位于同一目录中。但是,我希望用户通过他们定制的仪表板设置一些变量,例如$receiver_email
来自 Wordpress 的功能。get_option()
我已经尝试加载wp-load.php
,它也识别出get_option()
我试图传递的函数和值,但只有当我通过浏览器 URL 栏导航直接访问文件时。因此,即使我在 IPN 模拟器面板上设置了正确的输入,我也无法通过 IPN 获得验证付款。不知何故,get_option()
在 IPN 调用期间没有传递该值。有什么问题?
问问题
561 次
2 回答
0
如果您将 IPN 侦听器设置稍有不同并将其直接指向 WordPress 实例,则会更容易。例如,将您的通知 URL 设置为 domain.com/?paypal_ipn_result=1,然后在插件文件或主题的 functions.php 文件中包含类似的内容:
add_action( 'template_redirect', 'my_template_redirect' );
function my_template_redirect() {
if ( ! isset( $_REQUEST['paypal_ipn_result'] ) )
return;
// Your IPN stuff goes here, you can use get_option and other things.
}
您甚至可以使用比 template_redirect 更早的钩子来让 WordPress 永远不会解析您的请求。也许request
过滤器可能是一个好地方,或者甚至init
。
于 2012-10-15T18:51:21.677 回答
0
检查您的站点域是否具有公共访问权限以及是否有任何防火墙限制
于 2012-10-16T15:47:55.720 回答