0

当有人购买课程或订单成功完成时,我需要立即执行一个功能。我试图执行的函数实际上称为 API。我没有从 LearnPress 中看到合适的 Hook。

当我使用“user_register”(当有人注册这个钩子触发时)钩子时它工作得很好,但是当我使用 LearnPress 给出的这个“learn_press_confirm_order”钩子时它不起作用。

你们知道有什么合适的方法可以遵循并实现这一目标。感谢您的时间

4

1 回答 1

1

首先,您的 Lime API 密钥应该被视为密码 - 不要在网络上共享它!立即转到您的 LimeLM 帐户,选择“设置”,然后选择“生成新密钥”。我会等 :)

你的代码没有明显的问题,所以我会像这样调试它:

  1. 紧跟die('setup');add_action. 我们要确定这个文件实际上是被调用的。如果是,请删除die.

  2. Wordpress 和 LearnPress 非常棒,因为您已经获得了源代码。转到wp-content/plugins/learnpress并输入(在 Linux 或 *nix 上)

    grep -R "learn_press_confirm_order" .

    这将向您显示引用此操作的所有文件。只有一个:

    ./templates/order/confirm.php : transaction_method, $order->get_id() ); ?>

    所以拉起一个编辑器并编辑wp-content/plugins/learnpress/templates/order/confirm.php. 您需要确定:

    1. 订购时文件是否正在运行。(die在顶部使用,或者error_log如果您可以看到您的 webserver/php 日志文件。)

    2. 在这一点上,我相当肯定您会发现错误,但由于某种原因,您可能会访问此页面,但未调用该操作。因此,您可能需要在此confirm.php页面上计算出确切的控制流程。再次,dieerror_log

您可以对 learnpress 的代码进行实时更改,以帮助您调试它。大多数人都害怕挖掘别人的代码,但这就是开源的巨大力量。完成后,您可以重新安装 learnpress。

期待听到它的进展:)

于 2020-04-03T03:26:38.110 回答