Добавление доступности программным способом в заказываемый продукт на Woocommerce Bookings - PullRequest
0 голосов
/ 10 октября 2018

У меня есть форма на сайте, которая позволяет пользователям создавать продукты, которые можно забронировать.Тем не менее, я не могу найти, как создать интервал доступности с помощью функций php Woocommerce.У кого-нибудь есть идея?

Вот как я создаю свой продукт

$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?

Документация для разработчиков на их веб-сайте охватывает только основы создания продукта программным способом.

1 Ответ

0 голосов
/ 16 октября 2018

Я нашел ответ, если кому-то еще это нужно.

//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

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...