首页 > 解决方案 > 在 WooCommerce 单品中为 jQuery datepicker 添加选择器类

问题描述

我在 Woocommerce 的单个产品页面上的表单中有一个日期选择器。由于 gTranslate,其他语言的值是 NaN。我在functions.php中添加了这样的notranslate:

function add_notranslate() 
{
  <script type="text/javascript">
  $(function() {
    $('.ui-datepicker').addClass('notranslate');
  });
  </script> 
<?php 
}
add_filter( 'wp_footer', 'add_notranslate');

但这还没有影响,我是否错过了什么,使用不同的钩子也没有改变它。

标签: javascriptphpjquerywoocommercejquery-ui-datepicker

解决方案


<script>标签之前,?>缺少并且在 WordPress 中您需要使用jQuery而不是$别名,例如:

add_filter( 'wp_footer', 'add_notranslate');
function add_notranslate() {
    ?>
    <script type="text/javascript">
    jQuery( function($) {
        $('.ui-datepicker').addClass('notranslate');
    });
    </script> 
    <?php 
}
add_filter( 'wp_footer', 'add_notranslate');

现在它应该可以工作了。


您还应该将脚本执行限制在单个产品页面中,将挂钩更改为:

add_filter( 'woocommerce_after_single_product', 'add_notranslate');

或者也使用is_product()条件标签,如:

add_filter( 'wp_footer', 'add_notranslate');
function add_notranslate() {
    if ( is_product() ) :
    ?>
    <script type="text/javascript">
    jQuery( function($) {
        $('.ui-datepicker').addClass('notranslate');
    });
    </script> 
    <?php
    endif;
}
add_filter( 'wp_footer', 'add_notranslate');

推荐阅读