【发布时间】:2013-08-28 07:12:18
【问题描述】:
我正在使用 woocommerce 插件,但我遇到了关于如何更改查看购物车按钮文本的问题,希望有人可以帮助解决我的问题,这是 my site 这是我要更改的文本图像the image 我该如何编辑它?感谢所有建议。
【问题讨论】:
标签: php wordpress woocommerce
我正在使用 woocommerce 插件,但我遇到了关于如何更改查看购物车按钮文本的问题,希望有人可以帮助解决我的问题,这是 my site 这是我要更改的文本图像the image 我该如何编辑它?感谢所有建议。
【问题讨论】:
标签: php wordpress woocommerce
将以下内容添加到您的 functions.php 文件中。
/**
* Change text strings
*
* @link http://codex.wordpress.org/Plugin_API/Filter_Reference/gettext
*/
function my_text_strings( $translated_text, $text, $domain ) {
switch ( strtolower( $translated_text ) ) {
case 'View Cart' :
$translated_text = __( 'View Shopping Cart', 'woocommerce' );
break;
}
return $translated_text;
}
add_filter( 'gettext', 'my_text_strings', 20, 3 );
这会将查看购物车更改为查看购物车
【讨论】:
case 'view cart' : 否则完美运行。
Selom 提出的示例代码有效,但效率极低,因为它强制将所有 Wordpress 文本转换为小写,然后运行此过滤器以查看是否匹配大小写。它对加载时间以及添加到购物车等功能有直接影响。如果您使用 ajax 将产品添加到购物车而不刷新页面,这一点尤其明显。
最好只通过过滤器运行来自 WooCommerce 域的文本。这大大加快了速度。
我建议改用此示例代码,源自 Rodolfo Melogli:
/**
* @snippet Translate a String in WooCommerce
* @sourcecode https://businessbloomer.com/?p=162
* @author Rodolfo Melogli
* @compatible WooCommerce 3.5.4
* @donate $9 https://businessbloomer.com/bloomer-armada/
*/
add_filter( 'gettext', 'bbloomer_translate_woocommerce_strings', 999, 3 );
function bbloomer_translate_woocommerce_strings( $translated, $text, $domain ) {
if ( ! is_admin() && 'woocommerce' === $domain ) {
switch ( strtolower( $translated ) ) {
case 'view cart' :
$translated = 'View/Edit Order';
break;
case 'proceed to checkout' :
$translated = 'Place Order ';
break;
case 'checkout' :
$translated = 'Place Order ';
break;
case 'add to cart' :
$translated = 'Add to Order';
break;
// enter a new case for each line where you want Woocommerce text to be changed.
}
}
return $translated;
}
【讨论】:
将以下 sn-p 添加到您的 functions.php 文件中
function woo_custom_change_cart_string($translated_text, $text, $domain) {
$translated_text = str_replace("view cart", "NEW TEXT HERE ", $translated_text);
$translated_text = str_replace("View cart", "NEW TEXT HERE ", $translated_text);
return $translated_text;
}
add_filter('gettext', 'woo_custom_change_cart_string', 100, 3);
add_filter('ngettext', 'woo_custom_change_cart_string', 100, 3);
【讨论】:
将以下代码添加到您的functions.php 文件中。
function change_view_cart_link( $params, $handle )
{
switch ($handle) {
case 'wc-add-to-cart':
$params['i18n_view_cart'] = "Proceed to Cart"; //chnage Name of view cart button
$params['cart_url'] = "http://myshop.com/custom-page"; //change URL of view cart button
break;
}
return $params;
}
add_filter( 'woocommerce_get_script_data', 'change_view_cart_link', 10, 2 );
【讨论】:
add_filter( 'woocommerce_get_script_data', 'change_view_cart_link',10,2 ); 这是钩子
add_filter( 'woocommerce_get_script_data', 'change_view_cart_link',10,2 ); 似乎对于以下工作至关重要。我想我会因此而编辑答案。谢谢@AkhtarujjamanShuvo!还有@Dnyanesh!这个答案对我来说似乎比其他答案更好,因为它不需要编辑 WooCommerce 代码并且看起来比其他答案更有效。
转到wp-content\plugins\woocommerce\includes\wc-template-functions.php
然后编辑 raw 1429
function woocommerce_widget_shopping_cart_button_view_cart() {
echo '<a href="' . esc_url( wc_get_cart_url() ) . '" class="button wc-forward">' . esc_html__( 'View cart', 'woocommerce' ) . '</a>';
}
}
function woocommerce_widget_shopping_cart_button_view_cart() {
echo '<a href="' . esc_url( wc_get_cart_url() ) . '" class="button wc-forward">' . esc_html__( 'your text', 'woocommerce' ) . '</a>';
}
}
版本woocommerce 3.0.3。
【讨论】: