Actions & Filter

Das Modul Rechnungs PDF bietet Actions & Filter an, um Entwicklern einen Zugriff auf den Code des Add-On zu gewähren.
Im Folgenden Abschnitt gibt es eine Auflistung aller Actions & Filter inklusive einem Beispiel.

class-wp-wc-invoice-pdf-backend-options.php

Name: woocommerce_get_sections_preferences-wp-wc-invoice-pdf
Art: Filter
Beschreibung: Du kannst die Option Sections im Backend bearbeiten, du kannst Sections ausblenden sowie eigene Sections hinzufügen.

Beispiel:

Name: wp_wc_invoice_pdf_options_section_{{section_id}}
Art: Filter
Beschreibung: Hast du eine eigene Option Section hinzugefügt, kannst du mit diesem Filter die Optionsfelder hinzufügen. Auch für bereits bestehende Sections kannst du Optionsfelder hinzufügen. Deine Optionen kannst du im Template (invoice-content.php) verwenden.

Beispiel:

Platzhalter in den Optionen

Name: wp_wc_invoice_pdf_placeholders
Dateien: class-wp-wc-invoice-pdf-create-pdf.php, class-wp-wc-invoice-pdf-backend-options.php, options-section-general-pdf-settings.php, options-section-invoice-content.php, invoice-content.php
Art: Filter
Beschreibung: Es ist möglich, Platzhalter hinzuzufügen, die für den Frontend-Dateinamen, den Backend-Dateinamen und den Betreff in der Rechnung verwendet werden können.

Beispiel:

Name: wp_wc_invoice_pdf_placeholder_{{placeholder}}
Dateien: class-wp-wc-invoice-pdf-create-pdf.php, invoice-content.php
Art: Filter
Beschreibung: Für jeden hinzugefügten Platzhalter kannst du einen Filter erstellen, in dem entschieden wird, gegen was der Platzhalter ersetzt wird. Standardmäßig wird der Platzhalter durch den Wert (value) ersetzt, den du im Filter ‚wp_wc_invoice_pdf_placeholders‘ gesetzt hast.

Beispiel:

class-wp-wc-invoice-pdf-backend-download.php

Name: wp_wc_invoice_pdf_before_backend_download
Art: Action
Beschreibung: Führe eine Action vor einem Download im Backend aus. Erstelle keine Ausgabe, sonst erhältst du den Fehler: Unable to stream pdf: headers already sent

Beispiel:

Name: wp_wc_invoice_pdf_backend_filename
Art: Filter
Beschreibung: Der Backend-Dateiname kann mit diesem Filter verändert werden.

Beispiel:

Name: wp_wc_invoice_pdf_test_filename
Art: Filter
Beschreibung: Der Dateiname der Test Rechnungen kann mit diesem Filter verändert werden.

Beispiel:

class-wp-wc-invoice-pdf-view-order-download.php

Name: wp_wc_invoice_pdf_before_frontend_download
Art: Action
Beschreibung: Führe eine Action vor einem Download im Frontend aus. Erstelle keine Ausgabe, sonst erhältst du den Fehler: Unable to stream pdf: headers already sent

Beispiel:

Name: wp_wc_invoice_pdf_view_order_button
Art: Action
Beschreibung: Mit dieser Action lässt dich die Ausgabe des Download-Buttons im Frontend beeinflussen.

Beispiel:

Name: wp_wc_invoice_pdf_frontend_filename
Art: Filter
Beschreibung: Der Frontend-Dateiname kann mit diesem Filter verändert werden.

Beispiel:

Name: wp_wc_invoice_pdf_view_order_redirect_link
Art: Filter
Beschreibung: In diesem Filter wird geregelt, zu welcher Seite weitergeleitet wird, wenn der User nicht die Rechte hat, die PDF aufzurufen. Standardmäßig wird zur My-Account Seite weitergeleitet.

Beispiel:

class-wp-wc-invoice-pdf-email-attachment.php

Name: wp_wc_invoice_before_adding_attachment
Art: Action
Beschreibung: Führe eine Aktion aus, bevor die Rechnung an eine E-Mail angehangen wird.

Beispiel:

Name: wp_wc_inovice_pdf_allowed_stati
Art: Filter
Beschreibung: Mit diesem Filter können an weitere E-Mails, die im WooCommerce System registriert worden sind, die Rechnungen angehangen werden. Dazu sollten auch diese Status im Optionsmenü hinzugefügt werden.

Beispiel:

invoice-content.php

Name: wp_wc_invoice_pdf_invoice_date
Art: Filter
Beschreibung: Du kannst ein Rechnungsdatum mit diesem Filter zur Rechnung hinzufügen.

Beispiel:

class-wp-wc-invoice-pdf-create-pdf.php

Name: wp_wc_invoice_pdf_before_get_pdf_content
Art: Filter
Beschreibung: Mit diesem Filter kann eine Action ausgeführt werden, bevor der Inhalt der Rechnung generiert wird.

Beispiel:

Name: wp_wc_invoice_pdf_output_format
Art: Filter
Beschreibung: Für Test- und Entwicklungszwecke kann es hilfreich sein, die Rechnung nicht als PDF zu rendern, sondern als HTML auszugeben. Für diesen Fall muss der Filter den String ‚html‘ zurückgeben.

Beispiel:

Name: wp_wc_invoice_pdf_args_before_pdf_rendering
Art: Filter
Beschreibung: Du kannst $args ändern, bevor die PDF gerendert wird, das ist für Testzwecke hilfreich.

Beispiel:

Name: wp_wc_invoice_get_footer_or_header, wp_wc_invoice_include_background_image, wp_wc_invoice_get_fonts
Art: Filter
Beschreibung: In den folgenden Filtern kann die Ausgabe komplett selbst übernommen werden. Ist ein Filter vorhanden, wird der Standardcode nicht ausgeführt.

Beispiel:

Name: wp_wc_invoice_pdf_template_invoice_content, wp_wc_invoice_pdf_template_default_styles, wp_wc_invoice_pdf_template_page_numbers
Art: Filter
Beschreibung: Um den Inhalt der Rechnung zu generieren, werden drei Template Dateien genutzt. ‚invoice-content.php‘ und ‚invoice-default-styles.php‘ können durch Themetemplates überschrieben werden. ‚invoice-content-page-numbers.php‘ regelt die Ausgabe der Seitenanzahlen und beinhaltet keinen HTML Code, diese Datei kann nicht durch ein Themetemplate überschrieben werden. Für alle drei Templates können durch die folgenden Filter andere Dateien geladen werden.

Beispiel:

invoice-content-page-numbers.php

Name: wp_wc_invoice_pdf_page_number_text_height_factor
Art: Filter
Beschreibung: Wenn deine Seitennummern nicht ganz richtig platziert zu sein scheinen, kannst du die folgende Variable ändern, um mehr Kontrolle über die Texthöhe zu haben. Der Standardwert ist 0.87.

Beispiel:

Wenn Sie vom Add-On lieber mit Sie angesprochen werden wollen: