在 WooCommerce 单品中添加选择器 class 到 jQuery 日期选择器

Add a selector class to jQuery datepicker in WooCommerce single products

我在 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');

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

<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');