在基于产品属性的woocommerce中设置变量类型产品时,对于相应的产品,前端商店提供一个下拉框,用户可以在其中选择产品属性(即,假设衬衫尺寸为S,M或L )。
当下拉框由属性名称传播时,有人可以让我知道函数位于何处,我可以通过名称PLUS特定属性描述传播此下拉列表?
因此,例如,如果size属性的名称为'S'且描述为'Small',我希望下拉列表中显示'S [Small]',而不仅仅是'S',这就是它的显示方式那一刻。
答案 0 :(得分:0)
有一个可用的过滤器......但是目前版本2.5.2,你只能检查它的名字。对我来说,不是那么灵活。但至少我们有这个......
尝试将此代码粘贴到functions.php
add_filter('woocommerce_variation_option_name','rei_variation_option_name',10,1) ;
function rei_variation_option_name($name){
if ($name == 'S') {
$name = 'Small';
}
if ($name == 'M') {
$name = 'Medium';
}
if ($name == 'L') {
$name = 'Large';
}
return $name;
}
请注意,这只是为了显示它。数据库没有改变。
答案 1 :(得分:0)
我使用的解决方案是:
wc-template-functions.php
,函数wc_dropdown_variation_attribute_options
修改:
$html .= '<option value="' . esc_attr( $term->slug ) . '" ' . selected( sanitize_title( $args['selected'] ), $term->slug, false ) . '>' . esc_html( apply_filters( 'woocommerce_variation_option_name', $term->name ) ) . '</option>';
到
$html .= '<option value="' . esc_attr( $term->slug ) . '" ' . selected( sanitize_title( $args['selected'] ), $term->slug, false ) . '>' . esc_html( apply_filters( 'woocommerce_variation_option_name', $term) ) . '</option>';
然后在functions.php
中,实施以下内容:
add_filter('woocommerce_variation_option_name','variation_option_name_description',10,1) ;
function variation_option_name_description($term){
return $term->name.' ['.$term->description.']';
}
感谢Reigel引导我朝着正确的方向前进。