首页 > 解决方案 > 如何在单击订单按钮时​​将 WooCommerce 订单对象传递给自定义 JS

问题描述

我正在构建一个 WooCommerce 自定义支付网关,并希望在用户单击订单按钮时​​运行一些 JS,但我需要该 JS 才能访问订单对象。到目前为止,我所拥有的是这样的:

    public function __construct() {   
        // constructor stuff, yadda yadda yadda

        add_action( 'woocommerce_after_checkout_form', array( $this, 'checkout_click_handler' ) );
    }

    
    public function checkout_click_handler() {
        ?>
        <script type="text/javascript">                
            jQuery(document).on( "updated_checkout", function(){
                // do JS stuff here, but no access to order object
            });
        </script>
        <?php
    }

理想情况下,我希望能够将$order对象传递到该操作回调中,然后我可以将其字符串化为 JSON 以将其传递给 JS。

更新:好的,我意识到我的想法是错误的,尽管类似的问题仍然存在。checkout_click_handler()在用户填写他们的信息并单击订单按钮之前很久,该功能就被添加到 HTML 中。我真正需要的是该process_payment()函数在收到订单详细信息后能够以某种方式注入新的 HTML。那可能吗?

标签: wordpresswoocommerce

解决方案


推荐阅读