在Paypal IPN电话上获取Wordpress选项

时间:2012-10-15 15:25:40

标签: php wordpress paypal paypal-ipn

我已成功在一个文件中实现了Paypal IPN侦听器,该文件与构成Wordpress主题的其他文件位于同一目录中。但是,我希望用户通过自定义的仪表板设置一些变量,例如来自Wordpress“$receiver_email功能的get_option()。我尝试加载wp-load.php并且它识别get_option()函数以及我试图传递的值,仅当我通过导航直接访问文件时浏览器URL栏。因此,即使我在IPN模拟器面板上设置了正确的输入,我也无法通过IPN获得验证付款。不知何故,在IPN呼叫期间没有传递get_option()值。可能有什么不对?

2 个答案:

答案 0 :(得分: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

答案 1 :(得分:0)

检查您的站点域是否具有公共访问权限以及是否存在防火墙限制