/ Плагины / Специфический раздел товаров

Специфический раздел товаров

09.04.2022

610

Создадим специфический раздел товаров, который отличается от основного и версткой и частично функционал. Предположим что компания занимается продажей товаров, но при это проводит платные семинары по работе с товарами компании. Так вот создадим раздел по продаже семинаров.

Отдельный (особый) шаблон категории

В файле .woocommerce внутри темы, в условиях:

<?php if ( is_product() ) : ?>
<?php elseif ( is_shop() ) : ?>
<?php else: ?>

	<?php if ( is_product_category( 'education' ) ) : ?>
		<?php get_template_part( 'woocommerce/content-product-cat-edu' ); ?>
	<?php else: ?>		   

	<?php endif; ?> 
<?php endif; ?>

в категории education выводим шаблон content-product-cat-edu.php

Содержимое шаблона:

<h2>Офлайн курсы</h2>
<div class="edu-products">

<?php $args['post_type'] = 'product';
$args['posts_per_page'] = -1;
$args['orderby'] = 'menu_order';
$args['product_cat'] = 'offline';
query_posts( $args );
if(have_posts()) :
while(have_posts()) : the_post();
	global $product;
	echo '<div class="edu-product">';
	
		echo '<div class="edu-product-date">';
		echo '<div class="edu-date">'.get_post_meta( $product->get_id(), 'event_date_field', 1 ).'</div>';
		echo '<div class="edu-time">'.get_post_meta( $product->get_id(), 'event_time_field', 1 ).'</div>';
		echo '<div class="edu-place">'.$product->get_attribute( 'place' ).'</div>';
		echo '</div>';
		
		echo '<div class="edu-product-info">';
		echo '<h3>'.get_the_title().'</h3>';
		echo wpautop( $product->get_short_description() );
		echo '</div>';

		echo '<div class="edu-product-buy">';
		echo '<div class="edu-price">'.$product->get_price_html().'</div>';
		
		if( WC()->cart->find_product_in_cart( WC()->cart->generate_cart_id( get_the_ID() ) ) ) {
			echo '<a class="button" href="/checkout/">Оформить заказ</a>';
		} else {
			echo '<a href="'.$product->add_to_cart_url().'" data-quantity="1" class="button product_type_simple add_to_cart_button ajax_add_to_cart" data-product_id="'.$product->get_id().'" rel="nofollow">Записаться</a>';				
		}
		
		echo '</div>';
		
	echo '</div>';
endwhile; endif; wp_reset_query(); ?>

</div>

Следом можно вывести еще одну подкатегорию (например $args[‘product_cat’] = ‘online’; )

Стили шаблона:

.edu-product {
    display: flex;
    align-items: center;
    justify-content: space-between;
    margin: 0 0 30px;
    padding-bottom: 30px;
    border-bottom: 1px solid #eee;
}

.edu-product:last-child {
	border-bottom: 0;
}

.edu-product > * {
    padding: 0 30px;
}

.edu-product-date {
    min-width: 255px;
}
	
.edu-product-date .edu-date, .edu-product-date .edu-time {
    white-space: nowrap;
}	

.edu-date {
    color: #ec1002;
}

.edu-place {
    margin-top: 15px;
}

.edu-product-info p:not(:last-child) {
    margin-bottom: 15px;
}

.edu-product-buy {
    margin-left: auto;
    text-align: right;
}

.edu-price {
    margin-bottom: 15px;
    font-size: 1.4rem;
}

.edu-product-buy a {
    display: inline-block;
    white-space: nowrap;
    background: #ec1002;
}

.edu-product-buy a.added_to_cart.wc-forward {display: none;}

@media screen and (max-device-width: 800px) { 	
    .edu-product {flex-wrap: wrap;}
}

Дополнительные скрипты шаблона

Изменение кнопки Купить при клике на кнопку Оформить заказ:

jQuery(document).ready(function($){
	$('.edu-product .product_type_simple').on('click', function(){
		$(this).hide();
		$(this).after('<a class="button" href="/checkout/">Оформить заказ</a>');
	});
});

А у семинаров которые уже в корзине, при обновлении страницы, кнопка «Оформить заказ» будет выводится автоматически.

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

  • Похожие записи
  • Комментарии
  • Вложения
Подарок за покупку

Подарок за покупку

Изучим и рассмотрим такой инструмент продаж как подарок за покупку. Вариантов такого поощрения может быть масса: подарок при покупке конкретного товара (из конкретной категории), подарок при наборе в корзине определенной Читать далее »

Композитный товар

Композитный товар

Тип товар при котором состав товара собирается из других простых товаров. Реализовать функционал возможно плагином Composite Products by SomewhereWarm (90$). Создание конфигураций При создании конфигурации можно указывать товары, либо категории. Во Читать далее »

Разный порядок товаров в разных категориях

Разный порядок товаров в разных категориях

Допустим у нас есть товары которые принадлежат нескольким категориям. При этом в разных категориях одни и те же товары должны быть в разном порядке. Например в Категории 1 Товар A Читать далее »

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

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

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