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

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

HIT

19.09.2018

2555

В одной из ранних статей мы отдельно от основного вывода 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_term_meta( $term->term_id, 'thumbnail_id', true );  
$image = wp_get_attachment_url( $thumbnail_id );  
echo "<img src='{$image}' alt='' />";  ?>

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

[site-socialshare]
  • Похожие записи
  • Комментарии
  • Вложения
Новинка (товар NEW полем)

Новинка (товар NEW полем)

Ранее были рассмотрены варианты добавления лэйбла New полуавтоматическим способом (последние созданные товары, либо по времени от текущего), либо назначением метки NEW. Здесь разберем как сделать данный функционал полем и какие Читать далее »

/
Хуки для woocommerce

Хуки для woocommerce

Здесь собраны наиболее востребованные хуки woocommerce, которые могут пригодится при настройке любого интернет-магазина. С другими полезными хуками можно ознакомиться здесь Необходимые части кода вставляем в файл functions (лучше использовать отдельный Читать далее »

/
WooCommerce AJAX Products Filter

WooCommerce AJAX Products Filter

Раннее данный фильтр участвовал в общем обзоре, в котором я приводил основные особенности. Рассмотрим подробнее работу с фильтром WooCommerce AJAX Products Filter (также он называется Advanced AJAX Product Filters). Работа Читать далее »

/

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

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

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

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