'Состав', '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 = get_post_meta($post->ID, '_volume', true); // получить значения сохраненные в БД // woocommerce_wp_text_input( // array( // 'id' => '_volume', // 'label' => 'Объем (мл)', // 'placeholder' => 'Отобразится вместо "Вес"', // 'desc_tip' => true, // 'description' => 'Будет выводится вместо веса, если заполнить', // 'value' => $val // вывести значения из БД в поле // ) // ); // НА будуще если понадобится выпадающий список сделать для выбора единицы измерения $val = get_post_meta($post->ID, '_custom_measurement', true); // получить значения сохраненные в БД woocommerce_wp_select( array( 'id' => '_custom_measurement', 'label' => 'Ед. измерения (для "Вес")', 'description' => 'Выбранная единица измерения будет выводится вместо кг', 'desc_tip' => true, 'options' => array( 'кг' => 'кг (по умолчанию)', // по умолчанию // 'мм' => 'мм', 'мл' => 'мл', 'л' => 'л', ) ) ); }); /* сохраненение кастомных полей */ 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'])); } }); /** * End: Добавление табов и полей в стандартной форме редактирования товара Woocommerce */