在 Woocommerce 中没有选择变体的情况下更改添加到购物车操作的警报文本
Change the alert text on add to cart action without selected variation in Woocommerce
在 Wordpress 中,我使用的是 Woocommerce v3.3.5,在可变产品的单个产品页面中,当我单击“添加到购物车”按钮时,我没有 select 变体选项,它会弹出一个警告说:
Please select some product options before adding this product to your cart.
到目前为止这是合乎逻辑的..
我的问题是如何将警报文本更改为适合我的业务的其他内容?
试试这个,它应该可以解决您的问题:
add_filter( 'gettext', 'customizing_variable_product_message', 97, 3 );
function customizing_variable_product_message( $translated_text, $untranslated_text, $domain )
{
if ($untranslated_text == 'Please select some product options before adding this product to your cart.') {
$translated_text = __( 'Here goes your custom text', $domain );
}
return $translated_text;
}
代码进入您的活动子主题(或活动主题)的 function.php 文件。它已经过测试并且有效。
WooCommerce 有一个过滤器 "woocommerce_get_script_data",用于发送到 JavaScript 的所有数据,包括翻译文本。
所以这是更改此文本的正确方法:
add_filter( 'woocommerce_get_script_data', 'change_alert_text', 10, 2 );
function change_alert_text( $params, $handle ) {
if ( $handle === 'wc-add-to-cart-variation' )
$params['i18n_unavailable_text'] = __( 'Your new alert text', 'domain' );
return $params;
}
如果 WooCommerce 更改此翻译,您将对已接受的答案有疑问,您的条件将是错误的。
对于那些无法使代码工作的人,这是因为 Keylies 代码调用的变量使用了错误的变量。
正确的变量遵循相同的编码约定并且具有令人难以置信的适应性。
要么你可以编辑public_html/YOURDOMAIN/wp-content/plugins/woocommerce/includes/class-wc-frontend-scripts.php
或将以下代码片段(带有相关变量)放入您的主题 functions.php
文件中。
add_filter( 'woocommerce_get_script_data', 'change_alert_text', 10, 2 );
function change_alert_text( $params, $handle ) {
if ( $handle === 'wc-add-to-cart-variation' )
$params['###INSERT YOUR VARIABLE HERE###'] = __( 'Your new alert text', 'domain' );
return $params;
}
将 ###INSERT YOUR VARIABLE HERE###
替换为以下任何一项(VARIABLE => 默认值 Message/Error/Text):
- 'i18n_no_matching_variations_text' => 'Sorry, no products matched your selection. Please choose a different combination.'
- 'i18n_make_a_selection_text' => 'Please select some product options before adding this product to your cart.'
- 'i18n_unavailable_text' => 'Sorry, this product is unavailable. Please choose a different combination.'
您可以使用以下方法复制代码以替换多个店内错误:
自定义错误 1:$params['i18n_make_a_selection_text'] = __( 'Hey, you... yeah you... make a selection!', 'domain' );
自定义错误 2:$params['i18n_unavailable_text'] = __( 'Oh no we've run out of that product but it's not the end of the world it'll be back soon', 'domain' );
已添加到 function.php 此代码
add_filter( 'woocommerce_get_script_data', 'change_alert_text', 10, 2 );
函数change_alert_text($params, $handle){
如果($句柄==='wc-add-to-cart-variation')
$params['Please select some product options before adding this product to your cart.'] = __( 'Your new alert text', 'sivona.ee' );
return $参数;
}
在 Wordpress 中,我使用的是 Woocommerce v3.3.5,在可变产品的单个产品页面中,当我单击“添加到购物车”按钮时,我没有 select 变体选项,它会弹出一个警告说:
Please select some product options before adding this product to your cart.
到目前为止这是合乎逻辑的..
我的问题是如何将警报文本更改为适合我的业务的其他内容?
试试这个,它应该可以解决您的问题:
add_filter( 'gettext', 'customizing_variable_product_message', 97, 3 );
function customizing_variable_product_message( $translated_text, $untranslated_text, $domain )
{
if ($untranslated_text == 'Please select some product options before adding this product to your cart.') {
$translated_text = __( 'Here goes your custom text', $domain );
}
return $translated_text;
}
代码进入您的活动子主题(或活动主题)的 function.php 文件。它已经过测试并且有效。
WooCommerce 有一个过滤器 "woocommerce_get_script_data",用于发送到 JavaScript 的所有数据,包括翻译文本。 所以这是更改此文本的正确方法:
add_filter( 'woocommerce_get_script_data', 'change_alert_text', 10, 2 );
function change_alert_text( $params, $handle ) {
if ( $handle === 'wc-add-to-cart-variation' )
$params['i18n_unavailable_text'] = __( 'Your new alert text', 'domain' );
return $params;
}
如果 WooCommerce 更改此翻译,您将对已接受的答案有疑问,您的条件将是错误的。
对于那些无法使代码工作的人,这是因为 Keylies 代码调用的变量使用了错误的变量。
正确的变量遵循相同的编码约定并且具有令人难以置信的适应性。
要么你可以编辑public_html/YOURDOMAIN/wp-content/plugins/woocommerce/includes/class-wc-frontend-scripts.php
或将以下代码片段(带有相关变量)放入您的主题 functions.php
文件中。
add_filter( 'woocommerce_get_script_data', 'change_alert_text', 10, 2 );
function change_alert_text( $params, $handle ) {
if ( $handle === 'wc-add-to-cart-variation' )
$params['###INSERT YOUR VARIABLE HERE###'] = __( 'Your new alert text', 'domain' );
return $params;
}
将 ###INSERT YOUR VARIABLE HERE###
替换为以下任何一项(VARIABLE => 默认值 Message/Error/Text):
- 'i18n_no_matching_variations_text' => 'Sorry, no products matched your selection. Please choose a different combination.'
- 'i18n_make_a_selection_text' => 'Please select some product options before adding this product to your cart.'
- 'i18n_unavailable_text' => 'Sorry, this product is unavailable. Please choose a different combination.'
您可以使用以下方法复制代码以替换多个店内错误:
自定义错误 1:$params['i18n_make_a_selection_text'] = __( 'Hey, you... yeah you... make a selection!', 'domain' );
自定义错误 2:$params['i18n_unavailable_text'] = __( 'Oh no we've run out of that product but it's not the end of the world it'll be back soon', 'domain' );
已添加到 function.php 此代码
add_filter( 'woocommerce_get_script_data', 'change_alert_text', 10, 2 );
函数change_alert_text($params, $handle){ 如果($句柄==='wc-add-to-cart-variation') $params['Please select some product options before adding this product to your cart.'] = __( 'Your new alert text', 'sivona.ee' ); return $参数; }