Невозможно выполнить ловушку woocommerce_order_status_completed - PullRequest
0 голосов
/ 06 декабря 2018

WordPress woocommerce_order_status_completed Хук не выполняется при размещении заказов.Я добавил приведенный ниже код в файле functions.php в console.log идентификатор заказа:

add_action('woocommerce_order_status_completed', 'console_to_order_items_on_competed_status', 10, 1);
function console_to_order_items_on_competed_status( $order_id ){
?>
<script type="text/javascript">
    console.log('order id: "<?php echo $order_id ?>"');
</script>
<?php
}

Приведенный выше код не выполняется.Я также попытался добавить do_action, как показано ниже:

do_action('woocommerce_order_status_completed', 'console_to_order_items_on_competed_status')

, но не повезло вообще.Пожалуйста, помогите мне решить эту проблему.Заранее спасибо.

Ответы [ 2 ]

0 голосов
/ 06 декабря 2018

Чтобы получить идентификатор заказа при размещении заказа, используйте следующий код:

add_action( 'woocommerce_thankyou', 'action_woocommerce_thankyou', 10, 1 );

function action_woocommerce_thankyou()
{
   $current_order_id = wc_get_order( $order_id );
}

вы получите идентификатор заказа в $current_order_id переменная

0 голосов
/ 06 декабря 2018

Если вы хотите выполнить функцию на месте заказа, вы можете использовать этот хук:

    add_action( 'woocommerce_new_order', 'your_order_details',  1, 1  );
    function your_order_details($order_id){ ?>

        <script type="text/javascript">
            console.log('order id: "<?php echo $order_id ?>"');
         </script>
    <?php }

Не забудьте НЕ помещать любое предложение $ woocommerce-> cart-> empty_cart () в эти методы, так как оно удалиттовар в корзине и оставьте другой способ оплаты не в состоянии продолжить.

Попробуйте и дайте мне знать, если у вас есть какие-либо сомнения.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...