Как я могу указать вес каждого товара под вашим описанием на странице корзины и странице оплаты в woocommerce?
Любой совет приветствуется.
Следующий код будет отображать вес промежуточного итога для товаров в корзине и заказах везде:
// Display the cart item weight in cart and checkout pages
add_filter( 'woocommerce_get_item_data', 'display_custom_item_data', 10, 2 );
function display_custom_item_data( $cart_item_data, $cart_item ) {
if ( $cart_item['data']->get_weight() > 0 ){
$cart_item_data[] = array(
'name' => __( 'Weight subtotal', 'woocommerce' ),
'value' => ( $cart_item['quantity'] * $cart_item['data']->get_weight() ) . 'Kg'
);
}
return $cart_item_data;
}
// Save and Display the order item weight (everywhere)
add_action( 'woocommerce_checkout_create_order_line_item', 'display_order_item_data', 20, 4 );
function display_order_item_data( $item, $cart_item_key, $values, $order ) {
if ( $values['data']->get_weight() > 0 ){
$item->update_meta_data( __( 'Weight subtotal', 'woocommerce' ), ( $cart_item['quantity'] * $cart_item['data']->get_weight() ) . 'Kg' );
}
}
Код помещается в файл function.php вашей активной дочерней темы (или активной темы). Проверено и работает.
Если вместо этого вы хотите отобразить вес товара, в корзине и элементах заказа вы будете использовать:
// Display the cart item weight in cart and checkout pages
add_filter( 'woocommerce_get_item_data', 'display_custom_item_data', 10, 2 );
function display_custom_item_data( $cart_item_data, $cart_item ) {
if ( $cart_item['data']->get_weight() > 0 ){
$cart_item_data[] = array(
'name' => __( 'Weight', 'woocommerce' ),
'value' => $cart_item['data']->get_weight() . 'Kg'
);
}
return $cart_item_data;
}
// Save and Display the order item weight (everywhere)
add_action( 'woocommerce_checkout_create_order_line_item', 'display_order_item_data', 20, 4 );
function display_order_item_data( $item, $cart_item_key, $values, $order ) {
if ( $values['data']->get_weight() > 0 ){
$item->update_meta_data( __( 'Weight', 'woocommerce' ), $cart_item['data']->get_weight() . 'Kg' );
}
}
Код помещается в файл function.php вашей активной дочерней темы (или активной темы). Проверено и работает.
перейти в каталог
сор-контент \ Plugins \ WooCommerce \ Шаблоны \ Корзина
и добавьте туда код
<tr>
<th>Total Weight</th>
<td><?php echo WC()->cart->cart_contents_weight . ' ' . get_option('woocommerce_weight_unit'); ?></td>
</tr>