Pozdrav, pretpostavljam da se radi o ovom pluginu: PDF Invoices koji pruža mogućnost da sami kreirate svoj template za račune što je vrlo korisno (jer se neće “pregaziti” kod nadogradnje). Ako imate svoj custom template koji ste kreirali po njihovim uputama, onda ovaj kod koji ću tu zalijepiti možete staviti u datoteku template-functions.php koja se nalazi unutar vašeg templatea za račune. Međutim, isti taj kod možete zalijepiti i u functions.php datoteku teme koju koristite na webshopu:
add_action ('wpo_wcpdf_after_order_data', 'wsb_add_barcode_to_invoice', 10, 2);
function wsb_add_barcode_to_invoice( $type, $order ){
if("invoice" != $type) return; //ako vrsta dokumenta nije račun, prekini radnju
$barcode_image = get_post_meta( $order->get_id(), '_wsb_hub3_barcode', true );
if(!$barcode_image) return; //ako barkod ne postoji, izađi
$barcode_width = "300px"; //podesi širinu barkoda
echo "<img style='width: " . esc_html($barcode_width) . "' src='". esc_url(plugins_url() . "/wsb-hub3/barcodes/" . $barcode_image ) ."' alt='barcode' />";
}
Navedeni kod će zalijepiti sliku barkoda gore desno u dokumentu, ispod podataka o narudžbi, a iznad stavki narudžbe.
Ako želite da se barkod pojavljuje na kraju, tj. nakon liste proizvoda,onda ovaj dio:
wpo_wcpdf_after_order_data
zamijenite sa
wpo_wcpdf_after_order_details
Važno je napomenuti da će ova funkcija prikazati barkod na računu uvijek, ako je barkod generiran za tu narudžbu. Bez obzira na trenutni status narudžbe.
Ako želite više kontrole po tom pitanju, odnosno da se barkod pojavljuje na računu samo za jedan određeni status narudžbe, npr Na čekanju, treba malo promijeniti funkciju i dodati joj taj uvjet:
add_action ('wpo_wcpdf_after_order_data', 'wsb_add_barcode_to_invoice', 10, 2);
function wsb_add_barcode_to_invoice( $type, $order ){
if("invoice" != $type || "on-hold" != $order->get_status()) return;
$barcode_image = get_post_meta( $order->get_id(), '_wsb_hub3_barcode', true );
if(!$barcode_image) return;
$barcode_width = "300px";
echo "<img style='width: " . esc_html($barcode_width) . "' src='". esc_url(plugins_url() . "/wsb-hub3/barcodes/" . $barcode_image ) ."' alt='barcode' />";
}
Nadam se da sam pomogao, a vi se još možete poigrati s css-om i sve skupa još malo dotjerati ako je potrebno.