Wordpress Woocommerce可变产品

时间:2016-02-05 09:26:15

标签: attributes woocommerce

在基于产品属性的woocommerce中设置变量类型产品时,对于相应的产品,前端商店提供一个下拉框,用户可以在其中选择产品属性(即,假设衬衫尺寸为S,M或L )。

当下拉框由属性名称传播时,有人可以让我知道函数位于何处,我可以通过名称PLUS特定属性描述传播此下拉列表?

因此,例如,如果size属性的名称为'S'且描述为'Small',我希望下拉列表中显示'S [Small]',而不仅仅是'S',这就是它的显示方式那一刻。

2 个答案:

答案 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引导我朝着正确的方向前进。