如何使用WPML转换jQuery脚本中的字符串?

时间:2014-09-24 作者:turtledropbomb

我制作了这个脚本,用于更改自定义元素上的一些颜色。我的问题是,我找不到在href属性中本地化链接的方法。

有没有一个简单的方法可以让我做到这一点?

/* Wilfa Svart Color Change Function */
jQuery(document).ready(function() {
  jQuery(\'.precision-link-color-1\').on(\'click\', function(e){
       e.preventDefault();
       jQuery(".precision-image-link").attr("href", "http://newsite.wilfa.no/produkter/kaffetrakter/svart-presisjon-aluminium/");
       jQuery(\'.wilfa-precision-product-content\').css(\'background\', \'url(../wp-content/themes/wilfa/images/coffee-brewer.jpg) no-repeat center center\');
  });
  jQuery(\'.precision-link-color-2\').on(\'click\', function(e){
       e.preventDefault();
       jQuery(".precision-image-link").attr("href", "http://newsite.wilfa.no/produkter/kaffetrakter/svart-presisjon-sort/");
       jQuery(\'.wilfa-precision-product-content\').css(\'background\', \'url(../wp-content/themes/wilfa/images/coffee-brewer-black.jpg) no-repeat center center\');
  });
});
具体而言,这一行:

jQuery(".precision-image-link").attr("href", "http://newsite.wilfa.no/produkter/kaffetrakter/svart-presisjon-sort/");

UPDATE

下面是我尝试使用else/if语句来获取lang attr(这很有效):

/* Wilfa Svart Color Change Function */
jQuery(document).ready(function() {

    var theLanguage = jQuery(\'html\').attr(\'lang\');

    jQuery(\'.precision-link-color-1\').on(\'click\', function(e){
        e.preventDefault();
        if(theLanguage == \'en-US\') {
            jQuery(".precision-image-link").attr("href", "http://alternative-link.com/");
        } else {
            jQuery(".precision-image-link").attr("href", "http://original-link.com/");
        }
        jQuery(\'.wilfa-precision-product-content\').css(\'background\', \'url(../image.jpg) no-repeat center center\');
  });
    jQuery(\'.precision-link-color-2\').on(\'click\', function(e){
        e.preventDefault();
        if(theLanguage == \'en-US\') {
            jQuery(".precision-image-link").attr("href", "http://alternative-link.com");
        } else {
            jQuery(".precision-image-link").attr("href", "http://original-link.com");
        }
        jQuery(\'.wilfa-precision-product-content\').css(\'background\', \'url(../image.jpg) no-repeat center center\');
  });
});

1 个回复
SO网友:JMau

要翻译js中的内容,可以使用wp_localize_script() 非常方便:

 $translation_array = array( \'some_string\' => __( \'Some string to translate\' ), \'a_value\' => \'10\' );
 wp_localize_script( \'some_handle\', \'object_name\', $translation_array );

结束

相关推荐

使用jQuery.get时出现admin-ajax.php(已中止)错误

有一件事让我很困惑,那就是:当我通过Ajax加载javascript文件并观察正在发出的http请求时,我在Firebug中看到以下错误:admin Ajax。php(中止)请参见此图片:导致此错误的是jquery get file函数:jQuery.get(\'/assets/js/shop.js\', function(data) { eval(data); }); 如果我删除了上面的脚本,那么就不会再有错误了。有什么建议吗?编辑1:我已经明白了为什么会出现这些中止的错误。在商店里。js文