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

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

HIT

22.11.2018

9399

1

Зафиксировать шаблон (код) вывода категорий 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>  

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

  • Похожие записи
  • Комментарии
  • Вложения
Акция 20% на каждый второй и 30% на каждый 3 товар

Акция 20% на каждый второй и 30% на каждый 3 товар

Немного измененный и доработанный вариант акции (20% на 3 товар, 30% на 4 товар). В данном случае немного изменен принцип применения акции. Если в предыдущем примере акция применялась буквально к Читать далее »

Watermark для изображений товаров (обзор плагинов)

Watermark для изображений товаров (обзор плагинов)

Рассмотрим различные плагины по добавлению водяного знака (watermark) на изображения товаров. WooCommerce Products Image Watermark (BeRocket) Плагин не понравился. Логотип добавляется только одним способом, с указанием положения. Можно перезагрузить загруженные Читать далее »

Общая библиотека мультисети

Общая библиотека мультисети

При создании сети (multisite) сайтов возникла проблема с медиабиблиотекой. Проблема состояла в том что главный сайт уже долгое время функционирует, на нем более 500 товаров с несколькими изображениями в каждом. Читать далее »

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

1 комментарий

  1. marina

    Вы мне спасли жизнь этой статьей! Продолжайте делиться такими способами правки кода, который можно использовать без прикручивания многотонных плагинов! Благодарность к вам  от меня — бемерная!

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