Мне нужно добавить два поля с именами «Налоговое управление» и «Налоговый номер» после поля «Название компании» в форме платежной информации на страницах оплаты и адресов моего сайта WooCommerce.
Страница оплаты основана на блоках Гутенберга. Поэтому сначала я создал файл JavaScript с именем custom-checkout-fields.js со следующим содержимым:
Мне нужно добавить два поля с именами «Налоговое управление» и «Налоговый номер» после поля «Название компании» в форме платежной информации на страницах оплаты и адресов моего сайта WooCommerce. Страница оплаты основана на блоках Гутенберга. Поэтому сначала я создал файл JavaScript с именем [b]custom-checkout-fields.js[/b] со следующим содержимым: [code]// custom-checkout-fields.js const initializeCheckoutBlocks = () => { // WooCommerce Blocks API check if (!window.wc || !window.wc.blocks || !window.wp) { console.log('WooCommerce Blocks API could not be loaded'); return; }
// Run when page is loaded if (document.readyState === 'loading') { document.addEventListener('DOMContentLoaded', initializeCheckoutBlocks); } else { initializeCheckoutBlocks(); }
// Check when WooCommerce Blocks are ready document.addEventListener('wc-blocks-is-ready', initializeCheckoutBlocks); [/code] В [b]functions.php[/b] я добавил следующий код: [code]add_action('init', function() { register_post_meta('shop_order', '_billing_tax_office', [ 'type' => 'string', 'show_in_rest' => true, 'single' => true, ]);
// Add fields to Store API add_action('woocommerce_blocks_checkout_update_order_meta', function($order) { if (!empty($_POST['tax_office'])) { $order->update_meta_data('_billing_tax_office', sanitize_text_field($_POST['tax_office'])); } if (!empty($_POST['tax_number'])) { $order->update_meta_data('_billing_tax_number', sanitize_text_field($_POST['tax_number'])); } }); [/code] Чтобы добавить поля в форму на странице адресов, я использовал следующий код: [code]// Add tax fields to checkout page add_filter('woocommerce_checkout_fields', 'add_tax_fields_to_checkout');
Я использую редактор полей оформления заказа Woocommerce от Theme High и хочу иметь пользовательский выбор, который будет заполняться опциями на основе товаров, находящихся в корзине оформления заказа. Например, если у меня в корзине есть яблоко и...
У меня есть магазин WooCommerce, в котором используется блок оформления заказа. Я хочу с помощью Google Analytics отслеживать, какие поля оформления заказа WooCommerce пусты или заполнены неправильно. Проверка должна происходить после того, как...
Я нашел этот код, который делает именно то, что мне нужно, за исключением того, что он не добавляет информацию в электронное письмо или детали заказа.
Что касается контекста, мы продает билеты и хочет собрать информацию о каждом владельце билетов....
Я добавил некоторые данные с функцией:
woocommerce_register_additional_checkout_field(
array(
'id' => 'namespace/newsletter-opt-in',
'label' => 'Subscribe to newsletter ?',
'location' => 'order',
'type' => 'checkbox',
)
);