Выполнить пользовательскую функцию после покупки курса / выполнить заказ в LearnPress? - PullRequest
0 голосов
/ 02 апреля 2020

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

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

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

1 Ответ

1 голос
/ 03 апреля 2020

Прежде всего, ваш ключ API Lime должен рассматриваться как пароль - не делитесь им в Интернете! Go в свою учетную запись LimeLM прямо сейчас, выберите «Настройки» и выберите «Создать новый ключ». Я подожду:)

Нет ничего явно плохого в вашем коде, поэтому я бы отладил его так:

  1. Поставьте die('setup'); сразу после add_action. Мы хотим быть уверены, что этот файл действительно вызывается. Если это так, удалите die.

  2. Wordpress и LearnPress - фантазии c, потому что у вас есть исходный код. Go до wp-content/plugins/learnpress и введите (на Linux или что-то * nix)

    grep -R "learn_press_confirm_order" .

    Это покажет вам все файлы, которые ссылаются на это действие. Существует только один:

    . / Templates / order / Подтвердить. php :action_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, когда закончите.

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

...