Agregue la identificación del producto después del nombre del artículo del carrito en la página del carrito de Woocommerce

2 minutos de lectura

Agregue la identificacion del producto despues del nombre del articulo
brunam

Estoy buscando conectarme al filtro ‘woocommerce_cart_item_name’ en woocommerce y me gustaría mostrar la identificación del producto después del nombre. Estoy trabajando con esto hasta ahora…

add_filter( 'woocommerce_cart_item_name', 'justatest' );

function justatest( $productname ) {
    echo $productname;
    // ideally echo name and product id here instead
}

Esto devuelve el nombre con un enlace alrededor, pero quiero agregar la identificación real del producto después del nombre del artículo.

¿Cómo puedo agregar la identificación del producto después del nombre del artículo del carrito en la página del carrito de Woocommerce?

Sé que no tendría que regresar primero, ya que eso me sacaría de la función, pero tengo curiosidad por saber cómo lo haría.

Agregue la identificacion del producto despues del nombre del articulo
LoicTheAztec

Faltan algunos argumentos en su función enganchada y debería hacer algunos cambios para obtener la identificación del producto de esta manera:

add_filter( 'woocommerce_cart_item_name', 'just_a_test', 10, 3 );
function just_a_test( $item_name,  $cart_item,  $cart_item_key ) {
    // Display name and product id here instead
    echo $item_name.' ('.$cart_item['product_id'].')';
}

Este código va en el archivo function.php de su tema secundario activo (o tema) o también en cualquier archivo de complemento.

Probado y funciona.

  • Esto era exactamente lo que estaba buscando. ¡Gracias!

    – Brunam

    21 de diciembre de 2017 a las 18:24

  • Debe eliminar la primera comilla simple después de “echo”, ya que rompe la función.

    – elicohenador

    30 oct 2020 a las 13:01

  • @LoicTheAztec Gracias por esto, ¿cómo aplicar esto a un producto específico y no a todos los productos?

    – Rosalito Udtohan

    18 mayo 2021 a las 23:42

Prueba este,

anular la siguiente plantilla de página de woocommerce,

woocommerce/cart/cart.php in your theme

encontrará una tabla HTML/código en ella.

<td class="product-name" data-title="<?php esc_attr_e('Product', 'woocommerce'); ?>"
<?php
if (!$product_permalink) {
   echo apply_filters('woocommerce_cart_item_name', $_product->get_name(). $product_id, $cart_item, $cart_item_key) . '&nbsp;';
} else {
   echo apply_filters('woocommerce_cart_item_name', sprintf('<a href="https://stackoverflow.com/questions/47917304/%s">%s</a>', esc_url($product_permalink), $_product->get_name() . $product_id), $cart_item, $cart_item_key);
}

// Meta data
echo WC()->cart->get_item_data($cart_item);

// Backorder notification
if ($_product->backorders_require_notification() && $_product->is_on_backorder($cart_item['quantity'])) {
   echo '<p class="backorder_notification">' . esc_html__('Available on backorder', 'woocommerce') . '</p>';
}
?>
</td>

añadir esta parte en carrito.php

<td class="product-name">...</td>

Espero que esto te ayude.

  • Esto funciona, pero tenía curiosidad por hacerlo a través de la ruta functions.php.

    – Brunam

    21 de diciembre de 2017 a las 18:24

¿Ha sido útil esta solución?

Esta web utiliza cookies propias y de terceros para su correcto funcionamiento y para fines analíticos y para mostrarte publicidad relacionada con sus preferencias en base a un perfil elaborado a partir de tus hábitos de navegación. Al hacer clic en el botón Aceptar, acepta el uso de estas tecnologías y el procesamiento de tus datos para estos propósitos. Configurar y más información
Privacidad