如何使用PHP获取特定产品的所有预订日期?

时间:2017-02-17 10:44:54

标签: php wordpress woocommerce woocommerce-bookings

我试图找出如何获得特定产品的所有预订日期 - 但它似乎比人们想象的更难(或者可能是因为我不知道我正在做什么。

到目前为止,我用了几个小时,而且我无法到达任何地方,到目前为止我已经尝试过了:

$WCBooking = new WC_Product_Booking('booking');
$WCBooking -> get_bookings_in_date_range($dToday, $dOneYear)
$WCBooking -> get_all_resources_availability($dToday, $dOneYear, $iProductID)

只返回一个空数组,

还尝试查询所有预订帖子,但我无法找到他们的开始和结束日期信息:(

    $aBookings = new WP_Query( 
    array( 
        'post_type' => 'wc_booking', 
        'posts_per_page' => -1 )
    );

接下来我应该尝试什么?我认为它不应该那么难,但我不知道我哪里出错了

2 个答案:

答案 0 :(得分:1)

$aBookings = new WP_Query( 
array( 
    'post_type' => 'wc_booking', 
    'posts_per_page' => -1 )
);   

$oCustomPostMeta = get_post_custom($oPost->ID);
$oCustomPostMeta['_booking_start']
$oCustomPostMeta['_booking_end']

做了诀窍,事情就是他们将帖子元保存为YYYYmmddhhmmss,所以不得不首先拆分它:(

答案 1 :(得分:1)

从WooCommerce 3.0开始:

repositories

时间戳是时代的,因此strtotime可能非常有用。在我允许其他人添加到购物车之前检查没有预订或购物车预订的情况下,我确实需要额外验证。

$booking_ids = WC_Bookings_Controller::get_bookings_in_date_range($submitStartTime, $submitEndTime, $product_id, true);