修改商业Javascript

修改商业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

背景: 我有很多产品变体,有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_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
作为依赖项