Я ищу функцию, чтобы сохранить цену продукта для каждой корзины или обычную цену на метатере линии заказа Woocommerce. Я создал следующую функцию для этого, но ее не работает. Я хочу хранить цену продукта корзины как новый пользовательский предмет Meta.
add_action( 'woocommerce_checkout_create_order_line_item', 'custom_checkout_create_order_line_item', 20, 4 );
function custom_checkout_create_order_line_item( $item, $cart_item_key, $values, $order ) {
$custom_field_value = get_post_meta( $item->get_product_id(), 'price', true );
if ( ! empty( $custom_field_value ) ){
$item->update_meta_data( 'meta_new', $custom_field_value );
}
}
1
developerme
27 Сен 2019 в 11:33
1 ответ
Лучший ответ
Вы можете сделать следующим образом -
function add_line_item_meta_data( $item, $cart_item_key, $values, $order ) {
// add item price
$product = $values['data'];
$item->add_meta_data( 'meta_new', $product->get_price() );
}
add_action( 'woocommerce_checkout_create_order_line_item', 'add_line_item_meta_data', 99, 4 );
Код переходит в файл functions.php вашей активной темы.
1
itzmekhokan
27 Сен 2019 в 09:22
Похожие вопросы
Новые вопросы
php
PHP - это широко используемый высокоуровневый, динамический, объектно-ориентированный и интерпретируемый язык сценариев, в первую очередь предназначенный для серверной веб-разработки. Используется для вопросов о языке PHP.