在WooCommerce内部调用“WooCommerce_BEFORE_ADD_TO_CART_BUTTON”钩子时,CF7 AJAX无法正常工作

时间:2020-11-06 作者:Rahul K

我正在尝试在产品详细信息页面上放置一份CF7联系人表单。我用过WooCommerce钩子woocommerce_before_add_to_cart_button 为此。

add_action( \'woocommerce_before_add_to_cart_button\', \'custom_before_add_to_cart_btn\' );

function custom_before_add_to_cart_btn() {
    echo do_shortcode( \'[contact-form-7 id="69" title="Contact form 1"]\' );
}
但在提交表单时,页面实际上正在刷新。Ajax不再工作。我在控制台中没有错误,所以我认为这不是JS问题。

这是一个全新的WooCommerce店面安装,没有其他插件或任何东西。你们知道这是怎么发生的吗?我该怎么处理?

这是正在发生的事情的屏幕广播:Screencast

1 个回复
SO网友:Aurovrata

我不确定woocommerce_before_add_to_cart_button 操作在请求序列中激发,但值得向functions.php 要查看是否加载CF7 js脚本文件,

add_action(\'wp_enqueue_scripts\', \'pre_register_cf7_files\');
function pre_register_cf7_files(){
  wp_register_style(\'contact-form-7\', wpcf7_plugin_url( \'includes/css/styles.css\' ), array(), WPCF7_VERSION, \'all\' );
  wp_register_script( \'contact-form-7\', wpcf7_plugin_url( \'includes/js/scripts.js\' ), array( \'jquery\' ), WPCF7_VERSION, true);
}
如果这不起作用,您唯一的解决方案将是custom_before_add_to_cart_btn 函数的前面部分request sequence.

相关推荐

WP AJAX请求没有堆叠?

我的ajax请求单独工作(如果我等待每个请求返回,然后再提交下一个请求),但是如果我同时提交一组请求(例如单击多个按钮),则只有最后一个操作返回响应。就像每个请求都在覆盖/取消前一个请求一样。我正在使用WP的管理ajax。php,例如:<?php $nonce = wp_create_nonce("my_nonce"); $link = admin_url(\'admin-ajax.php?action=add_item&post_id=\'.$