Довільні поля для Woocommerce без плагінів

Custom field 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 через створене вами поле метаданих.