Событие Onclick для получения заказов в базе данных woocommerce - PullRequest
1 голос
/ 15 марта 2019

событие onclick, которое мне нужно, чтобы оно появилось в этом коде, чтобы разместить информацию о заказе в базе данных.Также, как мне отобразить идентификатор заказа в виде четырех чисел.

это javascript

// Provide values from the current cart order
var amount = <?php global $woocommerce; print WC()->cart->total; ?>;
var merchantOrderId = '<?php print time(); ?>';
var apiKey = 'm85BXXLpf_icrSvqbElR11xquEgmKZ8wfeRb2ly3-G7pIwCKDuytgplB7AQGi-5t';

renderMMoneyPaymentButton(amount, merchantOrderId, apiKey)

1 Ответ

0 голосов
/ 15 марта 2019

Вы можете получить идентификатор заказа только после оформления заказа, когда заказ был размещен и оплачен на странице «Заказ получен»… В вашем javascript будет указан идентификатор заказа и общая сумма заказа:

add_action('wp_head', 'render_mmoney_payment_button_script_js' );
function render_mmoney_payment_button_script_js(){
    // Only on Order received page
    if( is_wc_endpoint_url('order-received') ) :

    // get order ID
    $order_id = get_query_var('order-received');

    // Format order ID to 4 digits
    $order_id = str_pad($order_id, 4, '0', STR_PAD_LEFT); 

    // Get the order Object
    $order    = wc_get_order( $order_id );

    // Get order total amount
    $total    = $order->get_total()
    ?>
    <script type="text/javascript">
    var apiKey = 'm85BXXLpf_icrSvqbElR11xquEgmKZ8wfeRb2ly3-G7pIwCKDuytgplB7AQGi-5t';
    renderMMoneyPaymentButton(<?php echo $total; ?>, <?php echo $order_id; ?>, apiKey)
    </script>
    <?php
    endif; ?>
}

Код помещается в файл function.php вашей активной дочерней темы (или активной темы).Это должно работать.

Если вы хотите, чтобы ваш скрипт находился в нижнем колонтитуле, вам просто нужно заменить 'wp_head' на 'wp_footer' ... Вы также можете использовать woocommerce_thankyou ловушку, предоставив идентификатор order в качестве аргумента в функции.

...