В woocommerce я могу отображать некоторые отформатированные атрибуты товара под моими товарами на страницах архивов со следующим кодом:
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>";
}
Как я могу сделать то же самое для товаров в корзине (в корзине Woocommerce и на страницах оформления заказа)?
Следующее будет отображаться на страницах корзины и оформления заказа с вашими атрибутами товара в формате Woocommerce по умолчанию:
// 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;
}
Код помещается в файл function.php вашей активной дочерней темы (или активной темы). Проверено и работает.
Других решений пока нет …