/ Сайтостроение / Плагины / Шаблон вывода категорий woocommerce

Шаблон вывода категорий woocommerce

HIT

22.11.2018

1666

Зафиксировать шаблон (код) вывода категорий Woocommerce (я его назвал product-cat-list.php). Обычно я вывожу этот шаблон на стандартной странице /shop/

Шаблон вывода категорий

<div id="subcategory-archive">

<?php $terms = get_terms( array(
	'taxonomy' => 'product_cat',
	'hide_empty' => true,
	'pad_counts'=> true,
	'orderby' => 'name',
	'parent' => 0
) ); ?>  

<?php if($terms) : ?>
<?php foreach($terms as $term) : ?>

	<div class="subcategory"> 

	<a class="subcategory-image" href="<?php echo get_term_link($term->term_id);?>"><?php woocommerce_subcategory_thumbnail( $term );  ?></a>
	<h2 class="subcategory-title"><a href="<?php echo get_term_link($term->term_id);?>"><?php echo $term->name;?></a></h2>
	<p class="count"><?php if ($term->count > 0) : ?><?php echo $term->count; ?><?php else: ?>0<?php endif; ?></p>  
	<!--<div class="subcategory-descripton"><p><?php //if($term->description) : ?><?php //echo $term->description; ?><?php //else: ?>Описание термина таксономии<?php //endif; ?></p></div>-->

	<?php // Создаем массив терминов детей текущего термина текущей таксономии
	$tax = $term->taxonomy;
	$children_terms = get_terms( array(
		'taxonomy' => $tax,
		'hide_empty' => false,
		'parent' => $term->term_id
	) ); ?>

	<?php if($children_terms): // если есть дочерние категории ?>
	<ul><?php foreach ($children_terms as $children_term) : ?>
	<?php $link = get_term_link($children_term); ?>

		<li><a href="<?php echo $link ?>";><?php echo $children_term->name ?></a></li>
		<!--<p class="count"><?php //echo $children_term->count ?></p>-->

	<?php endforeach; ?></ul>
	<?php endif; // конец условия - если есть дочерние термины таксономии ?>  

	</div>

<?php endforeach; ?>
<?php endif; ?> 
  
</div>

Пересчет товаров во всех подкатегориях

В шаблоне выше выводится количество товаров в категориях, кол-во товаров в подкатегориях скрыто. Но тогда когда у нас есть подкатегории с товарами — необходимо считать товары во всех подкатегориях:

<?php if($children_terms): // если есть дочерние категории ?>
<ul><?php foreach ($children_terms as $children_term) : ?>
<?php $link = get_term_link($children_term); ?>

	<li><a href="<?php echo $link ?>";><?php echo $children_term->name; ?></a>
	<?php echo $children_term->count; ?></li>
	<?php $summ[] = $children_term->count; // запись в массив кол-ва товаров из каждой подкатегории ?>

<?php endforeach; ?></ul>
<?php echo array_sum($summ); $summ = []; // вывод общего количества товаров и обнуление массива ?>
<?php endif; // конец условия - если есть дочерние термины таксономии ?>

Шаблон вывода меток товаров

Этот шаблон аналогичен шаблону вывода категорий, но есть 2 особенности: у данной таксономии нет вложенности, а также нет изображения термина таксономии (нужно делать с помощью плагина Taxonomy term image master).

<div class="subcategory-archive">

	<?php $terms = get_terms( array(
		'taxonomy' => 'product_tag',
		'hide_empty' => true,
		'pad_counts'=> true,
		'orderby' => 'name',
		'parent' => 0
	) ); ?>  

	<?php if($terms) : ?>
	<?php foreach($terms as $term) : ?>

	<div class="subcategory"> 

		<a class="subcategory-image" href="<?php echo get_term_link($term->term_id);?>"><div class="imagewrapper"><?php if ( $term->term_image ) { echo wp_get_attachment_image( $term->term_image, 'shop_catalog' ); } ?></div></a>
		<h2 class="subcategory-title"><a href="<?php echo get_term_link($term->term_id);?>"><?php echo $term->name;?></a></h2>
		<!--<p class="count"><?php //if ($term->count > 0) : ?><?php //echo $term->count; ?><?php //else: ?>0<?php //endif; ?></p>-->
		<!--<div class="subcategory-descripton"><p><?php //if($term->description) : ?><?php //echo $term->description; ?><?php //else: ?>Описание термина таксономии<?php //endif; ?></p></div>--> 

	</div>

	<?php endforeach; ?>
	<?php endif; ?> 
  
</div>  

Тэги:

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

  • Похожие записи
  • Комментарии
  • Вложения
Вариативный товар

Вариативный товар

Вариативный товар — один из типов товаров плагина интернет-магазина Woocommerce. Суть вариативного товара в том, что мы создаем несколько вариантов исполнения одного товара (размер, цвет, емкость и т.д.), и в Читать далее »

Статусы заказов

Статусы заказов

Как и любой интернет-магазин Woocommerce присваивает заказам определенные статусы в зависимости от отплаты и формирования заказа. Существует 7 различных статусов заказа: В ожидании оплаты (Pending payment) Обработка (Processing) На удержании Читать далее »

Хлебные крошки WC

Хлебные крошки WC

Хлебные крошки WC имеют свои особенности. Их невозможно заменить стандартными хлебными крошками, т.к. в них еще не предусмотрена система для иерархических таксономий. Выводим хлебные крошки Первым делом надо назначить хлебные Читать далее »

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

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

Шаблон вывода категорий woocommerce
Эффекты с border
Рекомендации для васЭффекты с borderOpttour.ru
Спасибо! Наш менеджер свяжется с Вами в течении 5 минут.