0

我目前正在一个用户可以使用会员新闻购买订阅的网站上工作,我想在注册过程完成并且支付交易也完成后捕获用户数据。

如果我通过仪表板手动添加成员,我可以使用此代码捕获用户信息,因为不涉及支付网关

function mepr_capture_new_member_added($event) {
    $user = $event->get_data();
    //mail('myemail', 'mp user added', 'new user added successfully');
  }
  add_action('mepr-event-member-added', 'mepr_capture_new_member_added');

由于我是 WordPress 开发的新手,我不知道如何在我的其他页面模板上访问这些数据,这就是为什么我要发送一封电子邮件来测试它是否有效我能够找出操作挂钩事务完成事件,但它似乎无法正常工作。这是代码

function mepr_capture_new_one_time_sub($event) {
    $transaction = $event->get_data();
    $user = $transaction->user();
    //mail('myemail', 'user purchased subscription', 'user-transaction-completed event captured '); }

add_action('mepr-event-non-recurring-transaction-completed', 'mepr_capture_new_one_time_sub');

我已经阅读了完整的 memberpress 文档,但与开发相关的资源不是我想要的,他们提供了 webhook 的选项,我可以在用户注册和支付交易完成后在 zapier 上捕获数据,但我需要数据在我的网站上,所以 Zapier 不是一个选项,他们还提供了其余的 API,但我想捕获有关“注册和交易完成”事件的用户信息,我认为其余的 API 不可能,请让我知道如何我可以克服这个问题,任何形式的帮助将不胜感激。

4

1 回答 1

1

在搜索了大约 2 天之后,我能够找到一种在注册过程完成并且用户的付款通过支付网关后捕获用户的方法,我现在正在做的方式是在注册过程完成后用户被重定向到感谢页面,并且在该页面上传递了一个包含 subscr_id 的查询字符串,我正在捕获该 subscr_id 并手动从数据库中获取用户并且它工作得非常好,这个过程是无缝的,我可以使用数据我的其他页面模板也是如此。

您可以简单地从 $_GET['subscr_id'] 获取 subscr_id 并使用它从表 'wp_mepr_subscriptions' 中捕获与此订阅关联的用户,然后使用用户 id 从 wordpress 的 'wp_usermeta' 表中获取用户详细信息,希望它可以帮助别人:)

于 2019-04-26T13:13:35.197 回答