php - tienda - Obtener título(s) de la orden en WooCommerce
woocommerce shortcodes plugin (3)
La nueva sintaxis en woocommerce en relación con el carro es mucama con WC()
sin necesidad de llamar a global woocommerce;
Entonces tu código será este:
$products_in_cart= array();
$products_post_title_in_cart = array();
$products_ids_in_cart= array();
foreach(WC()->cart->get_cart() as $cart_item) {
$products_in_cart[] = $cart_item[''data'']->post;
$products_post_title_in_cart[] = $cart_item[''data'']->post->post_title;
$products_ids_in_cart[] = $cart_item[''product_id''];
}
// The first product (or item of the cart)
$_product = $products_in_cart[0]; // product post data
$product_id = $products_ids_in_cart[0]; // product ID
$products_post_title_in_cart[0] // product post title
// The Second product (or item of the cart)
$_product = $products_in_cart[1]; // product post data
$product_id = $products_ids_in_cart[1]; // product ID
$products_post_title_in_cart[1] // product post title
// etc … for all other products you increase the key of the arrays to get the correct values
Estoy tratando de obtener los nombres de los productos pedidos a través de mi archivo functions.php con un bucle. Heres es mi código:
global $woocommerce;
$items = $woocommerce->cart->get_cart();
foreach($items as $item => $values) {
$_product = $values[''data'']->post;
}
Y luego llamo al título así:
$_product->post_title
Esto funciona, me devuelve el nombre del producto que pedí. El caso es que cuando tengo 2 o más productos todavía me devuelve 1 nombre. ¿Cómo puedo hacerlo para que devuelva todos los nombres en el carrito?
Pruebe este código, devuelve todos los nombres en el carro.
global $woocommerce;
$cart_item = $woocommerce->cart->get_cart();
echo "<pre>";
print_r($cart_item);
exit();
<?php
global $woocommerce;
$items = $woocommerce->cart->get_cart();
$arr_product=array();
foreach($items as $item => $values) {
$arr_product[]= $_product->post_title;
}
print_r($arr_product,true); // echo print_r(); thats why get 1
?>