小编Tah*_*Reu的帖子

在 Woocommerce 3 中通过 ajax 提交并创建结账订单

我在结帐表单中添加了一个按钮:

<input type="submit" id="ajax-order-btn" class="button" value="Place Order via AJAX" />
Run Code Online (Sandbox Code Playgroud)

并在functions.php文件中添加了一个 AJAX 片段:

add_action('wp_head', 'ajax_call_place_order');
function ajax_call_place_order() {
    ?>
    <script type="text/javascript" >
        jQuery(document).ready(function($) {
            $(document).on("click", "#ajax-order-btn" ,function(e) {
                e.preventDefault();

                var data = {
                    action: 'ajax_order',
                };

                $.post('<?php echo esc_url( home_url() ); ?>/wp-admin/admin-ajax.php', data);
            });
        });
    </script>
    <?php
}
Run Code Online (Sandbox Code Playgroud)

这是 AJAX 回调,用于以编程方式创建订单:

add_action('wp_ajax_ajax_order', 'ajax_order_callback_wp');
add_action( 'wp_ajax_nopriv_ajax_order', 'ajax_order_callback_wp' );
function ajax_order_callback_wp() {

    $address = array(
        'first_name' => 'John',
        'last_name'  => 'Doe',
        'company'    => 'Speed Society',
        'email'      => 'joe@testing.com',
        'phone'      => …
Run Code Online (Sandbox Code Playgroud)

php ajax wordpress jquery woocommerce

5
推荐指数
1
解决办法
6577
查看次数

标签 统计

ajax ×1

jquery ×1

php ×1

woocommerce ×1

wordpress ×1