'Состав', 'target' => 'composition_product_data', // 'target' => 'shipping_product_data', // вывело поля от Доставк в вкладку "Состав" 'class' => array('composition'), // выводим у вкладки класс "composition_tab" 'priority' => 60, ); return $tabs; }); // Вывод пользовательского поля в пользовательской вкладке "Состав" add_action('woocommerce_product_data_panels', function () { global $post; $composition = get_post_meta($post->ID, '_composition', true); // получить значения сохраненные в БД echo '
'; woocommerce_wp_textarea_input([ 'id' => '_composition', 'label' => 'Состав', 'desc_tip' => true, 'description' => 'Введите состав товара', 'value' => $composition // вывести значения из БД в поле ]); echo '
'; }); /* Добавил пользовательское поле "Объем" во вкладку "Доставка" */ add_action('woocommerce_product_options_dimensions', function () { global $post; // Поле: единица измерения (для "Вес") $val_measurement = get_post_meta($post->ID, '_custom_measurement', true); woocommerce_wp_select( array( 'id' => '_custom_measurement', 'label' => 'Ед. измерения (будет отображаться в карточке товара если Вес товара не равен значению - заполнять значение размера в "Размер для отображения")', 'description' => 'Выбранная единица измерения будет выводится вместо кг', 'desc_tip' => true, 'options' => array( 'кг' => 'кг (по умолчанию)', 'мл' => 'мл', 'л' => 'л', ) ) ); // Поле: Размер для отображения $val_size = get_post_meta($post->ID, '_size_for_display', true); woocommerce_wp_text_input(array( 'id' => '_size_for_display', 'label' => 'Размер для отображения', 'placeholder' => 'Заполните размер для отображения', 'desc_tip' => true, 'description' => 'Этот размер будет выводиться на карточке товара', 'value' => $val_size, )); }); /* сохраненение кастомных полей */ add_action('woocommerce_process_product_meta', function ($post_id) { if (isset($_POST['_composition'])) { update_post_meta($post_id, '_composition', sanitize_textarea_field($_POST['_composition'])); } if (isset($_POST['_volume'])) { update_post_meta($post_id, '_volume', sanitize_textarea_field($_POST['_volume'])); } if (isset($_POST['_custom_measurement'])) { update_post_meta($post_id, '_custom_measurement', sanitize_textarea_field($_POST['_custom_measurement'])); } if (isset($_POST['_size_for_display'])) { update_post_meta($post_id, '_size_for_display', sanitize_textarea_field($_POST['_size_for_display'])); } }); /** * End: Добавление табов и полей в стандартной форме редактирования товара Woocommerce */