以编程方式向Woocommerce Bookings上的可预订产品添加可用性

时间:2018-10-10 13:48:24

标签: php wordpress woocommerce woocommerce-bookings

我在网站上有一个表格,允许用户创建可预订的产品。但是,我找不到如何使用Woocommerce php函数创建可用性间隔的方法。有人有主意吗?

这是我创建产品的方式

$post_id = wp_insert_post( array(
    'post_title' => $_POST["title"],
    'post_content' => $_POST["description"],
    'post_status' => 'publish',
    'post_type' => "product",
) );
wp_set_object_terms( $post_id, 'booking', 'product_type' );

在同一项目的另一部分中,我使用get_post_meta函数来获取可用性。我发现可用性是帖子中的元数据,但是我不确定如何更改这些。我尝试使用通常的add_post_meta( $post_id, '_wc_booking_availability', $availability );,但是没有用。 Woocommerce可用性我缺少什么?

另一方面,Woocommerce Booking是否有更详细的文档?

他们的网站上的developer documentation仅涵盖以编程方式创建产品的基础知识。

1 个答案:

答案 0 :(得分:1)

我找到了其他人需要的答案。

//This is the array that will contain all the availabilities
$availabilities = array();

//Create an array that contains the required fields (from_date and to_date are not necessary in some types of availabilities) 
$availability = array(
        'type'      => 'time:range', //Replace time:range with the type you need
        'bookable'  => 'yes',
        'priority'  => 10,
        'from'      => wc_booking_sanitize_time( "01:00" ),
        'to'        => wc_booking_sanitize_time( "03:00" ),
        'from_date' => wc_clean( "2018-10-02" ),
        'to_date'   => wc_clean( "2018-10-02" )
);

//If you need to add more than one availability, make a loop and push them all into an array
array_push($availabilities, $availability);
add_post_meta( $post_id, '_wc_booking_availability', $availabilities );

我在这里找到了它,但是我根据需要对其进行了修改 https://wordpress.stackexchange.com/questions/233904/how-to-add-date-range-in-woocommerce-with-code