Integration in Lieferscheine/Rechnungen

Um die erstellten Briefmarken in Lieferscheine und Rechnungen zu integrieren stehen zwei Möglichkeiten zur Verfügung: die Verwendung eines Shortcodes und der Aufruf einer Funktion in einem Hook.

Wichtig: In den Einstellungen muss der Briefmarken-Dateityp „PNG“ ausgewählt werden, damit die Datei in andere Dokumente eingefügt werden kann.

Shortcode

Die bestellten Briefmarken können in den Lieferschein übernommen werden, indem in das Template des Lieferscheins der Shortcode [mame_ws_stamp_image] eingefügt wird. Es können dem Shortcode optional drei Parameter mitgegeben werden:

  • width: Die Breite des Bildes in px.
  • height: Die Höhe des Bildes in px.
  • newline: Möglich Werte: 0 , 1 (Standard). Falls mehrere Briefmarken für die Bestellung vorhanden sind wird beim Wert 1 jede Briefmarke auf einer neuen Zeile angezeigt.

Beispiel:

[mame_ws_stamp_image width=600 height=400 newline=0]

Bei manchen Lieferschein-Plugins wird der Code nicht in der Post-Loop ausgeführt und daher fehlt die Bestellungs-ID um die Briefmarken anzuzeigen. In dem Fall muss stattdessen auf die Funktion Webstamp_Order::print_stamp_images_from_woocommerce_order zurückgegriffen werden (siehe unten).

Funktion

Mithilfe der Funktion Webstamp_Order::print_stamp_images_from_woocommerce_order können Briefmarken-Bilder mittels einem Hook des Lieferschein/Rechnungs-Plugins in Bestelldokumente eingefügt werden.

Die Funktion erwartet folgende Parameter:

  • WC_Order $order: das WooCommerce Order-Objekt der Bestellung.
  • int $width (optional): Breite des Bilds.
  • int $height (optional): Höhe des Bilds.
  • bool $newline (optional): Standard true. Falls mehrere Briefmarken für die Bestellung vorhanden sind wird beim Wert true jede Briefmarke auf einer neuen Zeile angezeigt.

Beim offiziellen WooThemes-Plugin „WooCommerce Print Invoices & Packing Lists“ könnte z.B. folgender Code in die Datei functions.php des Themes eingefügt werden:

add_action( 'wc_pip_before_body', 'my_webstamp_display_stamps_function', 10, 4 ); 
function my_webstamp_display_stamps_function ($type, $action, $document, $order) {      
    Webstamp_Order::print_stamp_images_from_woocommerce_order($order); 
}