Добавляем произвольные поля товаров (WooCommerce)
Часто общего описания для товаров не хватает, и нужно добавить отдельные произвольные поля. Это могут быть совершенно разные данные. Например, я через произвольные поля организовал вывод данных готовых шаблонов на vamshop в разделе «Готовые шаблоны». Сейчас я покажу, как это делается:
Итак, подключим в файл functions.php нашей темы две функции, которые добавляют поля в консоли и позволяют их сохранить:
// Добавляем поля add_action( 'woocommerce_product_options_general_product_data', 'woo_add_custom_general_fields' ); // Сохраняем поля add_action( 'woocommerce_process_product_meta', 'woo_add_custom_general_fields_save' ); |
Теперь добавим функцию сохранения поля:
function woo_add_custom_general_fields_save( $post_id ){ // Текстовое произвольное поле $woocommerce_text_field = $_POST['_text_field']; if( !empty( $woocommerce_text_field ) ) update_post_meta( $post_id, '_text_field', esc_attr( $woocommerce_text_field ) ); } |
Добавим ввод этого поля в консоли при редактировании товара:
function woo_add_custom_general_fields() { global $woocommerce, $post; echo '<div class="options_group">'; // текстовое поле woocommerce_wp_text_input( array( 'id' => '_text_field', 'label' => __( 'Название произвольного поля', 'woocommerce' ), 'placeholder' => '', 'desc_tip' => 'true', 'description' => __( 'Подсказка', 'woocommerce' ) ) ); echo '</div>'; } |
Теперь на странице редактирования товара в консоли после поля цены появится наше добавленное поле, в которое мы можем добавить произвольный текст.
Осталось его вывести. Для вывода добавим вызов в нужном файле нашего шаблона WooCommerce так:
<?php echo get_post_meta( $post->ID, '_text_field', true ); ?> |
или вот так:
<?php echo get_post_meta( get_the_ID(), '_text_field', true ); ?> |
-
пишет:Павел
Спасибо. Всё работает. Есть один вопрос: а как можно вывести значение этого поля в колонку таблицы товаров на вкладке “Товары” в консоли сайта? Чтобы администратор видел значение не заходя в каждый товар.