@kuzubina

Как кастомизировать карточку товара WooCommerce?

Подскажите плиз) Нужно на главной странице в слайдер вывести все товары определенной категории в свою разметку html и изменить выбор вариации с селектов на чекбоксы.
Как это сделать? В кукую сторону копать? Может можно как-то циклом вывести как посты и получать все необходимые поля (title, thumbnail и т.п.) и вставлять в свою разметку?
  • Вопрос задан
  • 107 просмотров
Пригласить эксперта
Ответы на вопрос 2
@vardoLP
Ват ю сэй эбаут май мама?!
вот тут написано. По сути, товар в woo это обычная запись со своими полями. Почитайте как вывести циклом, сделайте и в print_r посмотрите какие данные доступны в массиве.
Ответ написан
Комментировать
artzolin
@artzolin Куратор тега WordPress
php, WordPress разработка сайтов artzolin.ru
Вот так получаем и выводим 5 последних товаров из категории "Рождество":

// задаем нужные нам критерии выборки данных из БД
$args = array(
	'posts_per_page' => 5,
	'post_type' => 'product',
	'tax_query' => array(
		array(
			'taxonomy' => 'product_cat',
			'field' => 'slug',
			'terms' => 'сhristmas'
		)
	)
);

$query = new WP_Query( $args );

// Цикл
if ( $query->have_posts() ) {
	echo '<ul class="slider">';
	while ( $query->have_posts() ) {
		$query->the_post();
		echo '<li class="slider__item">' . get_the_title() . '</li>';
	}
	echo '</ul>';
} else {
	// Постов не найдено
}
// Возвращаем оригинальные данные поста. Сбрасываем $post.
wp_reset_postdata();


Теперь берете понравившийся слайдер, я советую slick slider или owlcarousel. Скрипты подключаете через wp_enqueue_script(), стили - wp_enqueue_style()

В конце не забываем про инициализацию слайдера:

$(document).ready(function(){
	$('.slider').slick({
		setting-name: setting-value
	});
});


Это или в отдельном js-файле, или с помощью wp_add_inline_script() на зависимость от основного slick-скрипта
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы