Указываем наличие каждой вариации в карточке товара

В этом уроке покажу, как можно вывести вариации товара и их количество в наличии на страницах «Магазин», категориях и метках товаров.

Также про страницу «Магазин» и про вывод товаров в ней у меня на сайте есть отдельный видеоурок, рекомендую, вот ссылка на него.

Наш пример:

Наличие каждой вариации в карточке товара WooCommerce
В данном примере в самом низу карточки товара мы вывели вариации и их наличие, в качестве вариаций у нас размеры.

Для того, чтобы вывести у себя так же, вам потребуется вставить следующий код в functions.php вашей текущей темы (предпочтительно дочерней) или создать плагин.

add_action( 'woocommerce_after_shop_loop_item', 'truemisha_variations_stock', 25 );
 
function truemisha_variations_stock(){
 
	// сразу же получаем объект товара из глобальной переменной
	global $product;
 
	// если товар не вариативный, то больше ничего делать не нужно
	if ( $product->is_type( 'variable' ) ) {
 
		echo '<p class="variations-loop">';
 
		// запускаем цикл для всех вариаций (которые с ценами)
		foreach ( $product->get_available_variations() as $variation ) {
 
			$attribute = array();
			foreach ( $variation[ 'attributes' ] as $name => $value ) {
				// $name – attribute_pa_razmer (название таксономии атрибута)
				// $value – s (ярлык атрибута)
				$attribute[] = $value;
			}
 
			if ( $variation[ 'max_qty' ] > 0 ) {
				echo '<strong>' . join( ', ', $attribute ) . ':</strong> ' . $variation[ 'max_qty' ] . ' в наличии<br>';
			} else {
				echo '<strong>' . join(', ', $attribute ) . ':</strong> нет в наличии<br>';
			}
 
		}
		echo '</p>';
 
	}
 
}

Важный момент – в настройках самих вариаций не забудьте отметить галочку «Управлять запасами?» и в ней задать «Количество в запасе», иначе ваша вариация будет отображать как не в наличии.

Миша

В последние годы я долго не знал, что мне делать с сайтом misha.blog, ведь он практически не приносит никакого профита, но недавно я осознал, что моя миссия – способствовать распространению WordPress. Ведь WordPress – это лучший движок для разработки сайтов – как для тех, кто готов использовать заложенную структуру этой CMS, так и для тех, кто предпочитает headless решения.

Сам же я впервые познакомился с WordPress в 2009 году. Организатор WordCamp. Преподаватель в школах Epic Skills и LoftSchool.

Если вам нужна помощь с вашим сайтом или может даже разработка с нуля на WordPress / WooCommerce — пишите. Я и моя команда сделаем вам всё на лучшем уровне.

Оставить комментарий

Если вы хотите добавить код, не забудьте обернуть его в <pre lang="php"></pre>, если же код – меньше одной строчки, то можно и в <code></code>.