Woocommerce 更改产品页面上的“选择选项”文本
在my woo商务网站的产品页面上。我想将下拉菜单“选择选项”中的文本更改为另一种语言。有没有办法做到这一点。我不太了解“下拉菜单中的文本”部分,选择一个选项“转换成另一种语言”。但是,如果您只需要将文本更改为类似“Select”的内容,或者使用相关的变体标签作为默认选择选项,您可以通过覆盖Woocommerce default variable.php文件来实现这一点 如果您没有子主题,请创建一个子主题并激活它 从/wp-content/plugins/woocommerce/templates/single-product/add-to-cart下载variable.php 打开variable.php并搜索… 用所需的任何文本替换选择选项并保存文件 在名为“woocommerce”的子主题下创建一个新目录 在它里面创建单个产品->添加到购物车子目录,并上传以前编辑的variable.php文件。 如果需要删除标签并将其添加为默认选项值,请替换Woocommerce 更改产品页面上的“选择选项”文本,woocommerce,Woocommerce,在my woo商务网站的产品页面上。我想将下拉菜单“选择选项”中的文本更改为另一种语言。有没有办法做到这一点。我不太了解“下拉菜单中的文本”部分,选择一个选项“转换成另一种语言”。但是,如果您只需要将文本更改为类似“Select”的内容,或者使用相关的变体标签作为默认选择选项,您可以通过覆盖Woocommerce default variable.php文件来实现这一点 如果您没有子主题,请创建一个子主题并激活它 从/wp-content/plugins/woocommerce/template
<td class="label"><label for="<?php echo sanitize_title($name); ?>"><?php echo wc_attribute_label( $name ); ?></label></td>
<td class="value"><select id="<?php echo esc_attr( sanitize_title( $name ) ); ?>" name="attribute_<?php echo sanitize_title( $name ); ?>">
<option value=""><?php echo __( 'Choose an option', 'woocommerce' ) ?>…</option>
有
就这样 AGMG的答案不再正确。要更改下拉列表的默认选项,现在可以挂接到 例如 我的用例是将其更改为变体组名称,例如“大小”或“颜色”
function my_wc_filter_dropdown_args( $args ) {
$variation_tax = get_taxonomy( $args['attribute'] );
$args['show_option_none'] = apply_filters( 'the_title', $variation_tax->labels->name );
return $args;
}
另一种方法是使用html钩子:woocommerce\u下拉列表\u变体\u属性\u选项\u html 首先在functions.php中挂接此过滤器并添加一个var_转储,以便了解现有html是什么,如下所示:
function filter_woocommerce_dropdown_variation_attribute_options_html( $html, $args ) {
var_dump($html);
return $html;
};
add_filter( 'woocommerce_dropdown_variation_attribute_options_html', 'filter_woocommerce_dropdown_variation_attribute_options_html', 10, 2 );
在此之后,只需将html替换为您实际需要的内容:
function filter_woocommerce_dropdown_variation_attribute_options_html( $html, $args )
{
$html = "//my replacement html with text in foreign language";
return $html;
};
add_filter( 'woocommerce_dropdown_variation_attribute_options_html', 'filter_woocommerce_dropdown_variation_attribute_options_html', 10, 2 );
这应该就够了。@sobeit这个答案可能对你不合适。这是因为并非所有属性都存储为分类法。但实际上不需要获取属性,因为在args数组中已经有了标签 这是更新后的代码
add_filter( 'woocommerce_dropdown_variation_attribute_options_args','my_wc_filter_dropdown_args') );
function wc_filter_dropdown_args( $args ) {
global $product;
$args['show_option_none'] = __( 'Choose', 'your-theme-name' ) . ' ' . strtolower(wc_attribute_label($args['attribute'],$product));
return $args;
}
顺便说一句,我本想把这篇文章作为评论发表,但我没有足够的声誉去做这件事 这对改变文本有很大的帮助,就像一个魔咒一样!!请在堆栈溢出时使用英语。
function filter_woocommerce_dropdown_variation_attribute_options_html( $html, $args )
{
$html = "//my replacement html with text in foreign language";
return $html;
};
add_filter( 'woocommerce_dropdown_variation_attribute_options_html', 'filter_woocommerce_dropdown_variation_attribute_options_html', 10, 2 );
add_filter( 'woocommerce_dropdown_variation_attribute_options_args','my_wc_filter_dropdown_args') );
function wc_filter_dropdown_args( $args ) {
global $product;
$args['show_option_none'] = __( 'Choose', 'your-theme-name' ) . ' ' . strtolower(wc_attribute_label($args['attribute'],$product));
return $args;
}
// Меняем текст "выбрать опцию" на странице вариативного товара, на название атрибута
add_filter( 'woocommerce_dropdown_variation_attribute_options_args', 'my_wc_filter_dropdown_args', 10 );
function my_wc_filter_dropdown_args( $args ) {
$variation_tax = get_taxonomy( $args['attribute'] );
$args['show_option_none'] = str_replace('Товар ', '', apply_filters( 'the_title', $variation_tax->labels->name )); // Вырезаем слово "Товар " из названия атрибута
return $args;
}