FAQ (Najczęściej zadawane pytania)
Moduł FAQ umożliwia tworzenie i wyświetlanie sekcji najczęściej zadawanych pytań w sklepie. Pytania są przechowywane jako osobny typ wpisu (CPT) z własną taksonomią kategorii, co pozwala na elastyczne zarządzanie i wyświetlanie.
Włączenie modułu
Dział zatytułowany „Włączenie modułu”Przejdź do WooCommerce > Polski > Moduły sklepowe i włącz FAQ (ID modułu: faq).
Po włączeniu w menu admina pojawi się nowa pozycja FAQ z podstronami do zarządzania pytaniami i kategoriami.
Panel administracyjny
Dział zatytułowany „Panel administracyjny”Zarządzanie pytaniami FAQ odbywa się w FAQ (edit.php?post_type=polski_faq). Interfejs działa identycznie jak standardowe wpisy WordPress.
Dodawanie pytania
Dział zatytułowany „Dodawanie pytania”- Przejdź do FAQ > Dodaj nowe
- W polu tytułu wpisz treść pytania
- W edytorze wpisz odpowiedź (obsługiwany jest pełny edytor blokowy)
- Przypisz kategorię FAQ (opcjonalnie)
- Ustaw kolejność wyświetlania w polu Kolejność (menu_order)
- Opublikuj
Kategorie FAQ
Dział zatytułowany „Kategorie FAQ”Taksonomia faq_category pozwala grupować pytania tematycznie. Zarządzanie kategoriami: FAQ > Kategorie FAQ.
Przykładowe kategorie:
- Zamówienia i płatności
- Dostawa i zwroty
- Konto klienta
- Produkty
Shortcode [polski_faq]
Dział zatytułowany „Shortcode [polski_faq]”Wyświetla listę pytań FAQ w formie akordeonu CSS.
Parametry
Dział zatytułowany „Parametry”| Parametr | Typ | Domyślnie | Opis |
|---|---|---|---|
category | string | (pusty) | Slug kategorii FAQ do wyświetlenia |
limit | int | -1 | Maksymalna liczba pytań (-1 = wszystkie) |
orderby | string | menu_order | Pole sortowania: menu_order, title, date |
order | string | ASC | Kierunek sortowania: ASC lub DESC |
Przykłady użycia
Dział zatytułowany „Przykłady użycia”Wyświetl wszystkie pytania:
[polski_faq]Wyświetl pytania z kategorii “dostawa”:
[polski_faq category="dostawa" limit="5"]Wyświetl 10 najnowszych pytań:
[polski_faq limit="10" orderby="date" order="DESC"]Użycie w szablonie PHP
Dział zatytułowany „Użycie w szablonie PHP”echo do_shortcode('[polski_faq category="zamowienia" limit="10"]');Akordeon CSS
Dział zatytułowany „Akordeon CSS”Pytania wyświetlają się jako akordeon - kliknięcie pytania rozwija odpowiedź. Akordeon działa w całości na CSS (bez JavaScript), co zapewnia maksymalną wydajność.
Mechanizm opiera się na elemencie HTML <details> z <summary>:
<div class="polski-faq"> <details class="polski-faq__item"> <summary class="polski-faq__question">Jak złożyć zamówienie?</summary> <div class="polski-faq__answer"> <p>Aby złożyć zamówienie, dodaj produkty do koszyka...</p> </div> </details></div>Klasy CSS
Dział zatytułowany „Klasy CSS”.polski-faq- kontener FAQ.polski-faq__item- pojedyncze pytanie (element<details>).polski-faq__question- treść pytania (element<summary>).polski-faq__answer- treść odpowiedzi.polski-faq__category- nagłówek kategorii (gdy wyświetlane z grupowaniem)
Dostosowanie wyglądu
Dział zatytułowany „Dostosowanie wyglądu”/* Zmiana koloru tła aktywnego pytania */.polski-faq__item[open] .polski-faq__question { background-color: #f0f0f0;}
/* Zmiana ikony rozwinięcia */.polski-faq__question::marker { content: "+";}
.polski-faq__item[open] .polski-faq__question::marker { content: "-";}Schema.org FAQPage
Dział zatytułowany „Schema.org FAQPage”Moduł automatycznie generuje znaczniki Schema.org FAQPage w formacie JSON-LD na stronach zawierających shortcode [polski_faq]:
{ "@context": "https://schema.org", "@type": "FAQPage", "mainEntity": [ { "@type": "Question", "name": "Jak złożyć zamówienie?", "acceptedAnswer": { "@type": "Answer", "text": "Aby złożyć zamówienie, dodaj produkty do koszyka..." } }, { "@type": "Question", "name": "Jaki jest czas dostawy?", "acceptedAnswer": { "@type": "Answer", "text": "Standardowy czas dostawy to 2-3 dni robocze..." } } ]}Znaczniki FAQPage pozwalają Google wyświetlać pytania i odpowiedzi bezpośrednio w wynikach wyszukiwania (rich snippets).
Wyłącz Schema.org:
add_filter('polski/faq/schema_enabled', '__return_false');// Zmiana argumentów zapytania FAQadd_filter('polski/faq/query_args', function (array $args): array { $args['posts_per_page'] = 20; return $args;});
// Modyfikacja HTML odpowiedzi przed wyświetleniemadd_filter('polski/faq/answer_html', function (string $html, int $post_id): string { return wp_kses_post($html);}, 10, 2);// Dodaj własny element przed sekcją FAQadd_action('polski/faq/before', function (): void { echo '<h2>Masz pytania? Oto odpowiedzi:</h2>';});
// Dodaj własny element po sekcji FAQadd_action('polski/faq/after', function (): void { echo '<p>Nie znalazłeś odpowiedzi? <a href="/kontakt">Skontaktuj się z nami</a>.</p>';});Rozwiązywanie problemów
Dział zatytułowany „Rozwiązywanie problemów”Shortcode wyświetla pusty kontener - sprawdź, czy masz opublikowane pytania FAQ. Wersje robocze i zaplanowane nie są wyświetlane.
Akordeon nie działa - upewnij się, że motyw nie blokuje elementu <details>. Niektóre resetowe arkusze CSS mogą ukrywać ten element.
Schema.org nie pojawia się - zweryfikuj znaczniki narzędziem Google Rich Results Test. Upewnij się, że shortcode jest na stronie (nie w widgecie sidebar).
Zgłaszanie problemów: github.com/wppoland/polski/issues