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