Каталог товарів: сортування, картки й ціни
Сторінка магазину WooCommerce у вашій верстці: угорі заголовок і кілька рядків, нижче — сортування й картки товарів із цінами. Нові товари з’являються в каталозі самі.
Що вийде
<body wp-fields-group="Shop">
<header class="shop-hero">
<h1 wp="post-title">Beans</h1>
<p class="shop-hero__lead" fld-area="Shop lead">Roasted on Mondays, shipped on Tuesdays.</p>
</header>
<form class="sort" wp="sort">
<select class="sort__select" wp="orderby">
<option value="menu_order">Default</option>
<option value="price">Price: low to high</option>
</select>
</form>
<div class="beans" wp="products">
<div class="bean-card">
<a href="#" wp="post-link"><img src="images/bean.jpg" alt="" wp="post-image"></a>
<h3><a href="#" wp="post-title-link">Ethiopia Yirgacheffe</a></h3>
<div class="bean-card__prices">
<span wp="product-price">$14.00</span>
<span wp="product-price-sale">$12.00</span>
<span class="is--old" wp="product-price-regular">$14.00</span>
</div>
</div>
</div>
<div class="beans__empty" wp="no-results">No beans match.</div>
<div class="pagination" wp-paginate="mid_size=1"></div>
</body>- Title: Beans
- WooCommerce → Settings → Products → Shop page: Beans
- Ethiopia Yirgacheffe — $14.00
- Colombia Huila — $13.00
- Brazil Cerrado — $11.00
- House blend “Warm” — $12.00
Roasted on Mondays, shipped on Tuesdays.
Price: low to highПокупець вибрав «Price: low to high» — картки змінили порядок.
Покроково
Заголовок і вступний текст
wp="post-title" і fld-area над картками читають сторінку магазину — ту, що вибрана в WooCommerce → Налаштування → Товари. Клієнт редагує її як звичайну сторінку.
<h1 wp="post-title">Beans</h1> <p class="shop-hero__lead" fld-area="Shop lead">Roasted on Mondays, shipped on Tuesdays.</p>
Сортування
<form wp="sort">із<select wp="orderby">усередині. Значення варіантів — способи сортування WooCommerce:menu_order,price,price-desc,date,popularity,rating.<form class="sort" wp="sort"> <select class="sort__select" wp="orderby"> <option value="menu_order">Default</option> <option value="price">Price: low to high</option> </select> </form>
Картки товарів
wp="products" на сітці, перша картка — зразок. У ній — посилання, картинка, назва й три блоки ціни: тема сама сховає зайві. Поруч —
wp="no-results".<div class="beans" wp="products"> <div class="bean-card"> <a href="#" wp="post-link"><img src="images/bean.jpg" alt="" wp="post-image"></a> <h3><a href="#" wp="post-title-link">Ethiopia Yirgacheffe</a></h3> <div class="bean-card__prices"> <span wp="product-price">$14.00</span> <span wp="product-price-sale">$12.00</span> <span class="is--old" wp="product-price-regular">$14.00</span> </div> </div> </div> <div class="beans__empty" wp="no-results">No beans match.</div>
Номери сторінок
wp-paginate на порожньому блоці після сітки.
<div class="pagination" wp-paginate="mid_size=1"></div>
Що важливо
- Потрібен WooCommerce.
- Якщо окремого
taxonomy-product-cat.htmlнемає, рубрики товарів відкриваються цим самим шаблоном, іwp="products"покаже товари відкритої рубрики. - Товари на іншій сторінці, наприклад на головній, виводить
wp-product-query.
Типові помилки
Журнал збирання — вкладка «Логи» вашого проєкту на themeforge.pro; ті самі зауваження показує безплатна перевірка розмітки.
<div class="beans" wp-query="'post_type'=>'product','posts_per_page'=>12">
<div class="bean-card">
<h3 wp="post-title">Ethiopia Yirgacheffe</h3>
</div>
</div>wp-query замість wp="products" показує власну вибірку: сортування й рубрики товарів на неї не впливають. Журнал мовчить.
<div class="beans" wp="products">
<div class="bean-card">
<h3 wp="post-title">Ethiopia Yirgacheffe</h3>
</div>
</div>wp="products" — товари, які WooCommerce відібрав для цієї сторінки.
<select class="sort__select" wp="orderby">
<option value="price">Price: low to high</option>
</select>Список сортування без своєї форми: збирання записує атрибут у журнал, і він нічого не робить.
<form class="sort" wp="sort">
<select class="sort__select" wp="orderby">
<option value="price">Price: low to high</option>
</select>
</form>Список усередині <form wp="sort">.