Наличие сессии Woocommerce после оформления заказа?

Поскольку Matplotlib не может использовать метрическую систему изначально, если вы хотите указать размер вашей фигуры в разумной единице длины, такой как сантиметры, вы можете сделать следующее (код из gns-ank ):

def cm2inch(*tupl):
    inch = 2.54
    if isinstance(tupl[0], tuple):
        return tuple(i/inch for i in tupl[0])
    else:
        return tuple(i/inch for i in tupl)

Затем вы можете использовать:

plt.figure(figsize=cm2inch(21, 29.7))

1
задан LoicTheAztec 19 March 2019 в 17:06
поделиться

1 ответ

Вам необходимо сохранить эти данные сеанса как метаданные пользовательского порядка , чтобы иметь возможность использовать их впоследствии (замените 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() из определенной ] Id заказа :

$session_data = get_post_meta( $order_id, '_session_data', true );
0
ответ дан LoicTheAztec 19 March 2019 в 17:06
поделиться
Другие вопросы по тегам:

Похожие вопросы: