/ Сайтостроение / Плагины / Вкладка Дополнительная информация

Вкладка Дополнительная информация

HIT

17.07.2017

1154

У товаров WC есть вкладка Дополнительная информация (Additional Information), в которой по-умолчанию выводятся атрибуты, вес и габариты товара. Добавим в эту вкладку дополнительные данные.

Проверки содержит ли товар атрибуты, вес или габариты

  • has_attributes()
  • has_dimensions()
  • has_weight()

Пример использования

global $product;
	
if( $product->has_attributes() || $product->has_dimensions() || $product->has_weight() ) { 
какое-либо действие
}

Добавление информации во вкладку

Шаблон вкладки Additional Information находиться в папке woocommerce/single-product/tabs. Можно либо что-то добавить в него напрямую, или можно воспользоваться хуком:

do_action( 'woocommerce_product_additional_information', $product );

Технические характеристики

В случае, если мы не используем функционал атрибутов товара, но технические характеристики все же есть — создадим отдельное для них поле.

Заводим поле (не в группе WC, ниже краткого описания).

add_action('admin_init', 'wysiwyg_techparam_meta_box');
 
function wysiwyg_techparam_meta_box() {
 add_meta_box('techparam_meta_box' , __('Технические характеристики', 'wysiwyg') , 'custom_wysiwyg', 'product');
 }
 
function custom_wysiwyg($post) {
 $content = get_post_meta($post->ID, 'techparam', true);
 wp_editor(htmlspecialchars_decode($content) , 'techparam', array(
 "media_buttons" => true
 ));
 }
 
function custom_wysiwyg_save_postdata($post_id) {
 if (!empty($_POST['techparam']))
 {
 $data = htmlspecialchars($_POST['techparam']);
 update_post_meta($post_id, 'techparam', $data);
 }
 }
 
add_action('save_post', 'custom_wysiwyg_save_postdata');

Выводим поле во вкладке Дополнительная информация

function site_image_field_woocommerce() {

global $post;

  if (get_post_meta($post->ID, 'techparam', true)) {  

echo '<div id="techparam">';
	
print htmlspecialchars_decode(get_post_meta($post->ID, 'techparam', true));

echo '</div>';
	
  }  
  
}

add_action( 'woocommerce_product_additional_information', 'site_image_field_woocommerce', 45 );

Альтернативный способ внедрить информацию во вкладку Доп. информация, т.к. предыдущий код в некоторых случаях не срабатывает.

add_filter( 'woocommerce_product_tabs', 'woo_rename_tabs', 98 );

function woo_rename_tabs( $tabs ) {
    global $product;
    $tabs['additional_information']['callback'] = 'custom_function_name';
    return $tabs;
}

function custom_function_name(){
    woocommerce_product_additional_information_tab(); //стандартный вывод additional_information
  
	global $post;
  
	if (get_post_meta($post->ID, 'techparam', true)) {  
		echo '<div id="techparam">';
		print htmlspecialchars_decode(get_post_meta($post->ID, 'techparam', true));
		echo '</div>';
	}
}

Файлы: инструкции, сертификаты и т.п.

Выводим в Additional Information различные файлы, как заводить соответствующие поля в WC описано здесь.

function site_image_field_woocommerce() {

global $post;
$attachment_id = get_post_meta($post->ID, 'uploader_custom', true);
  
  if (get_post_meta($post->ID, 'uploader_custom', true)) {  

echo '<a id="manual" href="'.wp_get_attachment_url( $attachment_id ).'">';
echo '<p><img src="'.get_template_directory_uri().'/images/pdf.png"></p>';
echo '<p>Инструкция</p>';
echo '</a>';
	
  }
  
}

add_action( 'woocommerce_product_additional_information', 'site_image_field_woocommerce', 45 );

Тэги:

Поделится информацией с друзьями

  • Похожие записи
  • Комментарии
  • Вложения
Предварительная стоимость (товар + количество)

Предварительная стоимость (товар + количество)

Необходимо сделать, чтобы при изменении количества посетитель видел финальную стоимость покупки (а не тогда, когда он уже закинул товар в корзину). Решение для простого товара // Предварительная сумма: Цена + Читать далее »

Сравнение товаров (Compare)

Сравнение товаров (Compare)

Сравнение товаров (Compare) нужно для сайта с товарами у которых есть некоторые технические характеристики. Это может быть как электроника, так и более простые вещи, например ламинат. Сделаем обзор плагинов посвященных Читать далее »

Фильтры Woocommerce

Фильтры Woocommerce

В базовую комплектацию Woocommerce входит набор виджетов для фильтрации товаров. Но данные виджеты необходимо несколько доработать. WooCommerce Навигация по слоям В этом виджете необходимо задать атрибут товара по которому будет Читать далее »

/ /

Добавить комментарий

Пока нет комментариев. Будь первым!

Вкладка Дополнительная информация
Material Design
Рекомендации для васMaterial DesignOpttour.ru
Спасибо! Наш менеджер свяжется с Вами в течении 5 минут.