在Woocommerce购物车页面中显示购物车商品的格式化产品属性[关闭]
问题描述:
In woocommerce I am able to display some formatted product attributes under my products on the archives pages with the following code:
add_action('woocommerce_after_shop_loop_item', 'displaying_product_attributes');
function displaying_product_attributes() {
global $product;
$product_driver = $product->get_attribute('pa_driver');
$product_passenger = $product->get_attribute('pa_passenger');
echo "<p style='color:red;'>".$product_driver."</p>";
echo "<p style='color:red;'>".$product_passenger."</p>";
}
How can I do the same thing on the cart items (in Woocommerce cart and checkout pages)?
答
The following will display in cart and checkout pages your specific product attributes in default Woocommerce formatted way:
// Display specific product attributes in cart items on cart and checkout pages
add_filter( 'woocommerce_get_item_data', 'display_cart_item_custom_data_on_cart_and_checkout', 10, 2 );
function display_cart_item_custom_data_on_cart_and_checkout( $cart_item_data, $cart_item ){
foreach ( array('pa_driver', 'pa_passenger') as $taxonomy ){
if( taxonomy_exists($taxonomy) && $cart_item['data']->get_attribute($taxonomy) ) {
$cart_item_data[] = array(
'name' => wc_attribute_label($taxonomy),
'value' => $cart_item['data']->get_attribute($taxonomy),
);
}
}
return $cart_item_data;
}
Code goes in function.php file of your active child theme (or active theme). Tested and works.