修改商业Javascript
背景: 我有很多产品变体,有2-3个不同的属性,但其中一个是“main one”,而其他的在选择main属性后都是唯一的,所以我需要在更改main属性时自动选择它们(并且可能用css隐藏下拉列表) 我已将相应的文件复制到我的主题中,并进行了覆盖修改商业Javascript,javascript,jquery,wordpress,woocommerce,Javascript,Jquery,Wordpress,Woocommerce,背景: 我有很多产品变体,有2-3个不同的属性,但其中一个是“main one”,而其他的在选择main属性后都是唯一的,所以我需要在更改main属性时自动选择它们(并且可能用css隐藏下拉列表) 我已将相应的文件复制到我的主题中,并进行了覆盖 wp_deregister_script('wc-add-to-cart-variation'); wp_register_script('wc-add-to-cart-variation', get_bloginfo( 'stylesheet_dir
wp_deregister_script('wc-add-to-cart-variation');
wp_register_script('wc-add-to-cart-variation', get_bloginfo( 'stylesheet_directory' ). '/js/add-to-cart-variation.js' , array( 'jquery' ), WC_VERSION, TRUE);
wp_enqueue_script('wc-add-to-cart-variation');
这工作正常,但会引发错误:
Uncaught TypeError: wp.template is not a function
到目前为止,我还没有对该文件进行任何更改,因此我希望它能够正常工作,因为我正在用一个相同的文件交换一个文件,但我显然遗漏了一些东西
提前非常感谢你们所有人
PS.编辑:
这是add-to-cart-validation.js中的第一批行,在这些行中会抛出错误,以防有帮助
;(function ( $, window, document, undefined ) {
$.fn.wc_variation_form = function() {
var $form = this,
$single_variation = $form.find( '.single_variation' ),
$product = $form.closest( '.product' ),
$product_id = parseInt( $form.data( 'product_id' ), 10 ),
$product_variations = $form.data( 'product_variations' ),
$use_ajax = $product_variations === false,
$xhr = false,
$reset_variations = $form.find( '.reset_variations' ),
template = wp.template( 'variation-template' ),
unavailable_template = wp.template( 'unavailable-variation-template' ),
$single_variation_wrap = $form.find( '.single_variation_wrap' );
简单地看一下,
wp.template
是在/wp includes/js/wp util.js
中定义的方法。在对wp\u register\u script()
的调用中,似乎没有将wp util
作为依赖项