最近,一个采用了woocommerce的项目上出了点小问题,之前在产品详情页上的立即购买按钮上的文字本已经从"add to cart"汉化为“立即购买”了,但是woocommerce一升级,这段文字又恢复成了add to cart。
按照常规的思路,汉化“add to cart”这段文字应该是在语言包里面替换这段文字,然而实际情况是,用“立即购买”替换了.po文件中的“add to cart”之后,前台并没有什么变化。
然后我们搜索官方的教程,发现,官方已经给出了答案,针对WooCommerce 2.1+以上的版本,在worcpress主题文件夹中打开functions.php,在php结束符号 ?>之前加上如下代码:
add_filter( 'woocommerce_product_single_add_to_cart_text', 'woo_custom_cart_button_text' ); // 2.1 + function woo_custom_cart_button_text() { return __( 'My Button Text', 'woocommerce' ); }
BUT,当woocommerce升级到2.5.5之后,官方教程也没有什么卵用了。前台立即购买按钮上出现的文字又恢复成了“add to cart”。遇到这种问题,我们的解决方法是替换woocommerce的模版文件。
SSH登录服务器,找到wp-content/plugins/woocommerce/templates/single-product/add-to-cart/ 目录,下载两个文件:
simple.php 和 variation-add-to-cart-button.php
打开 simple.php 找到57行,将add to cart替换成立即购买然后将文件保存为UTF-8的格式;
打开 variation-add-to-cart-button.php 找到20行,将add to cart替换成立即购买然后将文件保存为UTF-8的格式。
然后,进入服务器,在主题目录下生成几个新的文件夹,按照这样的目录结构:
wp-content/themes/YOUR THEME/woocommerce/single-product/add-to-cart/
将本地已经改好的两个文件 simple.php 和 variation-add-to-cart-button.php 上传到上述目录中就好了。
然后到前台刷新看看,“add to cart” 是不是已经变成了 “立即购买”了?
兄弟,你这个方法不行了,我折腾半天,都没成功
这个方法确实已经失效,现在有更简单的方法了,就是直接修改语言包.po文件即可