Добавляем дополнительную вкладку в карточке товара Woocommerce

Комментариев: 4

Нередко появляется необходимость выводить какую-либо дополнительную информацию о товаре в дополнительной вкладке. Лично я обычно использую связку плагин ACF для вывода дополнительных полей и следующий код, для вывода вкладки:

Функция, которая определяет содержимое вкладки

function woo_new_product_tab_content() {

	// Содержимое новой вкладки
	
	global $post; // Потребуется для получения ID записи
	$acf= get_field('acf_field', $post->ID); // Так мы можем обратиться к дополнительному полю ACF товара.
	
	//Далее по собственному усмотрению, например выведем содержимое поля
        echo $acf;
}

Теперь выводим содержимое во вкладку Woocommerce

add_filter( 'woocommerce_product_tabs', 'woo_new_product_tab' );
function woo_napolnenie_product_tab( $tabs ) {
	
	// Дополнительная вкладка

	$tabs['napolnenie_tab'] = array(
	 'title' 	=> __( 'Название вкладки', 'woocommerce' ),
	 'priority' 	=> 50,
	 'callback' 	=> 'woo_new_product_tab_content' //Название функции с содержимым вкладки
	);
        
        return $tabs;
}

Данный код необходимо разместить в файле function.php, а также не забудьте изменить acf_field на slug своего созданного дополнительного поля.

Уведомлять о новых комментариях
Уведомлять
guest
4 комментариев
Inline Feedbacks
View all comments
Анатолий
Анатолий
4 лет назад

Дополнительная вкладка в карточке это Описание, Отзывы, и третья «моя вкладка» ? Правильно понял?
Установил плагин, создал поле, условие отображения сделал «товар». В редакторе товара появилось дополнительное поле, заполнил его, но на сайте ничего не отображается, нужно php править или настроил что то не так? По статье не понял куда этот код писать….

Алексей
3 лет назад

Добрый день! Подскажите пожалуйста, а как вывести не конкретные поля ACF, а все которые есть у товара и которые заполнены.

Просто у меня много категорий товаров и у всех категорий свои наборы дополнительных полей. Получается нужно:

1.      Получить список полей у товара
2.      Проверить те, которые заполнены
3.      Вывести их значения