Выполнить пользовательскую функцию после покупки курса / оформления заказа в LearnPress?

Мне нужно немедленно выполнить функцию, когда кто-то покупает курс или заказ успешно завершен. Функция, которую я пытаюсь выполнить, на самом деле называется API. Я не вижу подходящего крючка от LearnPress.

Он отлично работает, когда я использую ловушку "user_register"(когда кто-то регистрирует этот перехватчик), но он не работает, когда я использую этот перехватчик "learn_press_confirm_order", предоставленный LearnPress.

Вы, ребята, знаете, есть ли подходящий способ, которым я могу следовать и добиться этого. Спасибо за ваше время

1 ответ

Во-первых, ваш ключ API Lime следует рассматривать как пароль - не делитесь им в Интернете! Зайдите в свою учетную запись 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 если вы видите файлы журнала вашего веб-сервера /php.)

    2. Я почти уверен, что на этом этапе вы обнаружили ошибку, но есть вероятность, что по какой-то причине вы попадаете на эту страницу, но действие не вызывается. Таким образом, вам может потребоваться разработать точный поток управления этимconfirm.phpстраница. Еще раз,die или error_log.

Вы можете вносить изменения в код learnpress, чтобы помочь вам отладить его. Большинство людей боятся копаться в чужом коде, но в этом великая сила открытого исходного кода. Вы можете просто переустановить Learnpress, когда закончите.

Ждем услышать, как это происходит:)

Другие вопросы по тегам