Zum Inhalt springen

Template-Überschreibung

Ein an WooCommerce angelehntes Template-System. Überschreibe ein beliebiges Template, indem du es nach yourtheme/polski/ in deinem Theme kopierst.

  1. Finde das Original-Template im Plugin-Verzeichnis: wp-content/plugins/polski/templates/
  2. Kopiere die Datei in das Theme-Verzeichnis: wp-content/themes/dein-theme/polski/
  3. Behalte die Struktur der Unterverzeichnisse bei
  4. Bearbeite die kopierte Datei

Das Plugin verwendet automatisch das Template aus dem Theme anstelle des Standards.

Beispiel: Um das Template des Omnibus-Preises zu überschreiben, kopiere:

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

nach:

wp-content/themes/dein-theme/polski/omnibus/price-display.php

Bei einem Child-Theme platzierst du die Templates im Verzeichnis des Child-Themes. Suchreihenfolge:

  1. wp-content/themes/child-theme/polski/
  2. wp-content/themes/parent-theme/polski/
  3. wp-content/plugins/polski/templates/
Template-DateiBeschreibung
omnibus/price-display.phpAnzeige des Omnibus-Preises
omnibus/price-history.phpPreishistorie (Tabelle)
gpsr/product-info.phpGPSR-Informationen auf der Produktseite
gpsr/safety-sheet.phpSicherheitsdatenblatt des Produkts
withdrawal/form.phpWiderrufsformular
withdrawal/confirmation.phpBestätigung des eingereichten Widerrufs
withdrawal/email.phpE-Mail-Vorlage der Bestätigung
dsa/report-form.phpDSA-Meldeformular
dsa/report-confirmation.phpBestätigung der DSA-Meldung
gdpr/consent-checkboxes.phpDSGVO-Einwilligungs-Checkboxen
ksef/invoice-template.phpKSeF-Rechnungsvorlage
greenwashing/product-claims.phpUmweltaussagen des Produkts
legal-pages/terms-template.phpVorlage der Shop-AGB
legal-pages/privacy-template.phpVorlage der Datenschutzerklärung
legal-pages/withdrawal-template.phpVorlage der Widerrufsbelehrung
Template-DateiBeschreibung
prices/unit-price.phpGrundpreis
prices/vat-notice.phpHinweis zu MwSt. und Versand
prices/delivery-time.phpGeschätzte Lieferzeit
manufacturer/info.phpInformationen über den Hersteller
manufacturer/logo.phpLogo des Herstellers
Template-DateiBeschreibung
food/nutrients-table.phpNährwerttabelle
food/allergens-list.phpAllergenliste
food/nutri-score.phpNutri-Score-Kennzeichnung
Template-DateiBeschreibung
checkout/button-label.phpLabel des Bestellbuttons
checkout/legal-checkboxes.phpRechtliche Checkboxen an der Kasse
checkout/nip-field.phpNIP-Feld mit automatischem Ausfüllen
checkout/doi-notice.phpDouble-Opt-in-Hinweis
Template-DateiBeschreibung
wishlist/table.phpWunschlisten-Tabelle
wishlist/button.phpButton zum Hinzufügen zur Liste
wishlist/header-icon.phpSymbol im Header
compare/table.phpVergleichstabelle
compare/button.phpVergleichsbutton
compare/floating-bar.phpVergleichsleiste (unten am Bildschirm)
quick-view/modal.phpLightbox-Fenster der Schnellansicht
quick-view/button.phpButton der Schnellansicht
ajax-search/form.phpFeld der AJAX-Suche
ajax-search/results.phpDropdown mit Suchergebnissen
ajax-search/result-item.phpEinzelnes Suchergebnis
ajax-filters/container.phpContainer der AJAX-Filter
ajax-filters/filter-category.phpKategoriefilter
ajax-filters/filter-price.phpPreisfilter (Schieberegler)
ajax-filters/filter-attribute.phpAttributfilter
ajax-filters/active-filters.phpLeiste der aktiven Filter
product-slider/slider.phpContainer des Sliders
product-slider/item.phpProduktkarte im Slider
badges/badge.phpEinzelnes Abzeichen
badges/container.phpContainer der Abzeichen auf dem Produkt
waitlist/form.phpFormular der Warteliste
waitlist/email.phpE-Mail zur Verfügbarkeitsbenachrichtigung
Template-DateiBeschreibung
tools/compliance-checklist.phpCompliance-Checkliste
tools/audit-report.phpAudit-Bericht
tools/security-incident-form.phpFormular für Sicherheitsvorfälle
tools/verified-review-badge.phpAbzeichen der verifizierten Bewertung

Jedes Template erhält einen Satz von Variablen. Beispiel für omnibus/price-display.php:

<?php
/**
* Template zur Anzeige des Omnibus-Preises
*
* Verfügbare Variablen:
* @var float $lowest_price Niedrigster Preis des Zeitraums
* @var int $days Anzahl der Tage
* @var int $product_id Produkt-ID
* @var string $price_html Formatierter Preis HTML
* @var string $date Datum des niedrigsten Preises
*
* @package Polski
*/
defined('ABSPATH') || exit;
?>
<div class="polski-omnibus-price">
<span class="polski-omnibus-label">
<?php printf(
esc_html__('Niedrigster Preis der %d Tage vor der Preissenkung:', 'polski'),
$days
); ?>
</span>
<span class="polski-omnibus-amount">
<?php echo wp_kses_post($price_html); ?>
</span>
</div>

Jedes Template hat einen @version-Kommentar. Prüfe nach einem Plugin-Update, ob die überschriebenen Templates aktualisiert werden müssen.

Eine Warnung vor veralteten Templates erscheint unter WooCommerce > Status > Polski.

/**
* @version 1.5.0
*/

Wenn du den Standardspeicherort der Templates im Theme ändern möchtest:

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

Dann werden die Templates gesucht in: wp-content/themes/dein-theme/custom-polski-templates/

Prüfe, welches Template geladen wird, indem du den Debug-Modus aktivierst:

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

Im Debug-Modus wird jedes Template von HTML-Kommentaren mit dem Pfad umschlossen:

<!-- polski template: /themes/dein-theme/polski/omnibus/price-display.php -->
...
<!-- /polski template -->

Probleme melden: github.com/wppoland/polski/issues

Diese Seite dient ausschließlich zu Informationszwecken und stellt keine Rechtsberatung dar. Konsultiere vor der Umsetzung einen Anwalt. Polski for WooCommerce ist Open-Source-Software (GPLv2), die ohne Gewährleistung bereitgestellt wird.