мой покупатель хочет, чтобы "покупатели" магазина (которые являются посредниками в b2b-магазине) могли заказывать каждый товар для различного числа магазинов, за которые он отвечает. Если, например, у него 3 магазина, он хочет
Store 1: 10 (qty)
Store 2: 10
Store 3: 5
и поле регулярного количества туалетов с +/- рядом с большой кнопкой «Добавить в корзину» должно автоматически обновиться (в данном случае до 25).
Итак, я добавил несколько текстовых полей в отдельное представление продукта, ниже миниатюр с этим:
add_action( 'woocommerce_product_thumbnails', 'store_selector' );
function store_selector() {
$stores = get_stores();
echo '<div itemprop="store-selector" class="store-selector" style="font-size: 14px;">';
echo '<div class="product-border fusion-separator sep-"></div>';
echo '<input type='text' class='amount_per_store' name='amount_ps_".$store_id."' id='amount_ps_".$store_id."'>"'
echo '<br></div>';
}
Так что теперь я могу перебрать поля, сложить их все и записать результат в большое поле add-to-cart с простым jQuery. Хорошо работает.
Но проблема в том, что я не могу получить доступ к своим настраиваемым полям позже! Все, что я вижу, это «25», но не номера заказов для отдельных магазинов. Конечно нет ... WooCommerce не знает моих пользовательских полей!
Может быть, я должен сделать что-то вроде этого:
woocommerce_form_field( 'my_field_name', array(
'type' => 'text',
'class' => array('amount_per_store'),
'label' => __('Store '.$store_id),
'placeholder' => __(''),
), $checkout->get_value( 'my_field_name' ));
Я здесь об этом:
https://docs.woocommerce.com/document/tutorial-customising-checkout-fields-using-actions-and-filters/
... это пример того, как добавить пользовательские поля в другие места.
Я сейчас немного застрял, потому что не знаю, как правильно добавить настраиваемые поля для продуктов!
-Клиент должен иметь возможность исправить / отредактировать свой заказ и изменить значение настраиваемых полей, когда он вернется.
-Данные должны пройти через процесс заказа, появиться на странице подтверждения заказа, в электронных письмах заказа, а также в деталях заказа в бэкэнде.
Любая помощь приветствуется!