Hola, el recibo que envía woocommerce al cliente tras su compra no incluye el campo PRECIO UNITARIO. ¿Cómo podría incluirlo?.
Saludos
Contenido solo visible a usuarios registrados
Hola José,
En este caso ya que es una opción adicional de WooCommerce puedes probar añadir lo que deseas ingresando el siguiente codigo en el function.php de tu tema (preferiblemente un tema hijo) o un plugin como code snipets
// Show product unit price on the Thank You Page, Emails, and order view in My Account.
function ecommercehints_return_unit_price( $product ) {
$unit_price = wc_price($product->get_price());
if (!empty($unit_price )) {
return '<br><small><strong>(Unit Price: ' . $unit_price . ')</strong></small>';
} else {
return '';
}
}
add_action( 'woocommerce_order_item_meta_start', 'ecommercehints_show_unit_price_below_product_name', 10, 4 );
function ecommercehints_show_unit_price_below_product_name( $item_id, $item, $order, $plain_text ) {
$product = $item->get_product();
echo ecommercehints_return_unit_price( $product );
}
// Show Product Unit Price On The Checkout
add_filter( 'woocommerce_cart_item_subtotal', 'ecommercehints_show_unit_price_below_subtotal', 10, 3 );
function ecommercehints_show_unit_price_below_subtotal( $wc, $cart_item, $cart_item_key ) {
if ( ! is_cart() ) { // The cart already shows unit price so no need to show it again here
$unit_price = wc_price(get_post_meta($cart_item['product_id'] , '_price', true));
return $wc . '<br><small><strong>(Unit Price: ' . $unit_price . ')<strong></small>';
} else {
return $wc;
}
}
Con este código una vez lo añades se muestra el precio de la unidad tanto en el carrito como en el email de la orden
Verifica si con ello logras añadir lo que necesitas
Un Saludo
Hola Karen, gracias, tan sólo comentarte que en el carrito sale correcto (adjunto captura) y, si pongo éste código, la verdad no quiero que me canvie, tan sólo es en la parte de pedido recibido (para el cliente) dónde quiero que conste el precio unitario. No sé si hay un código que sólo afecte a corregir ésto último.
SAludos
Hola Jose.
Quieres que solo se muestre en el correo que recibe el cliente ?
Añade solo el primer bloque del código que adjunto mi compañera:
// Show product unit price on the Thank You Page, Emails, and order view in My Account.
function ecommercehints_return_unit_price( $product ) {
$unit_price = wc_price($product->get_price());
if (!empty($unit_price )) {
return '<br><small><strong>(Unit Price: ' . $unit_price . ')</strong></small>';
} else {
return '';
}
}
add_action( 'woocommerce_order_item_meta_start', 'ecommercehints_show_unit_price_below_product_name', 10, 4 );
function ecommercehints_show_unit_price_below_product_name( $item_id, $item, $order, $plain_text ) {
$product = $item->get_product();
echo ecommercehints_return_unit_price( $product );
}
Un saludo
Hola Pepe, gracias, ya está funcionando.
Pero ahora me gustaría Unit Price aparezca en castellano. Imagino que puedo traducirlo yo mismo en el archivo, pero como hay varios Unit Price, no sé si debo traducirlos todos.
Saludos
Hola Jose.
Modifica esta linea:
return '<br><small><strong>(Precio unitario: ' . $unit_price . ')</strong></small>';
Si te das cuenta hemos modificado " return '<br><small><strong>(Unit Price: " que es el texto que muestra en el correo, puedes modificarlo y añadir el texto que quieras.
Lo siento tenía que haberlo modificado antes de pasarte en código 😏
Un saludo
Hola Pepe, no pasa nada, ya lo he traducido y sale correctamente.
Gracias a ti y a Karen
Un saludo
Hola Jose,
Enhorabuena lograste añadir lo que necesitabas, es un placer para nosotros siempre poder ayudarte.
No dudes en escribirnos si tienes cualquier otra consulta.
Un Saludo 😊