在重定向到 Woocommerce 中的支付网关页面之前打开弹出消息

Open popup message before redirect to payment gateway page in Woocommerce

我不想在将用户重定向到我的支付网关页面之前向他们显示弹出消息(在我的例子中,我使用 PayU Latam)。我在 woocomerce > templates > checkout > payment.php 文件中做了一些修改但没有成功,因为虽然我实现了打开弹出窗口,但弹出窗口打开但 1 秒后重定向到 PayU 页面。我想找到在用户关闭弹出窗口后将用户重定向到付款页面的方法。

有什么想法吗?

您可以在 payment.php 中的“下订单”按钮上方为您的弹出框添加一个新的 link。然后使用 CSS 隐藏原来的 Place Order 按钮,并使用 jQuery 在点击弹出消息中的“确认”按钮时触发它。

这是一个使用来自 https://jquerymodal.com/ 的 jQuery Modal 作为弹出框的示例,因为您没有提供任何可使用的代码。您可以根据已有的代码对其进行调整。

jQuery 在弹出窗口中点击触发订单按钮:

<script>
jQuery(document).ready(function($){
    $( "a#close_and_confirm_checkout" ).click(function() {
        $( "button#place_order" ).click();
    });
});
</script>

HTML 新的“下订单”按钮、弹出消息和确认结帐的新按钮:

<a href="#confirm_checkout" rel="modal:open">Place Order</a>

<div id="confirm_checkout" class="modal">
    <p>Your popup message</p>
    <a href="#" rel="modal:close" id="close_and_confirm_checkout">Confirm Order</a>
</div>

最终隐藏您 CSS 中的原始 WooCommerce 下订单按钮,该按钮将由弹出框中的新按钮触发:

#place_order { display:none; }

已测试并正常工作。您可以选择是否在单击新的“确认订单”按钮时关闭弹出框,我认为最好是在用户未完成结帐表单中所有必填字段的情况下,但您始终可以进一步开发它以检查那些字段,仅在必填字段为空时关闭框。