/ Плагины / Шорткод вывода товаров по метке

Шорткод вывода товаров по метке

HIT

26.08.2016

4154

Иногда требуется быстро вывести товары с определенной меткой. Данный шорткод проверял лично — работает.

// Шорткод для вывода товаров по метке
function woo_products_by_tags_shortcode( $atts, $content = null ) {
	// Get attribuets
	extract(shortcode_atts(array(
	"tags" => ''
	), $atts));

	ob_start();

	// Define Query Arguments
	$args = array(
		'post_type' => 'product',
		'posts_per_page' => 10,
		'product_tag' => $tags
	);

	// Create the new query
	$loop = new WP_Query( $args );

	// Get products number
	$product_count = $loop->post_count;

	if( $product_count > 0 ) :

		echo '<div class="tax-product_tag woocommerce-page"><div class="woocommerce"><ul class="products">';

		while ( $loop->have_posts() ) : $loop->the_post(); global $product;
			wc_get_template_part( 'content', 'product' );
		endwhile;

		echo '</ul></div></div>';
		
	else :

		_e('No product matching your criteria.');

	endif; // endif $product_count > 0

	return ob_get_clean();
}

add_shortcode("woo_products_by_tags", "woo_products_by_tags_shortcode");

Шорткод выглядит так:

[woo_products_by_tags tags="shoes,socks"]

Вывод товаров по метке без шорткода

Без шорткода товары по метке (product_tag) выводятся так:

<h2 class="index">Под заказ</h2>  
<div class="carousel"><div class="multiple-items woocommerce products">
  
<?php $args = array(
	'post_type' => 'product',
	'posts_per_page' => 4,
	'columns' => 4,
	'tax_query' => array(
		array(
			'taxonomy' => 'product_tag',
			'field' => 'slug',
			'terms' => 'zakaz'
		)
	)
);
$myposts = get_posts( $args );
foreach( $myposts as $post ) : setup_postdata($post); ?>

	<div <?php post_class( $classes ); ?>><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></div>

<?php endforeach; ?>
<?php wp_reset_postdata() ?>
  
</div></div>

В данном примере также приведена верстка для функционала карусели

Более простой вывод товаров по метке (параметр product_tag):

<div class="carousel"><ul class="multiple-items woocommerce products">
<?php query_posts($query_string.'&post_type=product&posts_per_page=10&product_tag=action');
if(have_posts()) :
while(have_posts()) : the_post();
	get_template_part('solus-product');
endwhile; endif; ?>
</ul></div>

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

  • Похожие записи
  • Комментарии
  • Вложения
Выравнивание миниатюр товаров

Выравнивание миниатюр товаров

Идеальная ситуация, когда мы загружаем изображения для товаров (хотя бы для главного изображения) квадратными. т.е. заранее подготовленными, откадрированными. Но бывают случаи, когда на сайт начинают заливаться изображения разных пропорций. Сделаем Читать далее »

/
Переключение вида вывода товаров

Переключение вида вывода товаров

Для разных людей по разному удобно просматривать товары: когда они строятся в виде плиток, либо в линию или другими способами. Добавим на сайт функционал переключения вида отображения товаров в архивах. Читать далее »

/
Добавление полей при оформлении заказа

Добавление полей при оформлении заказа

Добавляем поля для шаблона Оформление заказа Woocommerce. Стандартные поля Woocommerce делятся на 3 группы: поля оплаты (billing) поля доставки (shipping) поля аккаунта (account) Добавляем текстовое поле в стандартные группы WC Читать далее »

/

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

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

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