WooCommerce预订-检索购物车中的特定数据


WooCommerce Booking - Retrieving specific data in Cart?

我有这个数组,它是从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购物车对象中获得这个特定的值?

谢谢

你可以先尝试这个(但我不确定,因为我认为它可以是一个对象,所以可能是它不会工作):

 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;