Произвольные поля для Woocommerce без плагинов
Вы можете создать дополнительное поле без использования плагинов, используя функции WordPress для работы с метаданными. Для этого выполните следующие шаги:
Откройте файл functions.php вашей темы для редактирования.
Добавьте следующий код в конец файла:
// Добавляем новое поле метаданных в товары WooCommerce
add_action( 'woocommerce_product_options_general_product_data', 'add_custom_fields_to_products' );
function add_custom_fields_to_products() {
global $woocommerce, $post;
echo '<div class="product_custom_field">';
woocommerce_wp_text_input(
array(
'id' => '_custom_field',
'placeholder' => 'Введите информацию о товаре',
'label' => __('Информация о товаре', 'woocommerce'),
'desc_tip' => 'true'
)
);
echo '</div>';
}
// Сохраняем значения дополнительных полей метаданных при сохранении товара
add_action( 'woocommerce_process_product_meta', 'save_custom_fields_to_products' );
function save_custom_fields_to_products( $post_id ) {
$woocommerce_custom_product_text_field = $_POST['_custom_field'];
if( !empty( $woocommerce_custom_product_text_field ) )
update_post_meta( $post_id, '_custom_field', esc_attr( $woocommerce_custom_product_text_field ) );
}
Этот код добавляет новое поле метаданных «_custom_field» в раздел «General» страницы редактирования товара в WooCommerce и сохраняет его значение в базе данных при сохранении товара.
Откройте файл single-product.php вашей темы.
Добавьте следующий код в нужное место на странице товара:
<?php
$custom_field = get_post_meta( get_the_ID(), '_custom_field', true );
if ( ! empty( $custom_field ) ) {
echo '<p>Информация о товаре: ' . $custom_field . '</p>';
}
?>
Этот код извлекает значение поля метаданных «_custom_field» для текущего товара и отображает его на странице товара в нужном месте.
Сохраните файлы functions.php и single-product.php.
Теперь вы можете добавлять и отображать дополнительную информацию о товарах в WooCommerce через созданное вами поле метаданных.
Если вы не веб разработчик и попали на эту статью с целью сделать самому — лучше довертесь професионалам и обратитесь в нашу веб студию по созданию сайтов.