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

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

HIT

09.04.2022

1477

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

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

В файле .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>');
	});
});

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

[site-socialshare]
  • Похожие записи
  • Комментарии
  • Вложения
Отключаем стандартные метабоксы

Отключаем стандартные метабоксы

Отключая стандартные метабоксы, мы фактически избавляемся изначально от лишнего функционала. При отключении метабоксов мы также отключаем сами поля, что позволяет существенно разгрузить таблицу wp_postmeta (особенно если у сайта несколько тысяч Читать далее »

Хуки для woocommerce

Хуки для woocommerce

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

/
Отзывы к товарам

Отзывы к товарам

Рассмотрим различные аспекты такого функционала WC как отзывы к товарам. Изображения в отзывах Плагин YITH WooCommerce Advanced Reviews (6000) добавляет в комментарии поле изображение (можно добавлять несколько) и заголовок. Также Читать далее »

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

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 минут.