Javascript 用于woocommerce的简单JQuery脚本不工作

Javascript 用于woocommerce的简单JQuery脚本不工作,javascript,jquery,wordpress,woocommerce,Javascript,Jquery,Wordpress,Woocommerce,这是一个很难调试的问题,因为问题发生在整个页面的上下文中,我很难孤立地重现它。不过,我会尝试在这里发布尽可能多的相关代码 基本上,我有一个WoodCommerce WordPress商店,我为它构建了一个自定义主题。在结帐页面上,有标准的付款选项选择,标记如下: <ul class="payment_methods methods"> <li class="payment_method_bacs"> <div class="radio">

这是一个很难调试的问题,因为问题发生在整个页面的上下文中,我很难孤立地重现它。不过,我会尝试在这里发布尽可能多的相关代码

基本上,我有一个WoodCommerce WordPress商店,我为它构建了一个自定义主题。在结帐页面上,有标准的付款选项选择,标记如下:

<ul class="payment_methods methods">
    <li class="payment_method_bacs">
        <div class="radio">
            <label for="payment_method_bacs">
                <input id="payment_method_bacs" type="radio" class="input-radio" name="payment_method" value="bacs" checked='checked' data-order_button_text="" />Direct Bank Transfer</label>
        </div>
        <div class="panel panel-default payment_box payment_method_bacs">
            <div class="panel-body">
                <p>Make your payment directly into our bank account. Please use your Order ID as the payment reference. Your order won&#8217;t be shipped until the funds have cleared in our account.</p>
            </div>
        </div>
    </li>
    <li class="payment_method_cheque">
        <div class="radio">
            <label for="payment_method_cheque">
                <input id="payment_method_cheque" type="radio" class="input-radio" name="payment_method" value="cheque" data-order_button_text="" />Cheque Payment</label>
        </div>
        <div class="panel panel-default payment_box payment_method_cheque" style="display:none;">
            <div class="panel-body">
                <p>Please send your cheque to Store Name, Store Street, Store Town, Store State / County, Store Postcode.</p>
            </div>
        </div>
    </li>
</ul>
WooCommerce以正常方式将此脚本包含在我的网站脚本中,控制台中没有任何指示问题的内容,但由于某些原因,当选择付款方式无线电时,其相应的框不会显示

我认为证明的唯一方法是链接到有问题的站点:。将产品添加到购物车并访问


如果有人能帮我调试,我将万分感激

您缺少一个名为“订单回顾”的部门。 如果您注意到您发布的方法被以下代码调用:

this.$order_review.on( 'click', 'input[name=payment_method]', this.payment_method_selected );
并且定义了属性
this.$order\u review

所以现在在您的结账页面上有如下内容:

<h3 id="order_review_heading">Your order</h3>
<table class="shop_table woocommerce-checkout-review-order-table table">
    ...
</table>
<div id="payment" class="woocommerce-checkout-payment">
    ...
</div>
您的订单
...
...
相反,从Woothemes的演示网站来看,应该是这样的:

<h3 id="order_review_heading">Your order</h3>
<div id="order_review" class="woocommerce-checkout-review-order">
    <table class="shop_table woocommerce-checkout-review-order-table">
        ...
    </table>
    <div id="payment" class="woocommerce-checkout-payment">
        ...
    </div>
</div>
您的订单
...
...

您缺少一个名为订单审查的div。 如果您注意到您发布的方法被以下代码调用:

this.$order_review.on( 'click', 'input[name=payment_method]', this.payment_method_selected );
并且定义了属性
this.$order\u review

所以现在在您的结账页面上有如下内容:

<h3 id="order_review_heading">Your order</h3>
<table class="shop_table woocommerce-checkout-review-order-table table">
    ...
</table>
<div id="payment" class="woocommerce-checkout-payment">
    ...
</div>
您的订单
...
...
相反,从Woothemes的演示网站来看,应该是这样的:

<h3 id="order_review_heading">Your order</h3>
<div id="order_review" class="woocommerce-checkout-review-order">
    <table class="shop_table woocommerce-checkout-review-order-table">
        ...
    </table>
    <div id="payment" class="woocommerce-checkout-payment">
        ...
    </div>
</div>
您的订单
...
...

您缺少一个名为订单审查的div。 如果您注意到您发布的方法被以下代码调用:

this.$order_review.on( 'click', 'input[name=payment_method]', this.payment_method_selected );
并且定义了属性
this.$order\u review

所以现在在您的结账页面上有如下内容:

<h3 id="order_review_heading">Your order</h3>
<table class="shop_table woocommerce-checkout-review-order-table table">
    ...
</table>
<div id="payment" class="woocommerce-checkout-payment">
    ...
</div>
您的订单
...
...
相反,从Woothemes的演示网站来看,应该是这样的:

<h3 id="order_review_heading">Your order</h3>
<div id="order_review" class="woocommerce-checkout-review-order">
    <table class="shop_table woocommerce-checkout-review-order-table">
        ...
    </table>
    <div id="payment" class="woocommerce-checkout-payment">
        ...
    </div>
</div>
您的订单
...
...

您缺少一个名为订单审查的div。 如果您注意到您发布的方法被以下代码调用:

this.$order_review.on( 'click', 'input[name=payment_method]', this.payment_method_selected );
并且定义了属性
this.$order\u review

所以现在在您的结账页面上有如下内容:

<h3 id="order_review_heading">Your order</h3>
<table class="shop_table woocommerce-checkout-review-order-table table">
    ...
</table>
<div id="payment" class="woocommerce-checkout-payment">
    ...
</div>
您的订单
...
...
相反,从Woothemes的演示网站来看,应该是这样的:

<h3 id="order_review_heading">Your order</h3>
<div id="order_review" class="woocommerce-checkout-review-order">
    <table class="shop_table woocommerce-checkout-review-order-table">
        ...
    </table>
    <div id="payment" class="woocommerce-checkout-payment">
        ...
    </div>
</div>
您的订单
...
...

太棒了,谢谢。看起来我使用的是一个过时的模板文件。太棒了,谢谢。看起来我使用的是一个过时的模板文件。太棒了,谢谢。看起来我使用的是一个过时的模板文件。太棒了,谢谢。看起来我使用的是一个过时的模板文件。