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): Standard true. 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.