Php 在cart woocomerce中显示属性值和名称

Php 在cart woocomerce中显示属性值和名称,php,wordpress,woocommerce,Php,Wordpress,Woocommerce,如何在cart Woocomece中显示产品属性的简单问题:例如颜色:红色,不确定是否有一些代码要添加,如hook或fundctions.php中的一些代码,或者可以通过Woocomece设置来完成,没有在线找到任何有用的信息,非常感谢您的帮助 tyr这个插件 或 WooCommerce:在购物车页面上显示每个项目下面列出的所有产品属性 在function.php中添加以下代码 /** * WooCommerce: show all product attributes listed b

如何在cart Woocomece中显示产品属性的简单问题:例如颜色:红色,不确定是否有一些代码要添加,如hook或fundctions.php中的一些代码,或者可以通过Woocomece设置来完成,没有在线找到任何有用的信息,非常感谢您的帮助

tyr这个插件

WooCommerce:在购物车页面上显示每个项目下面列出的所有产品属性

在function.php中添加以下代码

/**
    * WooCommerce: show all product attributes listed below each item on Cart page
    */
    function sm_woo_cart_attributes($cart_item, $cart_item_key){

        $item_data = $cart_item_key['data'];
        $attributes = $item_data->get_attributes();


        if ( ! $attributes ) {
            return $cart_item;
        }

        $out = $cart_item . '<br />';

        foreach ( $attributes as $attribute ) {

            if ( $attribute['is_taxonomy'] ) {

            // skip variations
                if ( $attribute['is_variation'] ) {
                    continue;
                }

                // backwards compatibility for attributes which are registered as taxonomies

                $product_id = $item_data->id;
                $terms = wp_get_post_terms( $product_id, $attribute['name'], 'all' );

                // get the taxonomy
                $tax = $terms[0]->taxonomy;

                // get the tax object
                $tax_object = get_taxonomy($tax);

                // get tax label
                if ( isset ($tax_object->labels->name) ) {
                    $tax_label = $tax_object->labels->name;
                } elseif ( isset( $tax_object->label ) ) {
                    $tax_label = $tax_object->label;
                }

                foreach ( $terms as $term ) {
                    $out .= $tax_label . ': ';
                    $out .= $term->name . '<br />';
                }

            } else {

                // not a taxonomy 

                $out .= $attribute['name'] . ': ';
                $out .= $attribute['value'] . '<br />';
            }
        }
        echo $out;
    }

    add_filter( 'woocommerce_cart_item_name', sm_woo_cart_attributes, 10, 2 );
/**
*WooCommerce:在购物车页面上显示每个项目下面列出的所有产品属性
*/
函数sm\u woo\u cart\u属性($cart\u item,$cart\u item\u key){
$item_data=$cart_item_key['data'];
$attributes=$item_data->get_attributes();
如果(!$attributes){
返回$cart\u项目;
}
$out=$cart_项目。'
; foreach($attributes作为$attribute){ if($attribute['is_taxonomy'])){ //跳过变体 如果($attribute['is_variation'])){ 继续; } //注册为分类法的属性的向后兼容性 $product\U id=$item\U data->id; $terms=wp_get_post_terms($product_id,$attribute['name'],'all'); //获取分类法 $tax=$terms[0]->分类法; //获取税务对象 $tax\u object=get\u分类法($tax); //获得税务标签 if(设置($tax\u object->labels->name)){ $tax\u label=$tax\u object->labels->name; }elseif(isset($tax\u object->label)){ $tax\u label=$tax\u object->label; } foreach($terms作为$term){ $out.=$tax_标签。“:”; $out.=$term->name.“
”; } }否则{ //不是分类学 $out.=$attribute['name'].:'; $out.=$attribute['value']。
; } } 回音$out; } 添加过滤器('woocommerce\u cart\u item\u name',sm\u woo\u cart\u属性,10,2);
tyr此插件

WooCommerce:在购物车页面上显示每个项目下面列出的所有产品属性

在function.php中添加以下代码

/**
    * WooCommerce: show all product attributes listed below each item on Cart page
    */
    function sm_woo_cart_attributes($cart_item, $cart_item_key){

        $item_data = $cart_item_key['data'];
        $attributes = $item_data->get_attributes();


        if ( ! $attributes ) {
            return $cart_item;
        }

        $out = $cart_item . '<br />';

        foreach ( $attributes as $attribute ) {

            if ( $attribute['is_taxonomy'] ) {

            // skip variations
                if ( $attribute['is_variation'] ) {
                    continue;
                }

                // backwards compatibility for attributes which are registered as taxonomies

                $product_id = $item_data->id;
                $terms = wp_get_post_terms( $product_id, $attribute['name'], 'all' );

                // get the taxonomy
                $tax = $terms[0]->taxonomy;

                // get the tax object
                $tax_object = get_taxonomy($tax);

                // get tax label
                if ( isset ($tax_object->labels->name) ) {
                    $tax_label = $tax_object->labels->name;
                } elseif ( isset( $tax_object->label ) ) {
                    $tax_label = $tax_object->label;
                }

                foreach ( $terms as $term ) {
                    $out .= $tax_label . ': ';
                    $out .= $term->name . '<br />';
                }

            } else {

                // not a taxonomy 

                $out .= $attribute['name'] . ': ';
                $out .= $attribute['value'] . '<br />';
            }
        }
        echo $out;
    }

    add_filter( 'woocommerce_cart_item_name', sm_woo_cart_attributes, 10, 2 );
/**
*WooCommerce:在购物车页面上显示每个项目下面列出的所有产品属性
*/
函数sm\u woo\u cart\u属性($cart\u item,$cart\u item\u key){
$item_data=$cart_item_key['data'];
$attributes=$item_data->get_attributes();
如果(!$attributes){
返回$cart\u项目;
}
$out=$cart_项目。'
; foreach($attributes作为$attribute){ if($attribute['is_taxonomy'])){ //跳过变体 如果($attribute['is_variation'])){ 继续; } //注册为分类法的属性的向后兼容性 $product\U id=$item\U data->id; $terms=wp_get_post_terms($product_id,$attribute['name'],'all'); //获取分类法 $tax=$terms[0]->分类法; //获取税务对象 $tax\u object=get\u分类法($tax); //获得税务标签 if(设置($tax\u object->labels->name)){ $tax\u label=$tax\u object->labels->name; }elseif(isset($tax\u object->label)){ $tax\u label=$tax\u object->label; } foreach($terms作为$term){ $out.=$tax_标签。“:”; $out.=$term->name.“
”; } }否则{ //不是分类学 $out.=$attribute['name'].:'; $out.=$attribute['value']。
; } } 回音$out; } 添加过滤器('woocommerce\u cart\u item\u name',sm\u woo\u cart\u属性,10,2);
只需做以下简单的事情,您就可以在购物车中获得所有商品-

add_filter('woocommerce_cart_item_name', 'add_variations_in_cart', 10, 3);
function add_variations_in_cart($name, $cart_item, $item_key){
    $product_variation = '';
    if(!empty($cart_item['variation_id']) && $cart_item['variation_id'] != 0 ){
       if(is_array($cart_item['variation']) && !empty($cart_item['variation'])){
          foreach ($cart_item['variation'] as $key => $value) {
             $product_variation .= '<br>'.ucfirst(str_replace('attribute_pa_', '', $key)).' : '.ucfirst($value);
        }
    }
}

echo $name.$product_variation; 
add_filter('woocommerce_cart_item_name','add_variations_in_cart',10,3);
函数在购物车中添加变化($name、$cart\u item、$item\u key){
$product_VARIANCE='';
如果(!empty($cart\u item['variation\u id'])和(&$cart\u item['variation\u id'])!=0){
if(是数组($cart\u item['variation'])&&!空($cart\u item['variation'])){
foreach($cart_item['variation']作为$key=>$value){
$product_VARIANCE.='
'.ucfirst(str_replace('attribute_pa',''$key))。:'.ucfirst($value); } } } echo$name.$product\u变体;
}


就这么简单。谢谢。

只需做以下简单的事情,您就可以在购物车中获得所有物品-

add_filter('woocommerce_cart_item_name', 'add_variations_in_cart', 10, 3);
function add_variations_in_cart($name, $cart_item, $item_key){
    $product_variation = '';
    if(!empty($cart_item['variation_id']) && $cart_item['variation_id'] != 0 ){
       if(is_array($cart_item['variation']) && !empty($cart_item['variation'])){
          foreach ($cart_item['variation'] as $key => $value) {
             $product_variation .= '<br>'.ucfirst(str_replace('attribute_pa_', '', $key)).' : '.ucfirst($value);
        }
    }
}

echo $name.$product_variation; 
add_filter('woocommerce_cart_item_name','add_variations_in_cart',10,3);
函数在购物车中添加变化($name、$cart\u item、$item\u key){
$product_VARIANCE='';
如果(!empty($cart\u item['variation\u id'])和(&$cart\u item['variation\u id'])!=0){
if(是数组($cart\u item['variation'])&&!空($cart\u item['variation'])){
foreach($cart_item['variation']作为$key=>$value){
$product_VARIANCE.='
'.ucfirst(str_replace('attribute_pa',''$key))。:'.ucfirst($value); } } } echo$name.$product\u变体;
}


就这么简单。谢谢。

试试这个插件试试这个插件你可以根据需要在$product\u变量中传递你的html结构。根据您的要求,类似于$product_VARIANCE.='
'.ucfirst(str_replace('attribute_pa_','',''$key))。:'.ucfirst($value.);您可以根据需要在$product\变量中传递html结构。根据您的要求,类似于$product_VARIANCE.='
'.ucfirst(str_replace('attribute_pa_','',''$key))。:'.ucfirst($value.);