Добавление уникальных метаполей к товарам WooCommerce позволяет расширить функциональность магазина и предоставить покупателям дополнительную информацию, которая не входит в стандартный набор данных продукта. В этой статье мы подробно разберем, как добавить кастомные поля к товарам, сохранить их и вывести на странице товара, используя примеры кода и рекомендации по плагинам.
Почему важны уникальные метаполя в WooCommerce
Стандартный набор полей WooCommerce охватывает основные параметры товара: цена, описание, изображения, категории и атрибуты. Однако для многих магазинов требуется дополнительная информация — например, серийный номер, состав, срок годности, инструкции по уходу или технические характеристики. Метаполя позволяют добавлять эти данные без изменения ядра WooCommerce.
Уникальные метаполя помогают:
- Улучшить SEO за счет дополнительного контента.
- Повысить информативность карточки товара.
- Автоматизировать обработку специальных данных в заказах и отчетах.
- Настроить фильтры и поиск по дополнительным параметрам.
Добавление уникальных метаполей в админке WooCommerce
Для добавления кастомных полей в карточку товара можно использовать готовые плагины или прописать код самостоятельно. Рассмотрим оба подхода.
Использование плагина Advanced Custom Fields (ACF)
ACF — один из самых популярных плагинов для создания и управления кастомными полями. Он позволяет создавать поля с разными типами данных и привязывать их к товарам WooCommerce.
Основные шаги:
- Установите и активируйте плагин Advanced Custom Fields.
- Создайте группу полей, выберите тип записи «Товары» (product).
- Добавьте необходимые поля (текст, число, дата, выбор и т.д.).
- Сохраните группу и откройте любую карточку товара — поля будут доступны для заполнения.
Для вывода данных на сайте можно использовать PHP-код:
echo esc_html(get_field('wpbuy_custom_field_name', $product_id));Замените wpbuy_custom_field_name на ключ вашего поля.
Добавление метаполей вручную через код
Если хотите контролировать процесс без плагинов, добавьте метаполя через хуки WooCommerce. Ниже пример, как добавить текстовое поле «Артикул производителя» в админку товара и вывести его на странице товара.
1. Добавление поля в админку товара
add_action('woocommerce_product_options_general_product_data', 'wpbuy_add_custom_field');
function wpbuy_add_custom_field() {
woocommerce_wp_text_input(
array(
'id' => '_wpbuy_manufacturer_sku',
'label' => __('Артикул производителя', 'wpbuy'),
'desc_tip' => true,
'description' => __('Введите артикул производителя для этого товара.', 'wpbuy')
)
);
}2. Сохранение значения поля
add_action('woocommerce_process_product_meta', 'wpbuy_save_custom_field');
function wpbuy_save_custom_field($post_id) {
$custom_field_value = isset($_POST['_wpbuy_manufacturer_sku']) ? sanitize_text_field($_POST['_wpbuy_manufacturer_sku']) : '';
update_post_meta($post_id, '_wpbuy_manufacturer_sku', $custom_field_value);
}3. Вывод значения на странице товара
add_action('woocommerce_single_product_summary', 'wpbuy_display_custom_field', 25);
function wpbuy_display_custom_field() {
global $product;
$sku = get_post_meta($product->get_id(), '_wpbuy_manufacturer_sku', true);
if (!empty($sku)) {
echo '<p class="wpbuy-manufacturer-sku"><strong>Артикул производителя:</strong> ' . esc_html($sku) . '</p>';
}
}Этот код добавит текстовое поле в настройки товара, сохранит введенное значение и отобразит его на странице отдельного товара под описанием.
Расширенные варианты: использование JSON и повторяющихся метаполей
Для сложных данных, например, списков технических характеристик или инструкций, можно использовать повторяющиеся группы полей и хранить их в формате JSON. Это удобно для динамического вывода и фильтрации.
Пример хранения списка свойств:
$specs = array(
array('name' => 'Вес', 'value' => '1.5 кг'),
array('name' => 'Материал', 'value' => 'Алюминий'),
);
update_post_meta($product_id, '_wpbuy_product_specs', json_encode($specs));Для вывода распарсите JSON и выведите в виде таблицы или списка.
Плагины для управления уникальными метаполями в WooCommerce
Кроме ACF, можно использовать специализированные плагины с удобным интерфейсом:
- Meta Box — мощный конструктор метаполей с бесплатной и платной версиями.
- WooCommerce Custom Fields — плагин для добавления и управления метаполями именно в WooCommerce.
- Clearfy Pro — оптимизационный плагин с возможностью добавления кастомных метаполей и улучшения SEO.
Все они доступны на WPSHOP.RU.
Советы по безопасности и производительности при работе с метаполями
При добавлении кастомных полей важно соблюдать несколько правил:
- Используйте функции WordPress для очистки данных —
sanitize_text_field,esc_htmlи подобные. - Не храните избыточные или тяжелые данные в метаполях — это замедляет запросы к базе.
- Для сложных структур используйте сериализацию или JSON с учетом последующей обработки.
- Кэшируйте вывод при необходимости, используя Transients API или плагины кэширования.
Итог
Добавление уникальных метаполей к товарам WooCommerce — эффективный способ расширить функционал интернет-магазина и сделать карточки товаров более информативными и удобными. Выбор между плагинами и кодовым решением зависит от задач и навыков разработчика. Главное — соблюдать безопасность и оптимизацию при работе с метаданными.