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