我有这个Wordpress 项目,我正在使用WooCommerce Plug-in和 WooCommerce Adamas Theme。我有以下问题:
作为我项目的一部分,我需要用购物车图标替换右上角菜单中的“购物车”一词。我的主题在其functions.php
文件中所做的是创建两个a
指向 Cart 的内容 PoP Up 元素的链接。第一个是“购物车”一词,第二个是购物车产品柜台。
我尝试的是通过将类添加cmagnet-cart
到第二个来添加以下 CSS 属性,以便包含购物车图标。
.cmagnet-cart{
background: url('http://www.athlokinisi.gr/images/shopping-cart.png') no-repeat 10px 6px;
min-width: 45px;
text-align: right;
background-size: auto 17px;
}
我已将该类添加到functions.php cartShow() function
最初生成它的适当元素中。如您所见,问题在于当页面加载时,它会在位置上完美显示图标,然后会重新加载一些 WooCommerce 参数并通过返回其原始值再次隐藏它。因此,没有我添加的课程。
在与 PremiumCoding 的 Adamas 主题支持团队联系后,经过 2 周多的票务处理后,有人向我指出,我需要对 WooCommerce 的 JS 功能进行更改,也许是cart-fragment.js
. 问题是那里对我来说没有任何意义,我真的找不到在哪里进行代码更改,以便 Javascript 的第二次加载包含我的函数或从双重加载中排除这个元素。那里的支持团队无法进一步帮助我。
我将无休止地感谢任何帮助以及为什么会发生这种情况的解释。为什么要加载某些元素两次对我来说没有任何意义。
添加两个附加信息: - 我知道当我解决问题时,我将隐藏(可能通过添加评论)a
打印“购物车”一词的第一个链接 - 我从支持部门得到的最后回复如下(以防万一它有任何帮助):
即使您在加载 WooCommerce Ajax 后用图标替换文本,文本也会返回。因此,您需要更改 WooCommerce js 功能或使用 WPML 插件和字符串翻译模块翻译所有 WooCommerce 插件和主题。
扩展信息:
一般来说,仅仅用a
购物车的图像替换第一个显示“购物车”的链接是不够的,因为它不能解决我更大的问题,其中包括以下内容:我在这个项目中使用希腊语和主题有很多uppercase
CSS 元素。这样做有一些问题,因为大写的希腊词不能自动转换,因为您必须从元音中删除重音。因此,我制作了一个 jQuery 函数,它可以在准备好的文档上运行并纠正这个问题,但是由于前面提到的双重加载问题,它会将所有文本返回到以前的状态。