Передача мета элемента заказа Woocommerce из массива в новую запись WordPress - PullRequest
0 голосов
/ 06 мая 2019

Я пытаюсь создать сообщение с post_content, отображающим конкретные значения метаданных элемента заказа, которые представляют собой данные события бронирования (из плагина Операции бронирования ). В конце концов, я хочу поместить 'start_date' в настраиваемое поле appt_datetime, но сейчас даже само получение start_date в post_content не работает. Я могу передать метаданные другого элемента и передать весь массив события, но не отдельные элементы этого массива событий. Мне также нужно будет выполнить это, только если заказ включает одно из этих событий (этот продукт бронирования имеет категорию new-tutor)

Мой код, который до сих пор успешно создает сообщение, выводит полный массив событий (и другие метаданные для пользовательских полей, которые я добавил отдельно от этого плагина Деятельности при бронировании):

add_action( 'woocommerce_payment_complete', 'create_ctsession_post' );
function create_ctsession_post($order_id){
    $order = wc_get_order($order_id);

    // Loop through order line items
    foreach( $order->get_items() as $item ){
        // get order item meta data (unprotected)
        $item_meta_data = $item->get_meta_data();

        $meta_value_student = $item->get_meta( 'Student Name', true );
        $meta_value_tutor = $item->get_meta( 'tutor', true );
        $meta_value_event = $item->get_meta( 'bookacti_booked_events', true );
        $meta_value_start = $meta_value_event->event_start;

        $testing_post = array(
        'post_title' => 'Testing Session 6',
        'post_content' => 'HelloWorld ' . $meta_value_tutor . $meta_value_event . $meta_value_start ,
        'post_status' => 'draft',
        'post_author' => 1,
        'post_type' => 'ct_student_appt',
        );
        $post_id = wp_insert_post($testing_post);
        console.log($item_meta_data);
        console.log($meta_value_event);
    }

}

Это вывод, который я получаю от этого (где настраиваемое поле для 'tutor' имело значение "Alpha Tutor" в следующем порядке):

HelloWorld Alpha Tester[{"id":"19","event_id":"10","event_start":"2019-05-09 13:00:00","event_end":"2019-05-09 13:30:00","title":"Tutor Session","activity_id":"1","template_id":"1"}]
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...