/ Сайтостроение / Плагины / Подкатегория за подкатегорией

Подкатегория за подкатегорией

19.09.2018

132

В одной из ранних статей мы отдельно от основного вывода WC выводили подкатегории. В этой статье мы усложним код вывода категорий и сделаем у категорий и вывод товаров. Это даст нам решение: подкатегория -> товары, подкатегория -> товары … и т.д.

Данное решение с успехом можно применить, когда мы используем Woocommerce в виде каталога или прайса.

Доработка функции вывода подкатегорий

Жирным выделена новая часть, которую я добавил в предыдущее решение

function tutsplus_product_subcategories( $args = array() ) {
	if ( !is_search() ) { 
		$parentid = get_queried_object_id();
		$args = array(
			'parent' => $parentid
		);
		$terms = get_terms( 'product_cat', $args );
		if ( $terms ) { 
			echo '<ul class="product-cats">';
				foreach ( $terms as $term ) {
					echo '<li>';                 
					echo '<a href="'.esc_url( get_term_link($term) ).'" class="'.$term->slug.'">';         
					woocommerce_subcategory_thumbnail($term);
					echo '<h3>'.$term->name.'</h3>';
					echo '</a>';

					global $post; // !Обязательно заглобалить
					echo '<ul class="products">';
						$args = array(
							'post_type' => 'product',
							'posts_per_page' => 20,
							'product_cat' => $term->slug
						);
						$myposts = get_posts($args);
						foreach( $myposts as $post ) {
							setup_postdata($post);
							get_template_part('solus-product');
						}
						wp_reset_postdata();
					echo '</ul>';
				}
			echo '</ul>';
		}  
	}
}
add_action( 'woocommerce_before_shop_loop', 'tutsplus_product_subcategories', 61 );

Обращаю внимание на строку get_template_part(‘solus-product’); в этом шаблоне содержится стандартный вывод товара WC

<li <?php wc_product_class(); ?>><span>
	<?php do_action('woocommerce_before_shop_loop_item');
	do_action('woocommerce_before_shop_loop_item_title');
	do_action('woocommerce_shop_loop_item_title');
	do_action('woocommerce_after_shop_loop_item_title');
	do_action('woocommerce_after_shop_loop_item'); ?>
</span></li>

Плагины

Nested Category Layout стоимость 79$ (19.19.2018)

Вывод миниатюры категории произвольного размера

<?php global $wp_query;
$cat = $wp_query->get_queried_object();
$thumbnail_id = get_woocommerce_term_meta( $term->term_id, 'thumbnail_id', true ); 
$image = wp_get_attachment_url( $thumbnail_id ); 
echo "<img src='{$image}' alt='' />";  ?>

Если использовать шаблон product-cat-list.php, то первые две строки необязательны.

Тэги:

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

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

Изменение формы выбора вариаций

По умолчанию вариации товара в Woocommerce выбираются из выпадающего списка. Это не всегда удобно. Доработать формы выбора вариаций в виде: изображений, цветов, надписей (лэйблов) и т.д. помогут плагины. Рассмотрим различные Читать далее »

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

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

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

Настраиваем woocommerce

Настраиваем woocommerce

Настраиваем различные аспекты плагина woocommerce, под текущие задачи. Ваша корзина пуста Шаблон для настроек страницы корзины (когда она пуста) находится здесь: woocommerce (локализованная в теме)/cart/cart-empty.php Можно отцентрировать и добавить какое-либо Читать далее »

/

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

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

Подкатегория за подкатегорией Подкатегория за подкатегорией
Подгрузка постов «налету» I: Скроллинг
Рекомендации для васПодгрузка постов «налету» I: СкроллингOpttour.ru
Спасибо! Наш менеджер свяжется с Вами в течении 5 минут.