Zum Inhalt springen

Hooks (Actions und Filter)

Hooks (Actions und Filter) zum Erweitern und Aendern des Plugin-Verhaltens. Alle verwenden den Namespace polski/.

Filtert die Anzahl der Tage fuer den Widerruf.

/**
* @param int $days Anzahl der Widerrufstage (Standard 14)
*/
apply_filters('polski/withdrawal/days', int $days): int;

Beispiel:

add_filter('polski/withdrawal/days', function (int $days): int {
return 30; // Verlaengerung auf 30 Tage
});

Filtert Produktkategorien, die vom Widerrufsrecht ausgeschlossen sind.

apply_filters('polski/withdrawal/excluded_categories', array $categories): array;

Filtert die Felder des Widerrufsformulars.

apply_filters('polski/withdrawal/form_fields', array $fields): array;

Action, die nach dem Versand der Widerrufsbestaetigungs-E-Mail aufgerufen wird.

do_action('polski/withdrawal/email_sent', int $order_id, array $form_data): void;

Filtert das Anzeigeformat des Grundpreises.

apply_filters('polski/price/unit_format', string $format, float $unit_price, string $unit, int $product_id): string;

Filtert das MwSt.-Label neben dem Preis.

apply_filters('polski/price/vat_label', string $label, string $tax_status): string;

Filtert den niedrigsten Preis der letzten 30 Tage (Omnibus-Richtlinie).

apply_filters('polski/omnibus/lowest_price', float $price, int $product_id, int $days): float;

Filtert das Anzeigeformat des Omnibus-Preises.

apply_filters('polski/omnibus/display_format', string $html, float $price, int $product_id): string;

Action, die nach dem Speichern eines Preises in der Omnibus-Historie aufgerufen wird.

do_action('polski/omnibus/price_recorded', int $product_id, float $price): void;

Filtert Rechnungsdaten vor dem Senden an KSeF.

apply_filters('polski/ksef/invoice_data', array $data, WC_Order $order): array;

Action, die nach erfolgreichem Rechnungsversand an KSeF aufgerufen wird.

do_action('polski/ksef/invoice_sent', int $order_id, string $ksef_id, array $response): void;

Filtert die Felder des DSA-Meldeformulars.

apply_filters('polski/dsa/report_fields', array $fields): array;

Action, die nach dem Einreichen einer DSA-Meldung aufgerufen wird.

do_action('polski/dsa/report_submitted', int $report_id, array $data): void;

Filtert den Inhalt der DOI-Verifizierungs-E-Mail.

apply_filters('polski/doi/verification_email', string $message, string $email, string $url): string;

Action, die nach erfolgreicher DOI-Verifizierung aufgerufen wird.

do_action('polski/doi/verified', int $user_id, string $email): void;

Filtert die Entscheidung ueber das Leeren des Plugin-Caches.

apply_filters('polski/cache/should_flush', bool $should_flush, string $group): bool;

Filtert die Cache-Lebensdauer (TTL) in Sekunden.

apply_filters('polski/cache/ttl', int $ttl, string $group): int;

Filtert das HTML der gerenderten Checkbox.

apply_filters('polski/checkboxes/render', string $html, array $checkbox, string $location): string;

Action, die nach der Checkbox-Validierung aufgerufen wird.

do_action('polski/checkboxes/validated', array $checkboxes, bool $valid): void;

Filtert den Pfad zur E-Mail-Vorlage.

apply_filters('polski/email/template', string $template, string $type): string;

Filtert die E-Mail-Header.

apply_filters('polski/email/headers', array $headers, string $type): array;

Filtert die in die Rechtsseitenvorlage eingefuegten Daten.

apply_filters('polski/legal_page/template_data', array $data, string $type): array;

Action, die nach der Generierung einer Rechtsseite aufgerufen wird.

do_action('polski/legal_page/generated', int $page_id, string $type): void;
  1. Typen verwenden - deklarieren Sie Parameter- und Rueckgabetypen in Callbacks
  2. Prioritaet - Standardprioritaet ist 10, verwenden Sie eine hoehere (z.B. 20), um das Standardverhalten zu ueberschreiben
  3. Namespace - erstellen Sie keine Hooks im Namespace polski/ in Ihren Plugins, um Konflikte zu vermeiden
  4. Kompatibilitaet - pruefen Sie die Existenz von Hooks vor der Verwendung: has_filter('polski/omnibus/lowest_price')
  5. Dokumentation - dokumentieren Sie eigene Callbacks mit PHPDoc-Kommentaren

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

Diese Seite dient ausschließlich zu Informationszwecken und stellt keine Rechtsberatung dar. Konsultieren Sie vor der Umsetzung einen Anwalt. Polski for WooCommerce ist Open-Source-Software (GPLv2) ohne Garantie.