WooCommerce Booking — Получение определенных данных в корзине?

У меня есть этот массив, который выгружается из WooCommerce с помощью этих строк:

$items = $woocommerce->cart->get_cart();
foreach($items as $item => $values) {
// some code here…
}

Если я сделаю исходный вывод своей корзины ($ items), я получу это:

array(1) {
["f584d8671586d336d84e8cf9ed43303c"]=>

array(11) {["booking"]=>
array(15) {
["_year"]=>
int(2016)
["_month"]=>
int(8)
["_day"]=>
int(28)
["_persons"]=>
array(1) {
[0]=>
int(1)
}
["_date"]=>
string(9) "2016-8-28"["date"]=>
string(13) "28 août 2016"["_time"]=>
string(5) "21:30"["time"]=>
string(11) "21 h 30 min"["_qty"]=>
int(1)
["Personnes"]=>
int(1)
["_start_date"]=>
int(1472419800)
["_end_date"]=>
int(1472421600)
["_all_day"]=>
int(0)
["_cost"]=>
int(0)
["_booking_id"]=>
int(13013)
}["product_id"]=>
int(12856)
["variation_id"]=>
int(0)
["variation"]=>
array(0) {
}
["quantity"]=>
int(1)
["line_total"]=>
float(0)
["line_tax"]=>
int(0)
["line_subtotal"]=>
int(0)
["line_subtotal_tax"]=>
int(0)
["line_tax_data"]=>
array(2) {
["total"]=>
array(0) {
}
["subtotal"]=>
array(0) {
}
}
["data"]=>
object(WC_Product_Booking)#11131 (20) {
["availability_rules":"WC_Product_Booking":private]=>
array(0) {
}
["id"]=>
int(12856)
["post"]=>
object(WP_Post)#11132 (24) {
["ID"]=>
int(12856)
["post_author"]=>
string(2) "14"["post_date"]=>
string(19) "2016-08-16 22:04:09"["post_date_gmt"]=>
string(19) "2016-08-16 20:04:09"["post_content"]=>
string(0) ""["post_title"]=>
string(10) "La Cuchara"["post_excerpt"]=>
string(0) ""["post_status"]=>
string(7) "publish"["comment_status"]=>
string(4) "open"["ping_status"]=>
string(6) "closed"["post_password"]=>
string(0) ""["post_name"]=>
string(12) "la-cuchara-2"["to_ping"]=>
string(0) ""["pinged"]=>
string(0) ""["post_modified"]=>
string(19) "2016-08-16 22:13:52"["post_modified_gmt"]=>
string(19) "2016-08-16 20:13:52"["post_content_filtered"]=>
string(0) ""["post_parent"]=>
int(0)
["guid"]=>
string(59) ""["menu_order"]=>
int(0)
["post_type"]=>
string(7) "product"["post_mime_type"]=>
string(0) ""["comment_count"]=>
string(1) "0"["filter"]=>
string(3) "raw"}
["product_type"]=>
string(7) "booking"["shipping_class":protected]=>
string(0) ""["shipping_class_id":protected]=>
int(0)
["total_stock"]=>
NULL
["supports":protected]=>
array(0) {
}
["price"]=>
string(1) "0"["wc_display_cost"]=>
string(0) ""["wc_booking_base_cost"]=>
string(0) ""["wc_booking_min_duration"]=>
string(1) "1"["wc_booking_cost"]=>
string(0) ""["wc_booking_has_resources"]=>
string(2) "no"["wc_booking_has_persons"]=>
string(3) "yes"["wc_booking_has_person_types"]=>
string(2) "no"["wc_booking_min_persons_group"]=>
string(1) "1"["tax_status"]=>
string(7) "taxable"["stock_status"]=>
string(7) "instock"["manage_stock"]=>
string(2) "no"}
}
}

Я хотел бы использовать конкретные значения данных в переменных PHP (дата бронирования, время и человек):

  ["date"]=> string(13) "28 août 2016"
["_persons"]=> array(1) { [0]=> int(1) }

["time"]=> string(11) "21 h 30 min"

Как я могу сделать, чтобы получить эти конкретные значения из объекта корзины WooCommerce?

Спасибо

-2

Решение

Вы можете сначала попробовать это (но я не уверен, так как думаю, что это может быть объект, поэтому, возможно, он не будет работать):

 echo $items[0]['booking']['date'] . '<br>';
echo $items[0]['booking']['_persons'] . '<br>';
echo $items[0]['booking']['time'] . '<br>';

Если не работает с циклом foreach, он будет:

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

foreach($items as $item) {
$date = $item['booking']['date'];
$person = $item['booking']['_persons'];
$time = $item['booking']['time'];
}
// displaying values for test
echo 'Booking - Date: ' . $date . '/ Person: ' . $person . '/ Time: ' . $time;

Один из них будет работать, наверняка …

4

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]