// по ссылке пример - разные поля, чекбоксы https://wpruse.ru/woocommerce/custom-fields-in-products/
// Первая часть - создаем поле
add_action( 'woocommerce_product_options_general_product_data', 'notice_for_admin_fields' );
function notice_for_admin_fields() {
global $product, $post;
echo '<div class="options_group" >';// Группировка полей
// Тектовая область
echo '<BR> <strong style="margin-left: 10px;display: table;font-size: 12px;line-height: 14px;color: #555;">Примечание для внутреннего пользования. Содержимое этого поля не появится на сайте<BR> Здесь можно добавлять ссылки на магазин товара, или другие примечания к товару</strong>';
woocommerce_wp_textarea_input( array(
'id' => '_textarea', // Идентификатор поля
'label' => 'Примечание: ', // Заголовок поля
'placeholder' => 'Ввод текста', // Надпись внутри поля
'class' => 'textarea-field', // Произвольный класс поля
'style' => 'width-: 70%; background-:red; height: inherit;', // Произвольные стили для поля
'wrapper_class' => 'wrap-textarea', // Класс обертки поля
'desc_tip' => 'true', // Включение подсказки
'description' => 'Скрытое примечание к товару',// Описение поля
'name' => 'textarea-field', // Имя поля
'rows' => '5', //Высота поля в строках текста.
'col' => '18', //Ширина поля в символах.
) );
echo '</div>';
}
// Вторая часть - сохраняем поле
add_action( 'woocommerce_process_product_meta', 'notice_for_admin_fields_save', 10 );
function notice_for_admin_fields_save( $post_id ) {
// Сохранение области тектса, если поле НЕ пустое, делаем update, если поле пустое, очищаем
$woocommerce_textarea = $_POST['textarea-field'];
if ( ! empty( $woocommerce_textarea ) ) { update_post_meta( $post_id, '_textarea', esc_html( $woocommerce_textarea ) );} else { delete_post_meta( $post_id, '_textarea');}
}
// третья часть - для случая, если поле нужно вывести на фронтенд карточки товара, но в данном случае такая задача не стоит