如何在结帐时更改 WooCommerce 文本运输
Posted
技术标签:
【中文标题】如何在结帐时更改 WooCommerce 文本运输【英文标题】:How to change WooCommerce text shipping in checkout 【发布时间】:2015-09-10 03:05:00 【问题描述】:我正在尝试将 WooCommerce 结帐页面中的文本从 Your Order 部分的 Shipping 更改为 Delivery。我试图在 FTP 中打开核心文件并尝试手动更改它,但我在任何地方都找不到文本。有关如何更改它的任何帮助?
【问题讨论】:
How to change text of shipping address and billing address on order recieved page of woocommerce checkout?的可能重复 @yesitsme 它不重复与您粘贴的链接无关 你能试试这样吗: // 把这个添加到你的functions.php add_filter('gettext', 'translate_reply'); add_filter('gettext', 'translate_reply'); function translate_reply($translated) $translated = str_ireplace('Shipping', 'Delivery', $translated);返回$翻译; 【参考方案1】:如果您将需要编辑的文件从wp-content/plugins/woocommerce/templates
复制到wp-content/themes/*your_theme*/woocommerce
。这样您就可以覆盖代码而无需触及插件代码。
您会发现需要更改的代码位于 wp-content/themes/*your_theme*/woocommerce/checkout
下,但如果您想更改 Shipping 一词的所有实例,则需要更改更多模板。
包含 Shipping 的文件列表是
woocommerce/cart/cart-shipping.php
woocommerce/cart/cart-totals.php
woocommerce/cart/shipping-calculator.php
woocommerce/checkout/form-billing.php
woocommerce/checkout/form-login.php
woocommerce/emails/email-addresses.php
woocommerce/emails/plain/email-addresses.php
woocommerce/myaccount/form-edit-address.php
woocommerce/myaccount/my-address.php
woocommerce/order/order-details.php
可能还有更多,因此您必须在其他模板文件中进行搜索。
【讨论】:
这帮助我解决了一个非常相似但略有不同的覆盖问题。我试图覆盖 /cart/cart-shipping.php 中的一串文本(“没有可用的运输方式。请仔细检查您的地址,或者如果您需要任何帮助,请与我们联系。”)。谢谢!【参考方案2】:您是否尝试过以下方式:
// Add this to your functions.php
add_filter('gettext', 'translate_reply');
add_filter('ngettext', 'translate_reply');
function translate_reply($translated)
$translated = str_ireplace('Shipping', 'Delivery', $translated);
return $translated;
也请查看此链接:http://businessbloomer.com/woocommerce-edit-translate-shipping-handling-cart-checkout-page/ 了解更多详情
【讨论】:
【参考方案3】:我使用了@Rahul S 的解决方案,但我添加了下一个代码来更改购物车和结帐上的特定交付文本。
我将此代码添加到我的主题的 function.php 中。它适用于购物车页面和结帐页面
您可以将“put-here-you-domain-i18n”替换为您的域名,默认情况下它是“woocommerce”,我建议您更改它。
要添加的代码是:
add_filter( 'woocommerce_shipping_package_name' , 'woocommerce_replace_text_shipping_to_delivery', 10, 3);
/**
*
* Function to replace shipping text to delivery text
*
* @param $package_name
* @param $i
* @param $package
*
* @return string
*/
function woocommerce_replace_text_shipping_to_delivery($package_name, $i, $package)
return sprintf( _nx( 'Delivery', 'Delivery %d', ( $i + 1 ), 'shipping packages', 'put-here-you-domain-i18n' ), ( $i + 1 ) );
希望对你有帮助。
你可以看到this。
【讨论】:
【参考方案4】:我可以看到这是一个较旧的线程,但它有我正在寻找的答案。我从@Rahul S 扩展了解决方案,因此如果需要,一个函数可以翻译多个字符串。它是我在 ModernTribe 的 Event Calendar 中使用的功能的修订版。在美国,我使用“运输和处理”代替“交付”。
add_filter('gettext', 'zgwd1010_woo_translations', 20, 3);
add_filter('ngettext', 'zgwd1010_woo_translations', 20, 3);
function zgwd1010_woo_translations( $translation, $text, $domain )
// Put your custom text here in a key => value pair
$custom_text = array(
'Shipping:' => 'Shipping and Handling:',
);
if( array_key_exists( $translation, $custom_text ) )
$translation = $custom_text[$translation];
return $translation;
【讨论】:
以上是关于如何在结帐时更改 WooCommerce 文本运输的主要内容,如果未能解决你的问题,请参考以下文章
Woocommerce 通过 ajax 在结帐时更新运输方式
在 WooCommerce 中结帐时的付款选项之前从订单审核表中移动运输选项
从 Woocommerce 3.4+ 的结帐字段中删除“(可选)”文本
在 WooCommerce 中隐藏特定运输方式的结帐运输字段部分