如果不在 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 中重新加载,自定义购物车计数不会更新 的相关文章

  • 在 WordPress 中使用自定义字段进行搜索

    我正忙于使用 WordPress 开发 Web 应用程序 我创建了一个带有一些自定义字段的自定义帖子 当我使用 WordPress 搜索框搜索帖子时 仅返回标题与搜索字符串匹配的帖子 我想在搜索域中添加自定义字段 我可以在 WordPres
  • PHP将数据写入文件中间而不重写文件的最佳方法是什么

    我正在 php 1GB 中处理大型文本文件 我正在使用 file get contents file txt NULL NULL 100000000 100 要从文件中间获取数据 但如果我想将文件中的数据更改为与原始数据不同的更改 我将不得
  • PHP MySQL 查询带有 %s 和 %d

    SELECT COUNT AS test FROM s WHERE id d AND tmp mail lt gt 什么是 s and d for 这些是使用的格式符号 例如经过sprintf 例子 Output SELECT COUNT
  • PHP:如何检查 Guzzle 4 中的超时异常?

    如果请求期间发生错误 Guzzle 会引发异常 不幸的是 似乎没有特定于超时的错误 这对我来说很重要 因为我知道这些错误偶尔会发生 我想重试相应的请求 并且需要能够判断错误是否是由于超时而发生的 来自docs http docs guzzl
  • Symfony 3新建项目报错

    我开始编写有关 Symfony 3 的教程 在使用以下命令创建新项目时遇到问题 php symfony phar new Symfony 我有这个错误 GuzzleHttp Exception RequestException Error
  • php 中的 stackoverflow 上有这样的成就系统吗? [关闭]

    Closed 这个问题需要多问focused help closed questions 目前不接受答案 从概念上讲 如何使用 PHP 和 MySQL 为网站编写一个成就系统 唯一真正的方法是不断执行 MySQL 查询来测试成绩等吗 您有两
  • 下拉 24 小时选项值和 12 小时显示

    我需要创建一个时间数组 以便在 HTML 下拉列表中使用 数组键应采用 24 小时格式 值应采用 12 小时制 包含 am 和 pm 在数据库中我想存储 24 小时格式 有没有一种快速的方法来创建数组而不是每小时键入 example 00
  • SAPUI5 等待延迟对象 // 等待 .done() 函数

    我知道有几个线程对此进行讨论 但我认为在 SAPUI5 上下文中没有线程回答有关 SAPUI5 中的延迟 同步调用的一般主题 在我的控制器中我得到 test function var dfd Deferred var sServiceUrl
  • 我需要一个 jQuery Autocomplete 使用 ajax 返回 id 和 name 的示例

    我需要一个示例 说明如何编写 jQuery 自动完成代码来填充product id 同时显示调用ajax 页面 remote php 的product name
  • 给定两个日期,在 PHP 中查找工作日数的最佳方法是什么?

    标题几乎是不言自明的 给定两个日期 使用 PHP 查找工作日数的最佳方法是什么 工作日为周一至周五 例如 我如何知道中间有 10 个工作日31 08 2008 and 13 09 2008 datefrom strtotime datefr
  • foreach 循环中 current() 的意外行为[重复]

    这个问题在这里已经有答案了 这是一个简单的循环 list array A B C D foreach list as var print current list Output demo http 3v4l org sBDjl BBBB O
  • MVC和依赖注入,被迫使用单例Controller?

    我正在致力于构建一个根据 MVC 原则运行并利用依赖注入的 PHP 框架 我想我已经把前端控制器部分放下了 有一个工作路由器实例化控制器实例并根据请求的 URI 调用适当的操作 接下来是依赖注入 我想实现一个使用反射解决依赖关系的容器 这样
  • 无需 cron 在后台发送邮件

    我想知道是否有一种方法可以运行 PHP 循环 以便在后台向订阅者发送几百封电子邮件 我的目标是格式化新闻通讯 单击发送 然后关闭浏览器或更改页面 当然 发送电子邮件的实际过程将在后台运行 不会因浏览器关闭而中断 我知道这可以通过 cron
  • 具有挑战性的问题 - 使用 PHP 对 XML 数据进行排序

    我有 xml 文件 其中包含大量产品数据 我需要根据我的字段 ProductRange 的数据对我的产品进行排序 ProductRange urldecode GET Range XML 文件数据
  • jquery ajax加载后丢失CSS

    大家知道如何解决 load Ajax 请求后的 css 问题吗 例如 如果我想从网页加载 DIV 在我的 Ajax 请求之后 container load path to div div id 我丢失了与该 div 关联的所有 css 和脚
  • Php 转换 GMT 格式的时间

    我有这个字符串2012 06 27 16 17 06我想将其转换为 GMT 格式 我怎样才能做到这一点 多谢 Use gmdate http php net manual en function gmdate php 使用以下命令将当前日期
  • 如何从 PHP 中的字符串创建可能的字符串组合?

    如何从 PHP 中的字符串创建可能的字符串组合 Exp input abc output array 0 gt a 1 gt ab 2 gt abc 3 gt ac 4 gt acb 5 gt b 6 gt ba 7 gt bac 8 gt
  • 我的设置未保存在 WordPress 主题选项页面中

    我正在尝试创建一个基于 WordPress 设置 API 的主题选项页面 当我在浏览器中检查 options php 页面时 例如http mysite com wordpress wp admin options php http mys
  • PHP strtotime() 未返回正确的月份

    由于当前月份 年份是 2012 年 1 月 为什么以下代码返回 2011 年 12 月而不是 2011 年 11 月 echo date F Y strtotime 2 months 如果有影响的话 这是在 PHP 5 3 0 上 要获得您
  • node-mongodb-native的插入性能

    我正在使用 MongoDB 测试 Node js 的性能 我知道其中每一个都很好 彼此独立 但我正在尝试一些测试来感受它们 我遇到了这个问题 但无法确定来源 问题 我正在尝试在单个 Node js 程序中插入 1 000 000 条记录 它

随机推荐

  • 为什么我会收到此错误? 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