如果不在 Woocommerce 中重新加载,自定义购物车计数不会更新

2024-02-01

我已将 ajax 脚本排入队列,但在不刷新页面的情况下似乎无法更新购物车商品计数。

功能:

// Add scripts and stylesheets
function startwordpress_scripts() {
    wp_enqueue_style( 'reset', get_template_directory_uri() . '/reset.css' );
    wp_enqueue_style( 'style', get_template_directory_uri() . '/style.css' );
    wp_enqueue_style( 'style', get_template_directory_uri() . '/veggiee.css');
    wp_enqueue_script('jquery', 'https://ajax.googleapis.com/ajax/libs/jquery/3.1.1/jquery.min.js', array(), null, true);
}

function woocommerce_header_add_to_cart_fragment( $fragments ) {
    global $woocommerce;

    ob_start();

    $fragments['a.cart-customlocation'] = ob_get_clean();
    return $fragments;
}
add_filter( 'woocommerce_add_to_cart_validation', 'is_product_the_same_cat', 10, 3 );

HTML:

<ul>
<li>
<a href="/cart" id="cart_icon"></a></li><li><span class="counter"> 
<?php echo sprintf ( _n( '%d', '%d', WC()->cart>get_cart_contents_count() ), WC()->cart->get_cart_contents_count() ); ?></span></li>
<li id="access"><?php wp_nav_menu( array( 'sort_column' => 'menu_order', 'container_class' => 'menu-header' ) ); ?></li>
</ul>

我已经研究了这个问题,据我所知,篮子总数应该立即更新,而无需刷新。

有人知道我在这里缺少什么吗?


您的代码中存在一些错误和遗漏的内容。对于标题中的购物车商品计数,以下内容将解决问题。

1)你的HTML代码header.php file:

<ul>
    <li>
        <a href="/cart" id="cart_icon"></a>
    </li>
    <li>
        <span class="counter" id="cart-count"><?php
        $cart_count = WC()->cart->get_cart_contents_count();
        echo sprintf ( _n( '%d', '%d', $cart_count ), $cart_count );
        ?></span>
    </li>
    <li id="access"><?php wp_nav_menu( array( 'sort_column' => 'menu_order', 'container_class' => 'menu-header' ) ); ?></li>
</ul>

2) 用于启用购物车商品计数的相关挂钩函数代码阿贾克斯刷新:

add_filter( 'woocommerce_add_to_cart_fragments', 'refresh_cart_count', 50, 1 );
function refresh_cart_count( $fragments ){
    ob_start();
    ?>
    <span class="counter" id="cart-count"><?php
    $cart_count = WC()->cart->get_cart_contents_count();
    echo sprintf ( _n( '%d', '%d', $cart_count ), $cart_count );
    ?></span>
    <?php
     $fragments['#cart-count'] = ob_get_clean();

    return $fragments;
}

代码位于活动子主题(或活动主题)的 function.php 文件中。经过测试并有效。


有关的:Ajax 化 Woocommerce 中的购物车商品计数 https://stackoverflow.com/questions/51123903/ajaxify-the-cart-items-count-in-woocommerce/51126271#51126271

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

如果不在 Woocommerce 中重新加载,自定义购物车计数不会更新 的相关文章

  • Rails3/will_paginate/Ajax - 下一个/上一个链接无法正常工作(这是一个错误吗?)

    我正在遵循 使用ajax分页 http railscasts com episodes 174 pagination with ajax railscast 用于我的 Rails 3 应用程序 一切似乎都运行良好 除了上一个和下一个链接根本
  • FPDI/FPDF:水印和打印多页

    我修改了这个堆栈问题 当用户尝试下载文件时在 pdf 文件上应用水印 https stackoverflow com questions 3983432 applying watermarks on pdf files when users
  • Woocommerce 让产品显示在存档页面中

    我正在尝试让所有产品显示在我商店的存档页面中 我想知道他们的id我正在使用我的一个钩子 它在 wp head 上运行并检查 if is product category 我想以某种方式访问 产品的查询并获取它们的 ID if is prod
  • 如何在 Ext.js 中自动完成 html 输入标签?

    如果您使用 Ext js 库 如何在输入文本区域中进行自动完成 更准确地说 如何根据迭代 Ajax 请求进行自动完成 例如jQuery 自动完成插件 http docs jquery com Plugins AutoComplete aut
  • 如何使用 php 下载/打印页面的特定部分

    我有一个 HTML 页面如下 Lorem Ipsum is simply dummy text of the printing and typesetting industry Lorem Ipsum has been the indust
  • 扩展蓝图类?

    我想覆盖timestamps 函数中发现Blueprint班级 我怎样才能做到这一点 e g public function up Schema create users function Blueprint table table gt
  • 蛋糕控制台 2.2.1:烘焙错误

    运行 MAMP 的 OSX 机器 CakePHP 2 2 1 已正确安装和配置 这意味着当我浏览到 Index php 文件时 所有绿色条都显示出来 我已经完成了博客教程 并且正在开发我的第二个应用程序 其中脚手架已启动并运行 现在我第一次
  • 将“php”作为 shell 脚本执行时的自定义 php.ini 文件

    我在跑php作为 shell 脚本 我不确定 shell脚本 是否正确 该文件以 usr bin php 这很好用 但 MongoDB 类没有正确加载php ini文件 具有extension mongo so 未使用 我该如何使用它tha
  • 是否可以使用 PHP 重定向发送 POST 数据?

    更新 这不是重复的如何使用 PHP 发送 POST 请求 https stackoverflow com questions 5647461 how do i send a post request with php 那里的解决方案对我不起
  • 如何在同一页面上使用AJAX处理多个表单

    我有一个表单 当我单击 提交 时 它就被提交了 然后该表单隐藏 操作页面的结果显示在 div 中 classname dig 它工作正常 但是当我添加另一个表单时 它停止正常工作并且所有表单同时提交 我如何更改我的代码 done click
  • 如何在原则 2 迁移中删除外键

    我想在原则 2 迁移中删除外键 但没有 dropForeignKeyConstraint 有谁知道怎么丢掉吗 public function down Schema schema table schema gt getTable table
  • JSF - 在 ajax 调用上传递参数 - 这段代码有什么问题?

    当我进行 ajax 调用时 我需要将参数传递给 bean 我的豆子是这样的 ManagedBean RequestScoped public class Selector ManagedProperty value param page p
  • “使用未定义常量”注意,但该常量应该被定义

    共有三个文件 common php controller php 和 user php 文件 common php 如下所示 文件controller php看起来像 文件 user php 如下所示 执行脚本时 会给出通知 注意 使用未定
  • 交换关联数组中的两个项目

    Example arr array apple gt sweet grapefruit gt bitter pear gt tasty banana gt yellow 我想调换一下柚子和梨的位置 这样数组就变成了 arr array ap
  • 使用 Ajax.Request 将 JSON 从浏览器传递到 PHP 的最佳方法

    您好 我有一个 JSON 对象 它是一个二维数组 我需要使用 Ajax Request 将其传递给 PHP 我知道的唯一方法 现在我使用js函数手动序列化我的数组 并获取以下格式的数据 s 1 d 3 4等 我的问题是 有没有办法更直接 有
  • SQL 最近日期

    我需要在 php 中获取诸如 2010 04 27 之类的日期作为字符串 并在表中找到最近的 5 个日期 表中的日期保存为日期类型 您可以使用DATEDIFF http dev mysql com doc refman 5 1 en dat
  • 表单提交后如何保留选择字段中的选定值?

    我有一个用于将票证上传到数据库的主页 我有一个选择字段 我想保留用户在提交表单之前选择的值 但它没有发生 这是我选择字段的代码
  • JQuery 图像上传不适用于未来的活动

    我希望我的用户可以通过帖子上传图像 因此 每个回复表单都有一个上传表单 用户可以通过单击上传按钮上传图像 然后单击提交来提交帖子 现在我的上传表单可以上传第一个回复的图像 但第二个回复的上传不起作用 我的提交过程 Ajax 在 php 提交
  • 长轮询会冻结浏览器并阻止其他 ajax 请求

    我正在尝试在我的中实现长轮询Spring MVC Web 应用程序 http static springsource org spring docs 2 0 x reference mvc html但在 4 5 个连续 AJAX 请求后它会
  • 简单的 PHP 表单:电子邮件附件(代码 Golf)

    想象一下 一个用户想要在其网站上放置一个表单 该表单将允许网站访问者上传一个文件和一条简单的消息 该消息将立即通过电子邮件发送 即 该文件未存储在服务器上 或者如果该文件存储在服务器上 仅暂时 作为文件附件 并在邮件正文中添加注释 查看更多

随机推荐

  • 为什么我会收到此错误? AttributeError:“str”对象没有属性“decode”

    我正在尝试创建一个带有电子邮件验证的注册页面 我是 Python Dajngo Web 开发的新手 目前我使用 Python 3 6 Django 2 2 4 Postgresql 11 和 Ubuntu 操作系统 但我有一个问题 无法弄清
  • 无法在android中设置推送通知声音

    我已经创建了推送通知应用程序 我从 GCM 服务获取消息 但推送通知声音不起作用 当我收到通知时 我需要播放声音 我已在下面发布了我的代码 任何人都可以帮助我 receiver class import android app Activi
  • React-Native Bundle Error 未计算文件的 SHA-1

    我在创建反应本机应用程序包时遇到此错误 我正在执行命令React Native Bundle dev false entry file index js bundle output ios main jsbundle platform io
  • 如何使用discord.js获取特定会员用户名

    我想在嵌入消息中添加一个特定的会员信息 用户名 头像 有人知道该怎么做吗 const feedback new discord RichEmbed setColor 0 0 255 setFooter Bot created by mess
  • 是否可以在 Kubernetes 复制控制器中设置主机名?

    我需要在 Kubernetes 复制控制器中设置静态主机名 Docker 通过一些运行时标志来支持它 但是 Kubernetes 复制控制器似乎不支持它 环境 操作系统 CentOS 6 6 使用 sysctl 更改变量 kernel ho
  • CSRF 攻击适用于 API 吗?

    我正在编写一个 Django RESTful API 来支持 iOS 应用程序 每当我编写处理 POST 请求的方法时 我都会遇到 Django 的 CSRF 保护 我的理解是 iOS 管理的 cookie 不会被应用程序共享 这意味着我的
  • 如何通过请求使用转换流?

    基本上 我想在使用转换流将http响应发送到客户端之前更改它 但是下面的代码抛出一个错误 错误 结束后写入 有关的文档http nodejs org api stream html stream writable end chunk enc
  • 提升和变量范围

    有人可以帮助解释为什么下面的两个代码片段打印出不同的结果吗 区别在于条件语句内部 第一个例子中 有一个局部变量 Jack 分配给 name 并且条件为 true 意味着 name 的计算结果为 true 在第二个例子中 相同的名称 Jack
  • ASP.NET MVC 成员角色

    我需要对 ASP NET 会员资格进行一些说明 请帮助我 我正在使用 ASP NET MCV 3 框架 并打算使用 ASP NET 成员身份通过 LDAP 或 SQL 进行用户和身份验证管理 对于我到目前为止所理解的 ASP NET 会员资
  • 将科学计数法的字符串转换为 XPath 中的数字格式

    我有这个字符串 8 1161E 002 这个字符串实际上是计算的结果 不幸的是结果被转换为字符串并且我无法更改它 那么我怎样才能将这个字符串转换为类似的格式00 081 我正在查看 XPath 参考 但找不到format 例如函数 有没有办
  • std::函数向量

    我想要一个 std vector 包含一些函数 并且可以实时向其中添加更多函数 所有的函数都会有一个这样的原型 无效名称 SDL Event 事件 我知道如何创建函数数组 但是如何创建函数的 std vector 我试过这个 std vec
  • Android:仅旋转相机预览上的覆盖按钮

    我有一个 Android 应用程序 使用 LinearLayout 作为主要布局 并使用相机预览填充 SurfaceView 在此 我用三个按钮和一个自定义 TextView 填充另一个 LinearLayout 我希望相机预览始终保持横向
  • 为什么 Process.WorkingSet > Process.MaxWorkingSet?

    闲着的好奇心 我正在查看当前进程的一些属性 using Process p Process GetCurrentProcess Inspect properties p MaxWorkingSet 1 413 120 p MinWorkin
  • 在 matplotlib 表中换行文本

    我需要使用 matplotlib 从字典列表中创建一个表 为此 我使用以下函数 我在该网站的另一个答案中找到了该函数 import matplotlib pyplot as plt from matplotlib externals imp
  • 为什么会有相互冲突的变量?

    我在 facebook javascript SDK 和 python requesthandler 变量之间得到了冲突的结果 Javascript SDK 表示我的用户未登录 这是正确的 而来自基本请求处理程序的模板变量表示我的用户已登录
  • 如何打开 .hxs 文件?

    我知道 hxs 文件是编译后的帮助文件 是 chm 文件的替代品 但我似乎无法打开它们 我读到您使用此处找到的帮助资源管理器 dexplore exe 来阅读它们 C Program Files Common Files microsoft
  • 设置自定义字体时出现文本对齐问题

    当我为分段控件设置自定义字体时 它会更改垂直文本对齐方式 我正在使用下面的代码来设置字体 I dont think these lines are creating any issue but just wanted to paste al
  • IE 11 开发人员工具问题 - window.onload 中出现异常

    I installed Internet Explorer 11 on my Windows 7 machine and it s not building the DOM in DOM Explorer Does any one know
  • 无法减少 ng-repeat 中的观察者数量

    出于性能目的 我想从我的 ng repeat 中删除双重数据绑定 因此 相关的观察者 它加载 30 个项目 并且这些数据一旦加载就是静态的 因此不需要双重数据绑定 问题是 无论我怎么做 该页面上的观看者数量都保持不变 让我们说 div no
  • 如果不在 Woocommerce 中重新加载,自定义购物车计数不会更新

    我已将 ajax 脚本排入队列 但在不刷新页面的情况下似乎无法更新购物车商品计数 功能 Add scripts and stylesheets function startwordpress scripts wp enqueue style