Override WooCommerce Frontend Javascript
Override WooCommerce Frontend Javascript
有人可以指导我覆盖WooCommerce核心Javascript文件的正确方法,特别是前端文件。我没有找到任何这方面的文档,查看代码,前端脚本文件的路径在插件中是硬编码的,所以我怀疑在我的主题中放置资产文件夹会做任何事情。
最干净的方法是什么,以便我可以加载位于主题目录中的文件?
谢谢
除了添加到购物车.js之外,我遇到了同样的问题。 简单的解决方案是取消 wooCommerce 脚本的排队并将您的替换队列排队。 就我而言,我在函数中添加了以下内容.php:
wp_dequeue_script('wc-add-to-cart');
wp_enqueue_script( 'wc-add-to-cart', get_bloginfo( 'stylesheet_directory' ). '/js/add-to-cart-multi.js' , array( 'jquery' ), false, true );
您可能希望取消对"wc-add-to-cart-variation"脚本的排队。 我认为您不必使用相同的名称排队,但我看不出有什么理由不这样做。
希望这有帮助。
如果您使用的是WordPress版本4.0.1和WooCommerce版本2.2.10。您可以使用以下脚本:
wp_deregister_script('wc-add-to-cart');
wp_register_script('wc-add-to-cart', get_bloginfo( 'stylesheet_directory' ). '/js/add-to-cart-multi.js' , array( 'jquery' ), WC_VERSION, TRUE);
wp_enqueue_script('wc-add-to-cart');
WooCommerce class-wc-frontend-scripts.php
文件中加载前端脚本和样式,可以找到脚本是如何注册,排队,本地化和依赖的。
中对脚本进行排队的首选位置是 wp_enqueue_scripts
动作钩子,因为那是 Wordpress 完全加载之后但在进行任何输出之前的时刻。而且我喜欢将所有相关脚本和样式排在一个代码段中。
当您想要完全删除某些脚本时,调用 wp_deregister_script()
或 wp_dequeue_script()
就足够了。但是有时,如果要进行一些更改并保留现有的依赖项,变量和本地化,则会出现问题,因为插件是在主题之前加载的。因此,排队功能将无法按预期工作。简单wp_dequeue_script() => wp_enqueue_script()
不起作用,wp_deregister_script() => wp_register_script
() 将起作用,但本地化数据将丢失。
这可以通过直接使用全局对象来解决$wp_scripts
该对象包含和管理通过wp_enqueue_script()
加载或注册到wp_register_script()
的所有脚本:
add_action( 'wp_enqueue_scripts', 'load_theme_scripts' );
function load_theme_scripts() {
global $wp_scripts;
$wp_scripts->registered[ 'wc-add-to-cart' ]->src = get_template_directory_uri() . '/woocommerce/js/wc-add-to-cart.js';
}
将此部分添加到您的函数中.php
function themeslug_enqueue_script() {
wp_enqueue_script( 'add-to-cart-variation', get_bloginfo( 'url' ). '/wp-content/plugins/woocommerce/assets/js/frontend/add-to-cart-variation.js', false );
}
add_action( 'wp_enqueue_scripts', 'themeslug_enqueue_script' );
- 为什么不't Javascript对我的输入值进行了一些重新检查
- 创建一个类似链接的按钮,并通过Javascript函数打开一个新的弹出窗口
- 将函数的上下文应用于javascript变量
- 使用php或javascript从facebook相册URL中删除多余的部分
- 正在添加'X'按钮,在文本字段旁边使用javascript
- 如何在JavaScript中将字符串转换为函数引用
- 模糊事件的Javascript测试
- Javascript更改图标
- 如何将HTML id分配给元素,以及如何将JavaScript应用于元素
- 如何使用WCF服务和javascript表单post上传.doc文件
- javascript结合了数组和字典
- 这是什么 ==- javascript 运算符
- 从javascript创建一个列表
- 无法在通过jQuery的ajax加载的页面中执行javascript
- Javascript:selenium Web驱动程序isDisplayed()不工作
- 如何通过ajax刷新JSF填充的javascript变量
- 如何在Javascript中将JSon对象转换为数组
- Javascript生成的表单未提交
- 使用javascript将动态表从一个html页面打印到另一个html页
- Override WooCommerce Frontend Javascript