Przejdź do głównej zawartości

Nadpisywanie szablonów

System szablonów wzorowany na WooCommerce. Nadpisz dowolny szablon kopiując go do yourtheme/polski/ w motywie.

  1. Znajdź oryginalny szablon w katalogu wtyczki: wp-content/plugins/polski/templates/
  2. Skopiuj plik do katalogu motywu: wp-content/themes/twoj-motyw/polski/
  3. Zachowaj strukturę podkatalogów
  4. Zmodyfikuj skopiowany plik

Wtyczka automatycznie użyje szablonu z motywu zamiast domyślnego.

Przykład: aby nadpisać szablon ceny Omnibus, skopiuj:

wp-content/plugins/polski/templates/omnibus/price-display.php

do:

wp-content/themes/twoj-motyw/polski/omnibus/price-display.php

Przy motywie potomnym umieszczaj szablony w katalogu potomnego. Kolejność szukania:

  1. wp-content/themes/motyw-potomny/polski/
  2. wp-content/themes/motyw-rodzic/polski/
  3. wp-content/plugins/polski/templates/
Plik szablonuOpis
omnibus/price-display.phpWyświetlanie ceny Omnibus
omnibus/price-history.phpHistoria cen (tabela)
gpsr/product-info.phpInformacje GPSR na stronie produktu
gpsr/safety-sheet.phpKarta bezpieczeństwa produktu
withdrawal/form.phpFormularz odstąpienia od umowy
withdrawal/confirmation.phpPotwierdzenie złożenia odstąpienia
withdrawal/email.phpSzablon e-maila potwierdzenia
dsa/report-form.phpFormularz zgłoszenia DSA
dsa/report-confirmation.phpPotwierdzenie zgłoszenia DSA
gdpr/consent-checkboxes.phpCheckboxy zgód RODO
ksef/invoice-template.phpSzablon faktury KSeF
greenwashing/product-claims.phpOświadczenia środowiskowe produktu
legal-pages/terms-template.phpSzablon regulaminu sklepu
legal-pages/privacy-template.phpSzablon polityki prywatności
legal-pages/withdrawal-template.phpSzablon informacji o odstąpieniu
Plik szablonuOpis
prices/unit-price.phpCena jednostkowa
prices/vat-notice.phpInformacja o VAT i dostawie
prices/delivery-time.phpSzacowany czas dostawy
manufacturer/info.phpInformacje o producencie
manufacturer/logo.phpLogo producenta
Plik szablonuOpis
food/nutrients-table.phpTabela wartości odżywczych
food/allergens-list.phpLista alergenów
food/nutri-score.phpOznaczenie Nutri-Score
Plik szablonuOpis
checkout/button-label.phpEtykieta przycisku zamówienia
checkout/legal-checkboxes.phpCheckboxy prawne na kasie
checkout/nip-field.phpPole NIP z autouzupełnianiem
checkout/doi-notice.phpKomunikat double opt-in
Plik szablonuOpis
wishlist/table.phpTabela listy życzeń
wishlist/button.phpPrzycisk dodania do listy
wishlist/header-icon.phpIkona w nagłówku
compare/table.phpTabela porównania
compare/button.phpPrzycisk porównania
compare/floating-bar.phpPasek porównania (dół ekranu)
quick-view/modal.phpOkno lightbox szybkiego podglądu
quick-view/button.phpPrzycisk szybkiego podglądu
ajax-search/form.phpPole wyszukiwarki AJAX
ajax-search/results.phpDropdown z wynikami wyszukiwania
ajax-search/result-item.phpPojedynczy wynik wyszukiwania
ajax-filters/container.phpKontener filtrów AJAX
ajax-filters/filter-category.phpFiltr kategorii
ajax-filters/filter-price.phpFiltr ceny (suwak)
ajax-filters/filter-attribute.phpFiltr atrybutu
ajax-filters/active-filters.phpPasek aktywnych filtrów
product-slider/slider.phpKontener slidera
product-slider/item.phpKarta produktu w sliderze
badges/badge.phpPojedyncza etykieta
badges/container.phpKontener etykiet na produkcie
waitlist/form.phpFormularz listy oczekujących
waitlist/email.phpE-mail powiadomienia o dostępności
Plik szablonuOpis
tools/compliance-checklist.phpLista kontrolna zgodności
tools/audit-report.phpRaport z audytu
tools/security-incident-form.phpFormularz incydentu bezpieczeństwa
tools/verified-review-badge.phpOdznaka zweryfikowanej opinii

Każdy szablon otrzymuje zestaw zmiennych. Przykład dla omnibus/price-display.php:

<?php
/**
* Szablon wyświetlania ceny Omnibus
*
* Dostępne zmienne:
* @var float $lowest_price Najniższa cena z okresu
* @var int $days Liczba dni
* @var int $product_id ID produktu
* @var string $price_html Sformatowana cena HTML
* @var string $date Data najniższej ceny
*
* @package Polski
*/
defined('ABSPATH') || exit;
?>
<div class="polski-omnibus-price">
<span class="polski-omnibus-label">
<?php printf(
esc_html__('Najniższa cena z %d dni przed obniżką:', 'polski'),
$days
); ?>
</span>
<span class="polski-omnibus-amount">
<?php echo wp_kses_post($price_html); ?>
</span>
</div>

Każdy szablon ma komentarz @version. Po aktualizacji wtyczki sprawdź, czy nadpisane szablony wymagają aktualizacji.

Ostrzeżenie o przestarzałych szablonach pojawia się w WooCommerce > Status > Polski.

/**
* @version 1.5.0
*/

Jeśli chcesz zmienić domyślną lokalizację szablonów w motywie:

add_filter('polski/template/path', function (string $path): string {
return 'custom-polski-templates/'; // zamiast 'polski/'
});

Wtedy szablony szukane będą w: wp-content/themes/twoj-motyw/custom-polski-templates/

Sprawdź, który szablon jest ładowany, włączając tryb debug:

// W wp-config.php
define('POLSKI_TEMPLATE_DEBUG', true);

W trybie debug każdy szablon jest otoczony komentarzami HTML ze ścieżką:

<!-- polski template: /themes/twoj-motyw/polski/omnibus/price-display.php -->
...
<!-- /polski template -->

Zgłaszanie problemów: github.com/wppoland/polski/issues

Ta strona ma wyłącznie charakter informacyjny i nie stanowi porady prawnej. Przed wdrożeniem skonsultuj się z prawnikiem. Polski for WooCommerce jest oprogramowaniem open source (GPLv2) dostarczanym bez gwarancji.