WooCommerce Ajax 添加到购物车 facebook 像素事件不起作用

2023-12-30

使用 Ajax 将产品添加到购物车时,不会触发添加到购物车 Facebook 像素事件。

这是我在 head 中的第一个输出。

    <!-- WooCommerce Facebook Integration Begin -->
    <script <?php echo self::get_script_attributes(); ?>>

        <?php echo $this->get_pixel_init_code(); ?>

        fbq( 'track', 'PageView', <?php echo json_encode( self::build_params( [], 'PageView' ), JSON_PRETTY_PRINT | JSON_FORCE_OBJECT ) ?> );
        document.addEventListener('DOMContentLoaded', function() {
        jQuery && jQuery(function($){
        $('body').on( 'added_to_cart', function()
            {
            // Testing output on browser JS console
            console.log('added_to_cart'); 
        $( 'body' ).append( '<div class=\"wc-facebook-pixel-event-placeholder\"></div>' );


        });
    });
    }, false);
    </script>

将产品添加到购物车时,控制台中会打印“added_to_cart”。所以添加到购物车 Ajax 正在工作。

这是不使用 Ajax 触发的函数。

// AddToCart while AJAX is enabled
add_action( 'woocommerce_ajax_added_to_cart', [ $this, 'add_filter_for_add_to_cart_fragments' ] );

// Setups a filter to add an add to cart fragment whenever a product is added to the cart through Ajax.

public function add_filter_for_add_to_cart_fragments() {

            if ( 'no' === get_option( 'woocommerce_cart_redirect_after_add' ) ) {
                add_filter( 'woocommerce_add_to_cart_fragments', [ $this, 'add_add_to_cart_event_fragment' ] );
            }
        }

// Adds an add to cart fragment to trigger an AddToCart event.

public function add_add_to_cart_event_fragment( $fragments ) {

            if ( self::$isEnabled ) {

                $script = $this->pixel->get_event_script( 'AddToCart', [
                    'content_ids'  => $this->get_cart_content_ids(),
                    'content_type' => 'product',
                    'contents'     => $this->get_cart_contents(),
                    'value'        => $this->get_cart_total(),
                    'currency'     => get_woocommerce_currency(),
                ] );

                $fragments['div.wc-facebook-pixel-event-placeholder'] = '<div class="wc-facebook-pixel-event-placeholder">' . $script . '</div>';
            }

            return $fragments;
        }

我正在使用最新的 Wordpress 和 WooCommerce 以及 Facebook 的 WooCommerce 插件。


None

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

WooCommerce Ajax 添加到购物车 facebook 像素事件不起作用 的相关文章

  • 在asp.net mvc中如何知道请求是否是ajax?

    有人我怎么知道请求是否是ajax 我使用 jquery 进行 ajax 还有Request IsAjaxRequest如果您使用的是更高版本的 MVC 我不再有版本 1 所以我不能说它是否在版本 1 中 如果您需要在 Global asax
  • 获取客户在 WooCommerce 中最后订单的产品

    我想获取客户最近一次购买的产品数据或最近一次购买的产品数据 目前我有这个 但数组的结果给了我随机购买的结果 它甚至没有给我已完成购买的数据 它为我提供了暂停购买的详细信息 我在这里需要一些帮助 这是代码 Get the current us
  • 如何跨页面播放背景音乐

    我已经读过这个问题 我知道它只能用框架来完成 我真的不想要全站点 AJAX 如何在多个 HTML 页面上播放背景音频 https stackoverflow com questions 4210370 how to play a backg
  • Woocommerce:按自定义分类法排序

    我遇到以下问题 我已经与 WooCommerce 建立了一个 Wordpress 网站 为仅提供书籍的网上商店提供服务 我创建了一些基于分类法的产品属性 例如 出版商 and author 因为多个产品可以共享作者或出版商 我希望不仅能够在
  • onchange 使用 radioChoice 获取当前值

    我尝试使用 radioChoice onChange 从无线电表单中获取选定的值 但似乎无法真正找到解决方案 onEvent 函数被调用 但从这里我不太确定如何获取该值 Code RadioChoice
  • 在 Chrome/Safari 中添加 html5 属性后 Ajax 表单中断

    分步说明 新建 Asp Net MVC2 项目 Model public class TestModel public int Property get set 家庭控制器 HandleError public class HomeCont
  • WooCommerce 订单和电子邮件通知的自定义产品描述

    我需要修改产品描述以显示在所有客户通知上 所以 我尝试了以下代码 add filter woocommerce get item data wc checkout description so 15127954 10 2 function
  • 使用订单详细信息创建 Woocommerce 短代码

    我正在尝试创建一些与 woocommerce 订单数据相关的短代码 我有一个自定义页面 订单完成后客户将被重定向到该页面 访客结帐已禁用 因此所有购买的客户都将拥有一个帐户 在页面中 我想通过简码插入订单中的一些数据 这是一个例子 您好 c
  • 如何在 WooCommerce 中的产品结构化数据 (Schema.org) 中添加产品图像和描述

    我使用它向每个产品的架构添加自定义字段 add filter woocommerce structured data product function markup product if is product markup brand ge
  • 将 Javascript 类数组传递给 MVC 控制器?

    我正在尝试将一系列服务传递给我的控制器 我尝试了很多不同的方法来让它工作 在进入控制器之前序列化数据 序列化每个服务 唯一有效的方法是将控制器参数更改为字符串并序列化数组 然后使用 JsonConvert 但我 d 宁愿不这样做 使用指定的
  • MVC:如何使用ajax?

    我将使用 Zend Framework MVC 实现启动一个项目 我如何使用ajax 我的意思是 我应该将所有 ajax 代码放入控制器中吗 还是进入视野 例如 我想将作者 ivan 的帖子显示在页面上 通常 我创建一个指向 posts a
  • 为什么 JSON 结果可以是布尔值而不是对象或数组?

    From JSON 网站 http json org JSON 建立在两种结构之上 名称 值对的集合 在各种语言中 这被实现为对象 记录 结构 字典 哈希表 键控列表或关联数组 值的有序列表 在大多数语言中 这被实现为数组 向量 列表或序列
  • 更改javascript nodejs中所有页面的href url

    我已经实现了具有多种语言下拉菜单的引导导航栏 当我选择语言时 它将翻译页面 如何更改其他页面的 url 和按钮文本 当我选择french 将所有网址更改为 fr about and fr contact 如何使用 JavaScript 进行
  • WooCommerce 使用 AJAX 设置购物车数量?

    我已经为此绞尽脑汁好几天了 需要一些指导 我正在为 WooCommerce 网站完全从头开始制作自定义主题 现在我正在尝试让购物车功能正常工作 我一直试图使用按钮 来更新购物车中产品的数量 对我来说问题似乎是WC 我在functions p
  • 返回重定向作为对 Ajax(fetch、XHR 等)请求的响应

    如果浏览器收到对 ajax 请求的重定向响应 会发生什么 如果浏览器收到对 ajax 请求的重定向响应 会发生什么 如果服务器发送重定向 又名 302 响应加上 Location 标头 浏览器将自动遵循重定向 对此的回应second请求 假
  • 自动建议 php 的 ajax

    我有一个 html 表单 php 脚本和 jquery 我需要一个 ajax 代码来从我的 php 脚本中进行自动建议 以下是代码 表单 html
  • 表单发布请求并存储收到的数据

    我有一个非常简单的表单 在提交时发出发布请求
  • 将数组从 jquery ajax 传递到代码后面

    我必须将二维数组传递给在asp net网页代码后面编写的页面方法我有一个变量objList作为二维数组 我使用以下代码来实现此目的 但没有成功 并且未调用页面方法 脚本语言 function BindTable objList ajax u
  • Ajax 调用诸如 'for (;;); 之类的响应是什么? { json 数据 }' 是什么意思? [复制]

    这个问题在这里已经有答案了 可能的重复 为什么人们会写这样的代码 throw 1 和 for 在 json 响应前面 https stackoverflow com questions 3146798 why do people put c
  • 循环内的异步性

    我正在使用 jQuery getJSON 用于从一组实用程序的给定 URL 检索数据的 API 我真的很想找到一种为每个实用程序重用代码 完全相同 的方法 由于循环的执行与 ajax 调用无关 因此我无法找到保留循环值的方法 我知道这个描述

随机推荐