Вам необходимо сохранить эти данные сеанса как метаданные пользовательского заказа , чтобы иметь возможность использовать их впоследствии (замените my_key
в приведенном ниже коде на правильный ключ сеанса):
// Add custom order meta data with temporary data from WC_Session
add_action( 'woocommerce_checkout_create_order', 'add_session_data_as_custom_order_meta_data', 10, 2 );
function add_session_data_as_custom_order_meta_data( $order, $data ) {
if ( $session_data = WC()->session->get('my_key') ) {
$order->update_meta_data( '_session_data', $session_data );
}
}
Код сохраняется в файле function.php вашей активной дочерней темы (или темы).Протестировано и работает.
Затем для доступа к данным вы будете использовать WC_Data
метод get_meta()
для WC_Order
объекта:
$session_data = $order->get_meta('_session_data');
или также с помощью get_post_meta()
функция из определенного идентификатора заказа :
$session_data = get_post_meta( $order_id, '_session_data', true );