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

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

HIT

22.11.2018

10773

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>  
[site-socialshare]
  • Похожие записи
  • Комментарии
  • Вложения
Фильтры Woocommerce

Фильтры Woocommerce

В базовую комплектацию Woocommerce входит набор виджетов для фильтрации товаров. Но данные виджеты необходимо несколько доработать. WooCommerce Навигация по слоям В этом виджете необходимо задать атрибут товара по которому будет Читать далее »

/ /
Upgrade WC

Upgrade WC

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

/
Подарочные сертификаты

Подарочные сертификаты

Рассмотрим такой инструмент маркетинга как подарочные сертификаты, в ракурсе продажи его электронной версии. PW WooCommerce Gift (10 000) Алгоритм следующий: создает новый тип товара PW Gift Card. В котором можно Читать далее »

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

Notice: Функция WP_Styles::add вызвана неправильно. Стиль с дескриптором "editor-buttons" был поставлен в очередь с незарегистрированными зависимостями: dashicons. Дополнительную информацию можно найти на странице «Отладка в WordPress». (Это сообщение было добавлено в версии 6.9.1.) in /home/t/tiberi6w/opttour.ru/public_html/wp-includes/functions.php on line 6260

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

  1. marina

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

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