Php 在价格上显示所选产品属性的特定值

Php 在价格上显示所选产品属性的特定值,php,wordpress,woocommerce,price,variations,Php,Wordpress,Woocommerce,Price,Variations,我正在尝试在完成后在产品的单个页面上显示所选的产品属性 我发现了许多代码,它们甚至可以工作,但所有这些代码都返回了所有可用属性的列表 add_action( 'woocommerce_before_variations_form', 'display_attribute', 5 ); function display_attribute(){ global $product; $output = array(); if( $verpackung = $product-&g

我正在尝试在完成后在产品的单个页面上显示所选的产品属性

我发现了许多代码,它们甚至可以工作,但所有这些代码都返回了所有可用属性的列表

add_action( 'woocommerce_before_variations_form', 'display_attribute', 5 );
function display_attribute(){
    global $product;
    $output = array();
    if( $verpackung = $product->get_attribute('pa_verpackung') ){
        echo $verpackung;
        $output[] = $verpackung;
    }
}

这是一个可变产品,我想显示包的大小,这是一个属性。例如:€39,-对于300g的包装箱。

以下内容将在选定的变动价格(对于可变产品)后显示相应的包装类型,例如:€39,-对于300g的包装箱“

add_filter('woocommerce_available_variation','set_packaging_type_after_variation_price',10,3);
功能集\包装\类型\变更后\价格($data、$product、$VARIANCE){
$targeted_taxonomy='pa_verpackung';/$term_slug){
$attribute_taxonomy=str_replace('attribute_','$variation_attribute);//从分类中获取产品属性
//用于匹配变量属性…
if($attribute_taxonomy==$targeted_taxonomy){
$verpackung=get_term_by('slug',$term_slug,$attribute_taxonomy)->name;//获取术语名称
$verpackung=''。'für eine')。$verpackung'.';
//在选择的差价后设置“包装”
$data['price_html']=str_replace('',.$verpackung,$data['price_html']);
break;//停止循环
}
}
返回$data;
}
代码进入活动子主题(或活动主题)的function.php文件。测试和工作

add_filter( 'woocommerce_available_variation', 'set_packaging_type_after_variation_price', 10, 3 );
function set_packaging_type_after_variation_price( $data, $product, $variation ) {
    $targeted_taxonomy  = 'pa_verpackung'; // <== Define here the product attribute taxonomy

    // Loop through variation attributes
    foreach( $data['attributes'] as $variation_attribute => $term_slug ) {
        $attribute_taxonomy = str_replace( 'attribute_', '', $variation_attribute ); // Get product attribute the taxonomy

        // For matching variation attribute …
        if ( $attribute_taxonomy == $targeted_taxonomy ){
            $verpackung  = get_term_by( 'slug', $term_slug, $attribute_taxonomy )->name; // Get the term name
            $verpackung = ' <span class="verpackung">'. __('für eine '). $verpackung .'</span></span>';
            // Set the "packaging" after the selected viariation price
            $data['price_html'] = str_replace( '</span></span>', '</span>' . $verpackung, $data['price_html'] );
            break; // Stop the loop
        }
    }
    return $data;
}