Обновлено
Ниже будет отображаться изображение товара рядом с его названием и атрибутом товара ниже:
При оформлении заказа количество товара в корзине приходитпосле названия продукта ничего нельзя добавить после названия продукта.Атрибут продукта может быть добавлен после данных пользовательского элемента корзины, используя для этого другой хук.
// cart and checkout inline styles (To be removed and added in your theme's styles.css file)
add_action( 'wp_head', 'custom_inline_styles', 900 );
function custom_inline_styles(){
if ( is_checkout() || is_cart() ){
?><style>
.product-item-thumbnail { float:left; padding-right:10px;}
.product-item-thumbnail img { margin: 0 !important;}
</style><?php
}
}
// Product thumbnail in checkout
add_filter( 'woocommerce_cart_item_name', 'product_thumbnail_in_checkout', 20, 3 );
function product_thumbnail_in_checkout( $product_name, $cart_item, $cart_item_key ){
if ( is_checkout() ) {
$thumbnail = $cart_item['data']->get_image(array( 70, 70));
$image_html = '<div class="product-item-thumbnail">'.$thumbnail.'</div> ';
$product_name = $image_html . $product_name;
}
return $product_name;
}
// Cart item qquantity in checkout
add_filter( 'woocommerce_checkout_cart_item_quantity', 'filter_checkout_cart_item_quantity', 20, 3 );
function filter_checkout_cart_item_quantity( $quantity_html, $cart_item, $cart_item_key ){
return ' <strong class="product-quantity">' . sprintf( '× %s', $cart_item['quantity'] ) . '</strong><br clear="all">';
}
// Product attribute in cart and checkout
add_filter( 'woocommerce_get_item_data', 'product_descrition_to_cart_items', 20, 2 );
function product_descrition_to_cart_items( $cart_item_data, $cart_item ){
$product_id = $cart_item['product_id'];
$product = wc_get_product($product_id);
$taxonomy = 'pa_delivery';
$value = $product->get_attribute($taxonomy);
if ($product->get_attribute($taxonomy)) {
$cart_item_data[] = array(
'name' => get_taxonomy($taxonomy)->labels->singular_name,
'value' => $product->get_attribute($taxonomy),
);
}
return $cart_item_data;
}
Код находится в файле function.php вашей активной дочерней темы (или активной темы).Протестировано и работает.
При необходимости, вам необходимо стилизовать отображаемый атрибут продукта , в зависимости от ваших существующих настроек CSS, сделанных в вашей теме и от вас самих.
Код основан на связанном ответе:
Отображение миниатюры и атрибута товара в корзине Woocommerce и оформлении заказа