You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何让WP Configurator Pro的Ajax加入购物车按钮跳转至购物车页面

解决WP Configurator Pro Ajax加购按钮点击后跳转购物车的问题

你的原有代码问题在于:直接触发按钮点击后立刻跳转,忽略了Ajax请求的异步特性——商品还没完成添加操作,页面就已经跳走了,而且逻辑上没有正确绑定按钮的点击交互,而是主动触发点击,自然达不到预期效果。

以下是两种可行的解决方案:

方案一:监听插件加购成功事件(推荐)

通过监听插件内置的加购成功回调事件,确保商品真正加入购物车后再跳转,这是最可靠的方式:

add_action( 'wp_footer', 'wpc_pro_ajax_add_to_cart_redirect' );
function wpc_pro_ajax_add_to_cart_redirect() {
    // 仅在产品相关页面加载脚本,可根据需求调整
    if ( ! is_product() && ! is_product_category() ) return;
?>
<script type="text/javascript">
(function($){
    // 监听WP Configurator Pro的加购成功事件(部分插件会触发此类自定义事件)
    $(document).on('wpc_add_to_cart_success', function(){
        // 跳转至WordPress默认购物车页面,无需硬编码链接
        window.location.href = '<?php echo wc_get_cart_url(); ?>';
    });
})(jQuery);
</script>
<?php
}

方案二:绑定按钮点击并延迟跳转

如果插件没有提供可监听的成功事件,可通过短暂延迟确保Ajax请求完成后再跳转:

add_action( 'wp_footer', 'wpc_pro_ajax_add_to_cart_redirect' );
function wpc_pro_ajax_add_to_cart_redirect() {
    if ( ! is_product() && ! is_product_category() ) return;
?>
<script type="text/javascript">
(function($){
    // 绑定插件加购按钮的点击事件
    $(document).on('click', '.js-wpc-submit-cart-form', function(){
        // 设置500ms延迟,确保Ajax请求完成(可根据服务器响应速度调整时长)
        setTimeout(function(){
            window.location.href = '<?php echo wc_get_cart_url(); ?>';
        }, 500);
    });
})(jQuery);
</script>
<?php
}

注意事项

  • 确认按钮类名:通过浏览器开发者工具检查插件加购按钮的实际类名,确保.js-wpc-submit-cart-form是正确的,若不符需替换为实际类名。
  • 清除缓存:修改代码后务必清除网站缓存(包括浏览器缓存、插件缓存),避免旧代码影响效果。
  • 延迟时长调整:方案二中的延迟时间如果过短,可能仍会出现跳转过早的情况,可根据实际测试调整数值。

内容的提问来源于stack exchange,提问作者Pptinyint

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.24 17:07:18