WooCommerce Как сохранить Предложенную цену товару?
Есть задача для товаров сделать возможность предлагать пользователю свою цену.
Подскажите, как забирать и где правильнее всего будет хранить это значение для текущего пользователя?
Вот в файле теми /woocommerce/single-product/add-to-cart/simple.php
Если пользователь ввел значение в input
, то оно должно сохраниться для дальнейшей передачи в Заказ(Order).
Подскажите, пожалуйста, как его в post_meta
положить? Как связывает Submit с получением значения с этого поля?
Пробовал так
<!-- Custom propose price -->
<label class="propose_price">
<span class="propose_price__desc"><?php _e("You can propose a price") ?></span>
<input class="propose_price__val" value="<?php echo get_post_meta($post->ID, 'propose_price', true) ?>" name="propose_price" type="number">
</label>
<?php add_action( 'woocommerce_process_product_meta', function ($product){
$woocommerce_number_field = $_POST['propose_price'];
if ( ! empty( $woocommerce_number_field ) ) {
update_post_meta( $product->get_id(), 'propose_price', esc_attr( $woocommerce_number_field ) );
}
}, 10 ); ?>
но до корзины ничего не доходит. Так же Пробовал привязаться к хуку корзины, но тоже что-то значение не заносит...
add_action( 'woocommerce_single_product_summary', 'woo_propose_price', 20);
function woo_propose_price($product_id){
add_filter('woocommerce_add_cart_item_data', function ($cart_item_data, $product_id) {
$cart_item_data['propose_price'] = get_post_meta($product_id, 'propose_price', true);
return $cart_item_data;
}, 10, 2);
echo '<label class="propose_price">
<span class="propose_price__desc">'. _e("You can propose a price") .'</span>
<input class="propose_price__val" value="'. get_post_meta($product_id, 'propose_price', true) .'" name="propose_price" type="number">
</label>';
}