WooCommerce: enumera los nombres de los elementos del carrito fuera de la página del producto

1 minuto de lectura

Estoy tratando de crear una lista simple con viñetas de elementos que ya se agregaron al carrito, que luego pasarán a través de un campo de formulario de gravedad. Esto es lo que he encontrado hasta ahora:

<?php global $woocommerce; 

      $items = $woocommerce->cart->get_cart();

      foreach($items as $item => $product_id) { ?>

            <li><?php echo $item; ?></li>

      <?php } ?>

He agregado 2 artículos al carrito y obtengo un resultado de:

  • 747579165776fe1ba349237464ae0eed
  • f06a642b52d91adfa0168b737bd60db9

Sin embargo, estoy tratando de obtener el título de los productos en lugar de la clave.

Tienes que hacerlo de esta manera:

<?php global $woocommerce; 

  $items = $woocommerce->cart->get_cart();
  foreach($items as $item => $values) { ?>
        <? // print_r($item); ?>
        <? $_product = $values['data']->post; ?>
        <? echo $_product->post_title; ?>
  <?php } ?>

Puede acceder a cualquier valor de publicación, post_title, post_date, ID, etc. Descomente // print_r($item); y ver lo que quiero decir. También puedes jugar con otros datos cambiando un poco la parte con: $_producto = $valores[‘data’]-> publicar; Por ejemplo, para acceder al ID del producto, no al ID de la publicación, cambie el interior de la función foreach a esto:

$_product = $values['data'];
echo $_product->ID;

Imprime $_producto para ver el resto de valores disponibles.

De hecho, siempre haga un print_r para ver qué hay dentro de una matriz.

Eso es todo.

  • cuando hago eco $_product->ID esto muestra todos los ID de productos, ¿cómo puedo obtener el último de ellos? Por ejemplo, aquí hay valores devueltos. 1297,1694,1297,3911,4999, ¿Cómo obtener solo 4999?

    – aiddev

    10 de febrero de 2015 a las 11:12

¿Ha sido útil esta solución?