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

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

HIT

17.07.2017

2513

У товаров 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 );

Поделиться в соц. сетях:

  • Похожие записи
  • Комментарии
  • Вложения
Upgrade WC

Upgrade WC

Очередная серия улучшений (upgrade) плагина WC. Буду добавлять по мере изучения новые решения. Поиск по SKU (артикулу) Из коробки WC не ищет по артикулам (SKU). Но достаточно установить плагин Search Читать далее »

/
Кастомный метод платежа

Кастомный метод платежа

Создадим собственный метод платежа. Это может быть простой не предусмотренный изначально в WC метод: оплата курьеру картой, квитанция и прочие. Добавление подобных способов оплаты поможет на более раннем этапе понять Читать далее »

Массовое изменение метаполей

Массовое изменение метаполей

Известная проблема/неудобство wordpress — обновление метаполей, т.е. чтобы обновить метаполе необходимо войти в запись и обновить ее. Массовое редактирование (например поменять статус записей или т.п.) в данном случае не помогает Читать далее »

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

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

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