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

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

22.11.2018

396

Зафиксировать шаблон (код) вывода категорий 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; // конец условия - если есть дочерние термины таксономии ?>

Тэги:

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

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

Upgrade WC

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

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

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

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

Шорткод вывода товаров по метке

Шорткод вывода товаров по метке

Иногда требуется быстро вывести товары с определенной меткой. Данный шорткод еще не испытывал. // Шорткод для вывода товаров по метке function woo_products_by_tags_shortcode( $atts, $content = null ) { // Get Читать далее »

/

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

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

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