Integration in Lieferscheine/Rechnungen
Um die erstellten Etiketten 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 das Dateiformat „PNG“ ausgewählt werden, damit die Datei in andere Dokumente eingefügt werden kann.
Shortcode
Die bestellten Etiketten können in den Lieferschein übernommen werden, indem in das Template des Lieferscheins der Shortcode [mame_bc_label_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_bc_label_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 Etiketten anzuzeigen. In dem Fall muss stattdessen auf die Funktion Barcode_Order::print_label_images_from_woocommerce_order
zurückgegriffen werden (siehe unten).
Funktion
Mithilfe der Funktion Barcode_Order::print_label_images_from_woocommerce_order
können Etiketten-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): Standardtrue
. Falls mehrere Etiketten 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_barcode_display_stamps_function', 10, 4 ); function my_barcode_display_stamps_function ($type, $action, $document, $order) { Barcode_Order::print_label_images_from_woocommerce_order($order); }
Falls das Bild nicht korrekt angezeigt wird, müssen bei deinem Server möglicherweise Bild-Pfade anstelle von URLs angegeben werden. Der Code würde in dem Fall wie folgt aussehen.
add_action( 'wc_pip_before_body', 'my_barcode_display_stamps_function', 10, 4 ); function my_barcode_display_stamps_function ($type, $action, $document, $order) { Barcode_Order::print_label_images_from_woocommerce_order($order, false, false, true, true); }
Für andere Lieferschein/Rechnungs-Plugins müsste der Code entsprechend den verfügbaren Actions angepasst werden.