Як відображати товари WooCommerce у вигляді таблиці тільки на сторінках обраних категорій
Іноді потрібно показувати товари інтернет-магазину у вигляді таблиці, але тільки на сторінках певних категорій. Наприклад, якщо у вас є категорія Продукти, ви хочете, щоб таблиця товарів автоматично відображалась тільки там. У цьому матеріалі розберемо, як це реалізувати за допомогою плагіна WooCommerce Product Table Lite та невеликого коду.
Що потрібно для реалізації
- WooCommerce – для створення магазину.
- WooCommerce Product Table Lite – для відображення товарів у вигляді таблиці.
- Code Snippets – для додавання PHP-коду без редагування файлів теми.
Крок 1. Встановіть плагіни
- WooCommerce
- WooCommerce Product Table Lite
- Code Snippets
Крок 2. Створіть таблицю товарів
- Перейдіть у панель керування WordPress → WooCommerce → Product Table → Add New.
- Налаштуйте таблицю: виберіть колонки, пагінацію, сортування.
- Збережіть таблицю та скопіюйте її ID (наприклад,
249).
Крок 3. Додайте динамічний шорткод
- Перейдіть у WordPress → Code Snippets → Додати новий.
- Назвіть сніпет: Динамічна таблиця товарів по категорії.
- Вставте цей код:
add_shortcode('product_table_dynamic', function() {
if (is_product_category()) {
$category = get_queried_object();
// Якщо це підкатегорія, де є товари
if ($category && !is_wp_error($category) && isset($category->term_id)) {
$children = get_term_children($category->term_id, 'product_cat');
if (empty($children)) {
// Це кінцева категорія (немає підкатегорій)
return do_shortcode('[product_table id="249" category="' . $category->slug . '"]');
}
}
}
return '';
});
Замініть 249 на ID вашої таблиці. Збережіть і активуйте сніпет.
Крок 4. Використовуйте шорткод на сторінці
Щоб відобразити таблицю, вставте цей шорткод у редакторі сторінки або у шаблоні сторінки категорії:
[product_table_dynamic]
Крок 5. Як це працює
- На сторінках категорій WooCommerce таблиця показує товари саме з цієї категорії.
- На інших сторінках таблиця не відображається.
Додатково: Ручне використання
Якщо потрібно відобразити таблицю для конкретної категорії на будь-якій сторінці, використовуйте базовий шорткод:
[product_table id="249" category="slug-kategorii"]
Замість slug-kategorii вкажіть ярлик (slug) вашої категорії.
Підсумок
Завдяки цьому рішенню ви можете легко відображати таблицю товарів тільки на потрібних категоріях. Це зручно для великих магазинів із багатьма категоріями, де потрібне автоматичне фільтрування товарів на основі вибраної сторінки.
Додатково: Приховування таблиці, якщо немає товарів
Якщо потрібно повністю приховати таблицю, якщо у категорії немає товарів, додайте цей код у футер сайту або в Code Snippets:
<script>
document.addEventListener("DOMContentLoaded", function() {
const tableWrapper = document.querySelector('#wcpt-249');
if (tableWrapper && tableWrapper.querySelector('.wcpt-no-results')) {
tableWrapper.style.display = 'none';
}
});
</script>

