Анализ сайта
Твиты
Афоризмы
Цитаты
Новости
Анализировать

WP+Woocommerce – как изменить таблицу атрибутов товара

Edit attributes Woocommerce

Стандартный вывод атрибутов товара предполагает построчное их выведение в таблицу в левом столбце которой находится название атрибута, в правом значение. Таблица будет помещена во вкладку "Дополнительно". На картинки ниже, вывод карточки товаров в стандартном wp шаблоне twentysixteen: 

 

Информацию том как работать в WooCommerce с атрибутами товаров, вынес в отдельную статью - О атрибутах товара в WooCommerce. Здесь же сосредоточимся на коде вывода и его модификации.

 

Файл отвечающий за построение таблицы на вкладке "Дополнительной информации" в карточке товара:

wp-content/plugins/woocommerce/templates/single-product/product-attributes.php

Его необходимо скопировать в вашу тему (подробнее о способах создание woocommerce темы):

wp-content/themes/*ВАША-ТЕМА*/woocommerce/single-product/product-attributes.php

Стандартное содержимое файла в Woocommerce 3.0.9

 

Файл можно разделить на два участка -

  1. Вывод веса и размеров товара;
  2. Цикл по всем атрибутам. 

 

Различные способы вывода таблицы атрибутов

 

Для того чтобы отобразить таблицу в другом месте, необходимо сначала отключить фильтром стандартный вызов шаблона атрибутов, затем добавить код вызова в том месте в котором требуется вывести атрибуты. Всё это можно реализовывать с помощью изменения стандартных событий, которых в WooCommerce добавлено достаточное количество. Подробнее о WordPress событиях (вызовы / хуки / зацепки).  

Атрибуты выводятся во вкладке "Дополнительная информация", а сами вкладки вызываются в файле "content-single-product.php" событием - 

do_action( 'woocommerce_after_single_product_summary' );

К этому событию привязаны несколько выводов - блок вкладок, блок товаров по скидке и блок рекомендуемых товаров. Чтобы отключить только вывод вкладки "Дополнительная информация", добавьте этот код, например в functions.php вашего шаблона

Как видно по закомментированным строкам, подобным образом можно удалить другие, ненужные вам вкладки. Чтобы полностью отключить вывод  вкладок, достаточно удалить событие, следующем кодом:

remove_action('woocommerce_after_single_product_summary', 'woocommerce_output_product_data_tabs',10); 

Если необходимо добавить таблицу атрибутов перед вкладками - тогда подключаем их вывод к событию "woocommerce_after_single_product_summary" с приоритетом меньше 10:

add_action('woocommerce_after_single_product_summary', 'woocommerce_product_additional_information_tab', 4);

Когда атрибутов немного, можно вывести их в правый блок под ценой, для это добавьте событие в "woocommerce_single_product_summary"

add_action('woocommerce_single_product_summary', 'woocommerce_product_additional_information_tab',70);

 

Для того чтобы не привязываться к различным событиям, а вывести шаблон атрибутов в любом необходимом вам месте (в пределах шаблонов карточки товара), можно воспользоваться следующим кодом:

do_action( 'woocommerce_product_additional_information', $product );

Обратите внимание — что при добавление  события, обязательным аргументом является объект продука. Обычно эта переменная определена в самом начале файлов шаблона карточки товара, если её нет добавьте:

global $product;

 

 

 

Tags:
1 Star2 Stars3 Stars4 Stars5 Stars6 Stars7 Stars8 Stars9 Stars10 Stars (8 votes, average: 9,88 out of 10)
Загрузка...

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