Экспорт XML-файла с данными заказа при оформлении заказа на woocommerce - PullRequest
1 голос
/ 20 мая 2019

Мне нужно экспортировать XML-файл с деталями заказа на мой локальный компьютер.

У меня две проблемы:

  1. Я использовал woocommerce_thankyou крючок, но он срабатывает каждый раз, когда пользователь посещает сводку заказа. Вместо этого я теперь использую woocommerce_new_order. Но когда при сохранении XML-файла возникает ошибка, на моей странице оформления заказа появляется пустое поле с ошибкой . Как я могу поймать ошибку, возникающую во время ловушки woocommerce_new_order, и показать ее в окне ошибок с php?
  2. На моем сервере не установлен ssh2, поэтому я попытался использовать phpseclib . Он работает как чудо, когда я запускаю его в файле примера, но когда я вызываю его во время ловушки woocommerce_new_order, я не могу подключить к моей локальной машине. Я не получаю никаких ошибок, и сайт просто заканчивается там. Есть ли способ подключения к локальной машине Windows, которая работает во время подключения woocommerce_new_order?

Пока это мой код:

function save_xml($order_id) {
    set_include_path(getcwd());
    include('Net/SSH2.php');

    $ssh = new Net_SSH2($host);
    if (!$ssh->login($user, $pass)) {
        // This is where I need to send an error to woocommerce
    } else {
        $ssh->exec($run); // Here I run some command
    }
}
add_action( 'woocommerce_new_order', 'save_xml', 10, 3 );

1 Ответ

0 голосов
/ 18 июля 2019

Эй, не уверен, что вы решили это?

Но если все ордера отправляются на обработку, прежде чем вы захотите их отправить, вы можете использовать

woocommerce_order_status_processing

, так как он срабатывает толькоодин раз и не должен оставлять квадрат на странице с благодарностью.

...