Version Description
- Feature: Editable invoice date per order/invoice.
- Feature: HTML is now allowed in footer and other settings fields.
- Translations: Updated German (Thanks Nadine!)
- Fix: template paths are now saved relative to the site base path (ABSPATH) to prevent errors when moving to another server
- Tweak: Changed bulk action hook for better theme compatibility
- Tweak: Newlines in custom checkout fields
Download this release
Release Info
Developer | pomegranate |
Plugin | WooCommerce PDF Invoices & Packing Slips |
Version | 1.4.4 |
Comparing to | |
See all releases |
Code changes from version 1.4.3 to 1.4.4
- includes/class-wcpdf-export.php +77 -20
- includes/class-wcpdf-settings.php +4 -5
- includes/class-wcpdf-writepanels.php +27 -10
- languages/wpo_wcpdf-de_DE.mo +0 -0
- languages/wpo_wcpdf-de_DE.po +49 -33
- languages/wpo_wcpdf.pot +44 -28
- readme.txt +17 -1
- templates/pdf/Simple/invoice.php +1 -0
- woocommerce-pdf-invoices-packingslips.php +9 -4
includes/class-wcpdf-export.php
CHANGED
@@ -33,6 +33,14 @@ if ( ! class_exists( 'WooCommerce_PDF_Invoices_Export' ) ) {
|
|
33 |
|
34 |
$this->template_path = isset( $this->template_settings['template_path'] )?$this->template_settings['template_path']:'';
|
35 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
36 |
add_action( 'wp_ajax_generate_wpo_wcpdf', array($this, 'generate_pdf_ajax' ));
|
37 |
add_filter( 'woocommerce_email_attachments', array( $this, 'attach_pdf_to_email' ), 99, 3);
|
38 |
|
@@ -481,21 +489,12 @@ if ( ! class_exists( 'WooCommerce_PDF_Invoices_Export' ) ) {
|
|
481 |
|
482 |
// Checking fo existance, thanks to MDesigner0
|
483 |
if(!empty($product)) {
|
484 |
-
// Set the thumbnail id
|
485 |
-
$data['thumbnail_id'] = $this->get_thumbnail_id( $product
|
486 |
-
|
487 |
-
// Set the thumbnail server path
|
488 |
-
$data['thumbnail_path'] = get_attached_file( $data['thumbnail_id'] );
|
489 |
|
490 |
// Thumbnail (full img tag)
|
491 |
-
|
492 |
-
|
493 |
-
$data['thumbnail'] = sprintf('<img width="90" height="90" src="%s" class="attachment-shop_thumbnail wp-post-image">', $data['thumbnail_path']);
|
494 |
-
} else {
|
495 |
-
// load img with http url when filtered
|
496 |
-
$data['thumbnail'] = $product->get_image( 'shop_thumbnail', array( 'title' => '' ) );
|
497 |
-
}
|
498 |
-
|
499 |
// Set the single price (turned off to use more consistent calculated price)
|
500 |
// $data['single_price'] = woocommerce_price ( $product->get_price() );
|
501 |
|
@@ -579,13 +578,13 @@ if ( ! class_exists( 'WooCommerce_PDF_Invoices_Export' ) ) {
|
|
579 |
$tax_rates = array();
|
580 |
|
581 |
foreach ($taxes as $tax) {
|
582 |
-
$tax_rates[$tax['label']] = round( $tax['rate'], 2 ).'%';
|
583 |
}
|
584 |
|
585 |
if (empty($tax_rates)) {
|
586 |
// one last try: manually calculate
|
587 |
if ( $line_total != 0) {
|
588 |
-
$tax_rates[] = round( ($line_tax / $line_total)*100, 1 ).'%';
|
589 |
} else {
|
590 |
$tax_rates[] = '-';
|
591 |
}
|
@@ -595,7 +594,7 @@ if ( ! class_exists( 'WooCommerce_PDF_Invoices_Export' ) ) {
|
|
595 |
} else {
|
596 |
// Backwards compatibility: calculate tax from line items
|
597 |
if ( $line_total != 0) {
|
598 |
-
$tax_rates = round( ($line_tax / $line_total)*100, 1 ).'%';
|
599 |
} else {
|
600 |
$tax_rates = '-';
|
601 |
}
|
@@ -604,6 +603,37 @@ if ( ! class_exists( 'WooCommerce_PDF_Invoices_Export' ) ) {
|
|
604 |
return $tax_rates;
|
605 |
}
|
606 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
607 |
/**
|
608 |
* Get order custom field
|
609 |
*/
|
@@ -621,12 +651,15 @@ if ( ! class_exists( 'WooCommerce_PDF_Invoices_Export' ) ) {
|
|
621 |
* @access public
|
622 |
* @return string
|
623 |
*/
|
624 |
-
public function get_thumbnail_id ( $
|
|
|
625 |
global $woocommerce;
|
626 |
|
627 |
-
|
628 |
-
$thumbnail_id = get_post_thumbnail_id ( $
|
629 |
-
} elseif (
|
|
|
|
|
630 |
$thumbnail_id = get_post_thumbnail_id ( $parent_id );
|
631 |
} else {
|
632 |
$thumbnail_id = $woocommerce->plugin_url() . '/assets/images/placeholder.png';
|
@@ -634,6 +667,30 @@ if ( ! class_exists( 'WooCommerce_PDF_Invoices_Export' ) ) {
|
|
634 |
|
635 |
return $thumbnail_id;
|
636 |
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
637 |
|
638 |
}
|
639 |
|
33 |
|
34 |
$this->template_path = isset( $this->template_settings['template_path'] )?$this->template_settings['template_path']:'';
|
35 |
|
36 |
+
// backwards compatible template path (1.4.4+ uses relative paths instead of absolute)
|
37 |
+
if (strpos($this->template_path, ABSPATH) == false) {
|
38 |
+
// add site base path, double check it exists!
|
39 |
+
if ( file_exists( ABSPATH . $this->template_path ) ) {
|
40 |
+
$this->template_path = ABSPATH . $this->template_path;
|
41 |
+
}
|
42 |
+
}
|
43 |
+
|
44 |
add_action( 'wp_ajax_generate_wpo_wcpdf', array($this, 'generate_pdf_ajax' ));
|
45 |
add_filter( 'woocommerce_email_attachments', array( $this, 'attach_pdf_to_email' ), 99, 3);
|
46 |
|
489 |
|
490 |
// Checking fo existance, thanks to MDesigner0
|
491 |
if(!empty($product)) {
|
492 |
+
// Set the thumbnail id DEPRICATED (does not support thumbnail sizes), use thumbnail_path or thumbnail instead
|
493 |
+
$data['thumbnail_id'] = $this->get_thumbnail_id( $product );
|
|
|
|
|
|
|
494 |
|
495 |
// Thumbnail (full img tag)
|
496 |
+
$data['thumbnail'] = $this->get_thumbnail ( $product );
|
497 |
+
|
|
|
|
|
|
|
|
|
|
|
|
|
498 |
// Set the single price (turned off to use more consistent calculated price)
|
499 |
// $data['single_price'] = woocommerce_price ( $product->get_price() );
|
500 |
|
578 |
$tax_rates = array();
|
579 |
|
580 |
foreach ($taxes as $tax) {
|
581 |
+
$tax_rates[$tax['label']] = round( $tax['rate'], 2 ).' %';
|
582 |
}
|
583 |
|
584 |
if (empty($tax_rates)) {
|
585 |
// one last try: manually calculate
|
586 |
if ( $line_total != 0) {
|
587 |
+
$tax_rates[] = round( ($line_tax / $line_total)*100, 1 ).' %';
|
588 |
} else {
|
589 |
$tax_rates[] = '-';
|
590 |
}
|
594 |
} else {
|
595 |
// Backwards compatibility: calculate tax from line items
|
596 |
if ( $line_total != 0) {
|
597 |
+
$tax_rates = round( ($line_tax / $line_total)*100, 1 ).' %';
|
598 |
} else {
|
599 |
$tax_rates = '-';
|
600 |
}
|
603 |
return $tax_rates;
|
604 |
}
|
605 |
|
606 |
+
/**
|
607 |
+
* Returns the percentage rate (float) for a given tax rate ID.
|
608 |
+
* @param int $rate_id woocommerce tax rate id
|
609 |
+
* @return float $rate percentage rate
|
610 |
+
*/
|
611 |
+
public function get_tax_rate_by_id( $rate_id ) {
|
612 |
+
global $wpdb;
|
613 |
+
$rate = $wpdb->get_var( $wpdb->prepare( "SELECT tax_rate FROM {$wpdb->prefix}woocommerce_tax_rates WHERE tax_rate_id = %d;", $rate_id ) );
|
614 |
+
return (float) $rate;
|
615 |
+
}
|
616 |
+
|
617 |
+
/**
|
618 |
+
* Returns a an array with rate_id => tax rate data (array) of all tax rates in woocommerce
|
619 |
+
* @return array $tax_rate_ids keyed by id
|
620 |
+
*/
|
621 |
+
public function get_tax_rate_ids() {
|
622 |
+
global $wpdb;
|
623 |
+
$rates = $wpdb->get_results( "SELECT * FROM {$wpdb->prefix}woocommerce_tax_rates" );
|
624 |
+
|
625 |
+
$tax_rate_ids = array();
|
626 |
+
foreach ($rates as $rate) {
|
627 |
+
// var_dump($rate->tax_rate_id);
|
628 |
+
// die($rate);
|
629 |
+
$rate_id = $rate->tax_rate_id;
|
630 |
+
unset($rate->tax_rate_id);
|
631 |
+
$tax_rate_ids[$rate_id] = (array) $rate;
|
632 |
+
}
|
633 |
+
|
634 |
+
return $tax_rate_ids;
|
635 |
+
}
|
636 |
+
|
637 |
/**
|
638 |
* Get order custom field
|
639 |
*/
|
651 |
* @access public
|
652 |
* @return string
|
653 |
*/
|
654 |
+
public function get_thumbnail_id ( $product ) {
|
655 |
+
// DEPRICATED (does not support thumbnail sizes)
|
656 |
global $woocommerce;
|
657 |
|
658 |
+
if ( $product->variation_id && has_post_thumbnail( $product->variation_id ) ) {
|
659 |
+
$thumbnail_id = get_post_thumbnail_id ( $product->variation_id );
|
660 |
+
} elseif ( has_post_thumbnail( $product->id ) ) {
|
661 |
+
$thumbnail_id = get_post_thumbnail_id ( $product->id );
|
662 |
+
} elseif ( ( $parent_id = wp_get_post_parent_id( $product->id ) ) && has_post_thumbnail( $parent_id ) ) {
|
663 |
$thumbnail_id = get_post_thumbnail_id ( $parent_id );
|
664 |
} else {
|
665 |
$thumbnail_id = $woocommerce->plugin_url() . '/assets/images/placeholder.png';
|
667 |
|
668 |
return $thumbnail_id;
|
669 |
}
|
670 |
+
|
671 |
+
public function get_thumbnail ( $product ) {
|
672 |
+
// Get default WooCommerce img tag (url/http)
|
673 |
+
$size = apply_filters( 'wpo_wcpdf_thumbnail_size', 'shop_thumbnail' );
|
674 |
+
$thumbnail_img_tag_url = $product->get_image( $size, array( 'title' => '' ) );
|
675 |
+
|
676 |
+
// Extract the url from img
|
677 |
+
preg_match('/<img(.*)src(.*)=(.*)"(.*)"/U', $thumbnail_img_tag_url, $thumbnail_url );
|
678 |
+
// convert url to path
|
679 |
+
$thumbnail_path = str_replace( get_site_url() . '/', ABSPATH, array_pop($thumbnail_url));
|
680 |
+
|
681 |
+
// Thumbnail (full img tag)
|
682 |
+
if (apply_filters('wpo_wcpdf_use_path', true)) {
|
683 |
+
// load img with server path by default
|
684 |
+
$thumbnail = sprintf('<img width="90" height="90" src="%s" class="attachment-shop_thumbnail wp-post-image">', $thumbnail_path );
|
685 |
+
} else {
|
686 |
+
// load img with http url when filtered
|
687 |
+
$thumbnail = $thumbnail_img_tag_url;
|
688 |
+
}
|
689 |
+
|
690 |
+
// die($thumbnail);
|
691 |
+
|
692 |
+
return $thumbnail;
|
693 |
+
}
|
694 |
|
695 |
}
|
696 |
|
includes/class-wcpdf-settings.php
CHANGED
@@ -838,14 +838,12 @@ if ( ! class_exists( 'WooCommerce_PDF_Invoices_Settings' ) ) {
|
|
838 |
|
839 |
// Check to see if the current option has a value. If so, process it.
|
840 |
if ( isset( $input[$key] ) ) {
|
841 |
-
// Strip all HTML and PHP tags and properly handle quoted strings.
|
842 |
if ( is_array( $input[$key] ) ) {
|
843 |
foreach ( $input[$key] as $sub_key => $sub_value ) {
|
844 |
-
$output[$key][$sub_key] =
|
845 |
}
|
846 |
-
|
847 |
} else {
|
848 |
-
$output[$key] =
|
849 |
}
|
850 |
}
|
851 |
}
|
@@ -877,7 +875,8 @@ if ( ! class_exists( 'WooCommerce_PDF_Invoices_Settings' ) ) {
|
|
877 |
|
878 |
foreach ($dirs as $dir) {
|
879 |
if ( file_exists($dir."/invoice.php") && file_exists($dir."/packing-slip.php"))
|
880 |
-
|
|
|
881 |
}
|
882 |
}
|
883 |
|
838 |
|
839 |
// Check to see if the current option has a value. If so, process it.
|
840 |
if ( isset( $input[$key] ) ) {
|
|
|
841 |
if ( is_array( $input[$key] ) ) {
|
842 |
foreach ( $input[$key] as $sub_key => $sub_value ) {
|
843 |
+
$output[$key][$sub_key] = $input[$key][$sub_key];
|
844 |
}
|
|
|
845 |
} else {
|
846 |
+
$output[$key] = $input[$key];
|
847 |
}
|
848 |
}
|
849 |
}
|
875 |
|
876 |
foreach ($dirs as $dir) {
|
877 |
if ( file_exists($dir."/invoice.php") && file_exists($dir."/packing-slip.php"))
|
878 |
+
// we're stripping abspath to make the plugin settings more portable
|
879 |
+
$installed_templates[ str_replace( ABSPATH, '', $dir )] = basename($dir);
|
880 |
}
|
881 |
}
|
882 |
|
includes/class-wcpdf-writepanels.php
CHANGED
@@ -18,10 +18,10 @@ if ( !class_exists( 'WooCommerce_PDF_Invoices_Writepanels' ) ) {
|
|
18 |
add_filter( 'woocommerce_my_account_my_orders_actions', array( $this, 'my_account_pdf_link' ), 10, 2 );
|
19 |
add_action( 'admin_print_scripts', array( $this, 'add_scripts' ) );
|
20 |
add_action( 'admin_print_styles', array( $this, 'add_styles' ) );
|
21 |
-
add_action( 'admin_footer
|
22 |
|
23 |
add_action( 'woocommerce_admin_order_data_after_order_details', array(&$this, 'edit_invoice_number') );
|
24 |
-
add_action( 'save_post', array( &$this,'
|
25 |
|
26 |
$this->general_settings = get_option('wpo_wcpdf_general_settings');
|
27 |
$this->template_settings = get_option('wpo_wcpdf_template_settings');
|
@@ -127,12 +127,8 @@ if ( !class_exists( 'WooCommerce_PDF_Invoices_Writepanels' ) ) {
|
|
127 |
}
|
128 |
|
129 |
/**
|
130 |
-
*
|
131 |
*/
|
132 |
-
public function add_box() {
|
133 |
-
add_meta_box( 'wpo_wcpdf-box', __( 'Create PDF', 'wpo_wcpdf' ), array( $this, 'create_box_content' ), 'shop_order', 'side', 'default' );
|
134 |
-
}
|
135 |
-
|
136 |
public function my_account_pdf_link( $actions, $order ) {
|
137 |
$pdf_url = wp_nonce_url( admin_url( 'admin-ajax.php?action=generate_wpo_wcpdf&template_type=invoice&order_ids=' . $order->id . '&my-account'), 'generate_wpo_wcpdf' );
|
138 |
|
@@ -147,6 +143,13 @@ if ( !class_exists( 'WooCommerce_PDF_Invoices_Writepanels' ) ) {
|
|
147 |
return $actions;
|
148 |
}
|
149 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
150 |
/**
|
151 |
* Create the meta box content on the single order page
|
152 |
*/
|
@@ -187,16 +190,30 @@ if ( !class_exists( 'WooCommerce_PDF_Invoices_Writepanels' ) ) {
|
|
187 |
$invoice_exists = get_post_meta( $order->id, '_wcpdf_invoice_exists', true );
|
188 |
if (!empty($invoice_exists)) {
|
189 |
woocommerce_wp_text_input( array( 'id' => '_wcpdf_invoice_number', 'label' => __( 'PDF Invoice Number (unformatted!)', 'wpo_wcpdf' ) ) );
|
|
|
|
|
|
|
|
|
|
|
|
|
190 |
}
|
191 |
}
|
192 |
|
193 |
/**
|
194 |
* Save invoice number
|
195 |
*/
|
196 |
-
public function
|
197 |
global $post_type;
|
198 |
-
if( $post_type == 'shop_order'
|
199 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
200 |
}
|
201 |
}
|
202 |
}
|
18 |
add_filter( 'woocommerce_my_account_my_orders_actions', array( $this, 'my_account_pdf_link' ), 10, 2 );
|
19 |
add_action( 'admin_print_scripts', array( $this, 'add_scripts' ) );
|
20 |
add_action( 'admin_print_styles', array( $this, 'add_styles' ) );
|
21 |
+
add_action( 'admin_footer', array(&$this, 'bulk_actions') );
|
22 |
|
23 |
add_action( 'woocommerce_admin_order_data_after_order_details', array(&$this, 'edit_invoice_number') );
|
24 |
+
add_action( 'save_post', array( &$this,'save_invoice_number_date' ) );
|
25 |
|
26 |
$this->general_settings = get_option('wpo_wcpdf_general_settings');
|
27 |
$this->template_settings = get_option('wpo_wcpdf_template_settings');
|
127 |
}
|
128 |
|
129 |
/**
|
130 |
+
* Display download link on My Account page
|
131 |
*/
|
|
|
|
|
|
|
|
|
132 |
public function my_account_pdf_link( $actions, $order ) {
|
133 |
$pdf_url = wp_nonce_url( admin_url( 'admin-ajax.php?action=generate_wpo_wcpdf&template_type=invoice&order_ids=' . $order->id . '&my-account'), 'generate_wpo_wcpdf' );
|
134 |
|
143 |
return $actions;
|
144 |
}
|
145 |
|
146 |
+
/**
|
147 |
+
* Add the meta box on the single order page
|
148 |
+
*/
|
149 |
+
public function add_box() {
|
150 |
+
add_meta_box( 'wpo_wcpdf-box', __( 'Create PDF', 'wpo_wcpdf' ), array( $this, 'create_box_content' ), 'shop_order', 'side', 'default' );
|
151 |
+
}
|
152 |
+
|
153 |
/**
|
154 |
* Create the meta box content on the single order page
|
155 |
*/
|
190 |
$invoice_exists = get_post_meta( $order->id, '_wcpdf_invoice_exists', true );
|
191 |
if (!empty($invoice_exists)) {
|
192 |
woocommerce_wp_text_input( array( 'id' => '_wcpdf_invoice_number', 'label' => __( 'PDF Invoice Number (unformatted!)', 'wpo_wcpdf' ) ) );
|
193 |
+
$invoice_date = get_post_meta($order->id,'_wcpdf_invoice_date',true);
|
194 |
+
?>bla
|
195 |
+
<p class="form-field form-field-wide"><label for="wcpdf_invoice_date"><?php _e( 'Invoice Date:', 'wpo_wcpdf' ); ?></label>
|
196 |
+
<input type="text" class="date-picker-field" name="wcpdf_invoice_date" id="wcpdf_invoice_date" maxlength="10" value="<?php echo date_i18n( 'Y-m-d', strtotime( $invoice_date ) ); ?>" pattern="[0-9]{4}-(0[1-9]|1[012])-(0[1-9]|1[0-9]|2[0-9]|3[01])" />@<input type="text" class="hour" placeholder="<?php _e( 'h', 'woocommerce' ) ?>" name="wcpdf_invoice_date_hour" id="wcpdf_invoice_date_hour" maxlength="2" size="2" value="<?php echo date_i18n( 'H', strtotime( $invoice_date ) ); ?>" pattern="\-?\d+(\.\d{0,})?" />:<input type="text" class="minute" placeholder="<?php _e( 'm', 'woocommerce' ) ?>" name="wcpdf_invoice_date_minute" id="wcpdf_invoice_date_minute" maxlength="2" size="2" value="<?php echo date_i18n( 'i', strtotime( $invoice_date ) ); ?>" pattern="\-?\d+(\.\d{0,})?" />
|
197 |
+
</p>
|
198 |
+
<?php
|
199 |
}
|
200 |
}
|
201 |
|
202 |
/**
|
203 |
* Save invoice number
|
204 |
*/
|
205 |
+
public function save_invoice_number_date($post_id) {
|
206 |
global $post_type;
|
207 |
+
if( $post_type == 'shop_order' ) {
|
208 |
+
if ( isset($_POST['_wcpdf_invoice_number']) ) {
|
209 |
+
update_post_meta( $post_id, '_wcpdf_invoice_number', stripslashes( $_POST['_wcpdf_invoice_number'] ));
|
210 |
+
}
|
211 |
+
if ( isset($_POST['wcpdf_invoice_date']) ) {
|
212 |
+
$invoice_date = strtotime( $_POST['wcpdf_invoice_date'] . ' ' . (int) $_POST['wcpdf_invoice_date_hour'] . ':' . (int) $_POST['wcpdf_invoice_date_minute'] . ':00' );
|
213 |
+
$invoice_date = date_i18n( 'Y-m-d H:i:s', $invoice_date );
|
214 |
+
update_post_meta( $post_id, '_wcpdf_invoice_date', $invoice_date );
|
215 |
+
}
|
216 |
+
|
217 |
}
|
218 |
}
|
219 |
}
|
languages/wpo_wcpdf-de_DE.mo
CHANGED
Binary file
|
languages/wpo_wcpdf-de_DE.po
CHANGED
@@ -1,8 +1,8 @@
|
|
1 |
msgid ""
|
2 |
msgstr ""
|
3 |
"Project-Id-Version: WooCommerce PDF Invoices & Packing Slips\n"
|
4 |
-
"POT-Creation-Date: 2014-
|
5 |
-
"PO-Revision-Date: 2014-
|
6 |
"Last-Translator: \n"
|
7 |
"Language-Team: WP Overnight <support@wpovernight.com>\n"
|
8 |
"Language: de_DE\n"
|
@@ -16,29 +16,29 @@ msgstr ""
|
|
16 |
"X-Poedit-KeywordsList: __;_e;_x;_n:1,2\n"
|
17 |
"X-Poedit-SearchPath-0: .\n"
|
18 |
|
19 |
-
#: includes/class-wcpdf-export.php:
|
20 |
-
#: includes/class-wcpdf-export.php:
|
21 |
-
#: includes/class-wcpdf-export.php:
|
22 |
msgid "You do not have sufficient permissions to access this page."
|
23 |
msgstr "Du hast keine Berechtigung diese Seite anzuzeigen."
|
24 |
|
25 |
# This is a filename (prefix). do not use spaces or special characters!
|
26 |
-
#: includes/class-wcpdf-export.php:
|
27 |
msgid "invoice"
|
28 |
msgid_plural "invoices"
|
29 |
msgstr[0] "Rechnung"
|
30 |
msgstr[1] "Rechnungen"
|
31 |
|
32 |
# This is a filename (prefix). do not use spaces or special characters!
|
33 |
-
#: includes/class-wcpdf-export.php:
|
34 |
msgid "packing-slip"
|
35 |
msgid_plural "packing-slips"
|
36 |
msgstr[0] "Packzettel"
|
37 |
msgstr[1] "Packzettel"
|
38 |
|
39 |
#: includes/class-wcpdf-settings.php:36 includes/class-wcpdf-settings.php:37
|
40 |
-
#: includes/class-wcpdf-writepanels.php:
|
41 |
-
#: includes/class-wcpdf-writepanels.php:
|
42 |
msgid "PDF Invoices"
|
43 |
msgstr "PDF Rechnungen"
|
44 |
|
@@ -318,31 +318,43 @@ msgstr ""
|
|
318 |
msgid "Invoice Number"
|
319 |
msgstr "Rechnungsnummer"
|
320 |
|
321 |
-
#: includes/class-wcpdf-writepanels.php:
|
322 |
-
msgid "Create PDF"
|
323 |
-
msgstr "PDF Erzeugen"
|
324 |
-
|
325 |
-
#: includes/class-wcpdf-writepanels.php:143
|
326 |
msgid "Download invoice (PDF)"
|
327 |
msgstr "PDF Rechnung runterladen"
|
328 |
|
329 |
-
#: includes/class-wcpdf-writepanels.php:
|
|
|
|
|
|
|
|
|
330 |
msgid "PDF invoice"
|
331 |
msgstr "PDF Rechnung"
|
332 |
|
333 |
-
#: includes/class-wcpdf-writepanels.php:
|
334 |
msgid "PDF Packing Slip"
|
335 |
msgstr "PDF Packliste"
|
336 |
|
337 |
-
#: includes/class-wcpdf-writepanels.php:
|
338 |
-
#: includes/class-wcpdf-writepanels.php:
|
339 |
msgid "PDF Packing Slips"
|
340 |
msgstr "PDF Packlisten"
|
341 |
|
342 |
-
#: includes/class-wcpdf-writepanels.php:
|
343 |
msgid "PDF Invoice Number (unformatted!)"
|
344 |
msgstr ""
|
345 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
346 |
#: templates/pdf/Simple/html-document-wrapper.php:6
|
347 |
#: templates/pdf/Simple/invoice.php:9 templates/pdf/Simple/invoice.php:21
|
348 |
msgid "Invoice"
|
@@ -356,7 +368,7 @@ msgstr "Packliste"
|
|
356 |
|
357 |
#: templates/pdf/Simple/invoice.php:37
|
358 |
msgid "Invoice Date:"
|
359 |
-
msgstr "Rechnungsdatum"
|
360 |
|
361 |
#: templates/pdf/Simple/invoice.php:40
|
362 |
#: templates/pdf/Simple/packing-slip.php:30
|
@@ -395,16 +407,20 @@ msgid "Description"
|
|
395 |
msgstr "Beschreibung"
|
396 |
|
397 |
#: templates/pdf/Simple/invoice.php:80
|
|
|
|
|
|
|
|
|
398 |
#: templates/pdf/Simple/packing-slip.php:54
|
399 |
msgid "SKU:"
|
400 |
-
msgstr "
|
401 |
|
402 |
-
#: templates/pdf/Simple/invoice.php:
|
403 |
#: templates/pdf/Simple/packing-slip.php:55
|
404 |
msgid "Weight:"
|
405 |
msgstr "Gewicht:"
|
406 |
|
407 |
-
#: templates/pdf/Simple/invoice.php:
|
408 |
#: templates/pdf/Simple/packing-slip.php:69
|
409 |
msgid "Customer Notes"
|
410 |
msgstr "Kundenanmerkungen"
|
@@ -421,35 +437,35 @@ msgstr "WooCommerce PDF Invoices & Packing Slips benötigt %sWooCommerce%s !"
|
|
421 |
msgid "N/A"
|
422 |
msgstr "N/A"
|
423 |
|
424 |
-
#: woocommerce-pdf-invoices-packingslips.php:
|
425 |
msgid "Payment method"
|
426 |
msgstr "Zahlungsart"
|
427 |
|
428 |
-
#: woocommerce-pdf-invoices-packingslips.php:
|
429 |
msgid "Shipping method"
|
430 |
msgstr "Versandart"
|
431 |
|
432 |
-
#: woocommerce-pdf-invoices-packingslips.php:
|
433 |
msgid "Subtotal"
|
434 |
msgstr "Zwischensumme"
|
435 |
|
436 |
-
#: woocommerce-pdf-invoices-packingslips.php:
|
437 |
msgid "Shipping"
|
438 |
msgstr "Versand"
|
439 |
|
440 |
-
#: woocommerce-pdf-invoices-packingslips.php:
|
441 |
msgid "Discount"
|
442 |
msgstr "Rabatt"
|
443 |
|
444 |
-
#: woocommerce-pdf-invoices-packingslips.php:
|
445 |
msgid "VAT"
|
446 |
-
msgstr "MwSt"
|
447 |
|
448 |
-
#: woocommerce-pdf-invoices-packingslips.php:
|
449 |
msgid "Total ex. VAT"
|
450 |
-
msgstr "Gesamtsumme ohne MwSt"
|
451 |
|
452 |
-
#: woocommerce-pdf-invoices-packingslips.php:
|
453 |
msgid "Total"
|
454 |
msgstr "Gesamtsumme"
|
455 |
|
1 |
msgid ""
|
2 |
msgstr ""
|
3 |
"Project-Id-Version: WooCommerce PDF Invoices & Packing Slips\n"
|
4 |
+
"POT-Creation-Date: 2014-09-01 10:05+0100\n"
|
5 |
+
"PO-Revision-Date: 2014-09-01 10:06+0100\n"
|
6 |
"Last-Translator: \n"
|
7 |
"Language-Team: WP Overnight <support@wpovernight.com>\n"
|
8 |
"Language: de_DE\n"
|
16 |
"X-Poedit-KeywordsList: __;_e;_x;_n:1,2\n"
|
17 |
"X-Poedit-SearchPath-0: .\n"
|
18 |
|
19 |
+
#: includes/class-wcpdf-export.php:168 includes/class-wcpdf-export.php:173
|
20 |
+
#: includes/class-wcpdf-export.php:178 includes/class-wcpdf-export.php:189
|
21 |
+
#: includes/class-wcpdf-export.php:202
|
22 |
msgid "You do not have sufficient permissions to access this page."
|
23 |
msgstr "Du hast keine Berechtigung diese Seite anzuzeigen."
|
24 |
|
25 |
# This is a filename (prefix). do not use spaces or special characters!
|
26 |
+
#: includes/class-wcpdf-export.php:223 includes/class-wcpdf-export.php:303
|
27 |
msgid "invoice"
|
28 |
msgid_plural "invoices"
|
29 |
msgstr[0] "Rechnung"
|
30 |
msgstr[1] "Rechnungen"
|
31 |
|
32 |
# This is a filename (prefix). do not use spaces or special characters!
|
33 |
+
#: includes/class-wcpdf-export.php:225
|
34 |
msgid "packing-slip"
|
35 |
msgid_plural "packing-slips"
|
36 |
msgstr[0] "Packzettel"
|
37 |
msgstr[1] "Packzettel"
|
38 |
|
39 |
#: includes/class-wcpdf-settings.php:36 includes/class-wcpdf-settings.php:37
|
40 |
+
#: includes/class-wcpdf-writepanels.php:176
|
41 |
+
#: includes/class-wcpdf-writepanels.php:177
|
42 |
msgid "PDF Invoices"
|
43 |
msgstr "PDF Rechnungen"
|
44 |
|
318 |
msgid "Invoice Number"
|
319 |
msgstr "Rechnungsnummer"
|
320 |
|
321 |
+
#: includes/class-wcpdf-writepanels.php:139
|
|
|
|
|
|
|
|
|
322 |
msgid "Download invoice (PDF)"
|
323 |
msgstr "PDF Rechnung runterladen"
|
324 |
|
325 |
+
#: includes/class-wcpdf-writepanels.php:150
|
326 |
+
msgid "Create PDF"
|
327 |
+
msgstr "PDF Erzeugen"
|
328 |
+
|
329 |
+
#: includes/class-wcpdf-writepanels.php:160
|
330 |
msgid "PDF invoice"
|
331 |
msgstr "PDF Rechnung"
|
332 |
|
333 |
+
#: includes/class-wcpdf-writepanels.php:161
|
334 |
msgid "PDF Packing Slip"
|
335 |
msgstr "PDF Packliste"
|
336 |
|
337 |
+
#: includes/class-wcpdf-writepanels.php:178
|
338 |
+
#: includes/class-wcpdf-writepanels.php:179
|
339 |
msgid "PDF Packing Slips"
|
340 |
msgstr "PDF Packlisten"
|
341 |
|
342 |
+
#: includes/class-wcpdf-writepanels.php:192
|
343 |
msgid "PDF Invoice Number (unformatted!)"
|
344 |
msgstr ""
|
345 |
|
346 |
+
#: includes/class-wcpdf-writepanels.php:195
|
347 |
+
msgid "Invoice date:"
|
348 |
+
msgstr "Rechnungsdatum:"
|
349 |
+
|
350 |
+
#: includes/class-wcpdf-writepanels.php:196
|
351 |
+
msgid "h"
|
352 |
+
msgstr ""
|
353 |
+
|
354 |
+
#: includes/class-wcpdf-writepanels.php:196
|
355 |
+
msgid "m"
|
356 |
+
msgstr ""
|
357 |
+
|
358 |
#: templates/pdf/Simple/html-document-wrapper.php:6
|
359 |
#: templates/pdf/Simple/invoice.php:9 templates/pdf/Simple/invoice.php:21
|
360 |
msgid "Invoice"
|
368 |
|
369 |
#: templates/pdf/Simple/invoice.php:37
|
370 |
msgid "Invoice Date:"
|
371 |
+
msgstr "Rechnungsdatum:"
|
372 |
|
373 |
#: templates/pdf/Simple/invoice.php:40
|
374 |
#: templates/pdf/Simple/packing-slip.php:30
|
407 |
msgstr "Beschreibung"
|
408 |
|
409 |
#: templates/pdf/Simple/invoice.php:80
|
410 |
+
msgid "SKU"
|
411 |
+
msgstr "Art.-Nr."
|
412 |
+
|
413 |
+
#: templates/pdf/Simple/invoice.php:81
|
414 |
#: templates/pdf/Simple/packing-slip.php:54
|
415 |
msgid "SKU:"
|
416 |
+
msgstr "Art.-Nr.:"
|
417 |
|
418 |
+
#: templates/pdf/Simple/invoice.php:82
|
419 |
#: templates/pdf/Simple/packing-slip.php:55
|
420 |
msgid "Weight:"
|
421 |
msgstr "Gewicht:"
|
422 |
|
423 |
+
#: templates/pdf/Simple/invoice.php:114
|
424 |
#: templates/pdf/Simple/packing-slip.php:69
|
425 |
msgid "Customer Notes"
|
426 |
msgstr "Kundenanmerkungen"
|
437 |
msgid "N/A"
|
438 |
msgstr "N/A"
|
439 |
|
440 |
+
#: woocommerce-pdf-invoices-packingslips.php:264
|
441 |
msgid "Payment method"
|
442 |
msgstr "Zahlungsart"
|
443 |
|
444 |
+
#: woocommerce-pdf-invoices-packingslips.php:275
|
445 |
msgid "Shipping method"
|
446 |
msgstr "Versandart"
|
447 |
|
448 |
+
#: woocommerce-pdf-invoices-packingslips.php:375
|
449 |
msgid "Subtotal"
|
450 |
msgstr "Zwischensumme"
|
451 |
|
452 |
+
#: woocommerce-pdf-invoices-packingslips.php:397
|
453 |
msgid "Shipping"
|
454 |
msgstr "Versand"
|
455 |
|
456 |
+
#: woocommerce-pdf-invoices-packingslips.php:431
|
457 |
msgid "Discount"
|
458 |
msgstr "Rabatt"
|
459 |
|
460 |
+
#: woocommerce-pdf-invoices-packingslips.php:470
|
461 |
msgid "VAT"
|
462 |
+
msgstr "MwSt."
|
463 |
|
464 |
+
#: woocommerce-pdf-invoices-packingslips.php:507
|
465 |
msgid "Total ex. VAT"
|
466 |
+
msgstr "Gesamtsumme ohne MwSt."
|
467 |
|
468 |
+
#: woocommerce-pdf-invoices-packingslips.php:510
|
469 |
msgid "Total"
|
470 |
msgstr "Gesamtsumme"
|
471 |
|
languages/wpo_wcpdf.pot
CHANGED
@@ -1,8 +1,8 @@
|
|
1 |
msgid ""
|
2 |
msgstr ""
|
3 |
"Project-Id-Version: WooCommerce PDF Invoices & Packing Slips\n"
|
4 |
-
"POT-Creation-Date: 2014-
|
5 |
-
"PO-Revision-Date: 2014-
|
6 |
"Last-Translator: \n"
|
7 |
"Language-Team: WP Overnight <support@wpovernight.com>\n"
|
8 |
"Language: en_US\n"
|
@@ -16,29 +16,29 @@ msgstr ""
|
|
16 |
"X-Poedit-KeywordsList: __;_e;_x;_n:1,2\n"
|
17 |
"X-Poedit-SearchPath-0: .\n"
|
18 |
|
19 |
-
#: includes/class-wcpdf-export.php:
|
20 |
-
#: includes/class-wcpdf-export.php:
|
21 |
-
#: includes/class-wcpdf-export.php:
|
22 |
msgid "You do not have sufficient permissions to access this page."
|
23 |
msgstr ""
|
24 |
|
25 |
# This is a filename (prefix). do not use spaces or special characters!
|
26 |
-
#: includes/class-wcpdf-export.php:
|
27 |
msgid "invoice"
|
28 |
msgid_plural "invoices"
|
29 |
msgstr[0] ""
|
30 |
msgstr[1] ""
|
31 |
|
32 |
# This is a filename (prefix). do not use spaces or special characters!
|
33 |
-
#: includes/class-wcpdf-export.php:
|
34 |
msgid "packing-slip"
|
35 |
msgid_plural "packing-slips"
|
36 |
msgstr[0] ""
|
37 |
msgstr[1] ""
|
38 |
|
39 |
#: includes/class-wcpdf-settings.php:36 includes/class-wcpdf-settings.php:37
|
40 |
-
#: includes/class-wcpdf-writepanels.php:
|
41 |
-
#: includes/class-wcpdf-writepanels.php:
|
42 |
msgid "PDF Invoices"
|
43 |
msgstr ""
|
44 |
|
@@ -302,31 +302,43 @@ msgstr ""
|
|
302 |
msgid "Invoice Number"
|
303 |
msgstr ""
|
304 |
|
305 |
-
#: includes/class-wcpdf-writepanels.php:
|
306 |
-
msgid "
|
307 |
msgstr ""
|
308 |
|
309 |
-
#: includes/class-wcpdf-writepanels.php:
|
310 |
-
msgid "
|
311 |
msgstr ""
|
312 |
|
313 |
-
#: includes/class-wcpdf-writepanels.php:
|
314 |
msgid "PDF invoice"
|
315 |
msgstr ""
|
316 |
|
317 |
-
#: includes/class-wcpdf-writepanels.php:
|
318 |
msgid "PDF Packing Slip"
|
319 |
msgstr ""
|
320 |
|
321 |
-
#: includes/class-wcpdf-writepanels.php:
|
322 |
-
#: includes/class-wcpdf-writepanels.php:
|
323 |
msgid "PDF Packing Slips"
|
324 |
msgstr ""
|
325 |
|
326 |
-
#: includes/class-wcpdf-writepanels.php:
|
327 |
msgid "PDF Invoice Number (unformatted!)"
|
328 |
msgstr ""
|
329 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
330 |
#: templates/pdf/Simple/html-document-wrapper.php:6
|
331 |
#: templates/pdf/Simple/invoice.php:9 templates/pdf/Simple/invoice.php:21
|
332 |
msgid "Invoice"
|
@@ -379,16 +391,20 @@ msgid "Description"
|
|
379 |
msgstr ""
|
380 |
|
381 |
#: templates/pdf/Simple/invoice.php:80
|
|
|
|
|
|
|
|
|
382 |
#: templates/pdf/Simple/packing-slip.php:54
|
383 |
msgid "SKU:"
|
384 |
msgstr ""
|
385 |
|
386 |
-
#: templates/pdf/Simple/invoice.php:
|
387 |
#: templates/pdf/Simple/packing-slip.php:55
|
388 |
msgid "Weight:"
|
389 |
msgstr ""
|
390 |
|
391 |
-
#: templates/pdf/Simple/invoice.php:
|
392 |
#: templates/pdf/Simple/packing-slip.php:69
|
393 |
msgid "Customer Notes"
|
394 |
msgstr ""
|
@@ -405,34 +421,34 @@ msgstr ""
|
|
405 |
msgid "N/A"
|
406 |
msgstr ""
|
407 |
|
408 |
-
#: woocommerce-pdf-invoices-packingslips.php:
|
409 |
msgid "Payment method"
|
410 |
msgstr ""
|
411 |
|
412 |
-
#: woocommerce-pdf-invoices-packingslips.php:
|
413 |
msgid "Shipping method"
|
414 |
msgstr ""
|
415 |
|
416 |
-
#: woocommerce-pdf-invoices-packingslips.php:
|
417 |
msgid "Subtotal"
|
418 |
msgstr ""
|
419 |
|
420 |
-
#: woocommerce-pdf-invoices-packingslips.php:
|
421 |
msgid "Shipping"
|
422 |
msgstr ""
|
423 |
|
424 |
-
#: woocommerce-pdf-invoices-packingslips.php:
|
425 |
msgid "Discount"
|
426 |
msgstr ""
|
427 |
|
428 |
-
#: woocommerce-pdf-invoices-packingslips.php:
|
429 |
msgid "VAT"
|
430 |
msgstr ""
|
431 |
|
432 |
-
#: woocommerce-pdf-invoices-packingslips.php:
|
433 |
msgid "Total ex. VAT"
|
434 |
msgstr ""
|
435 |
|
436 |
-
#: woocommerce-pdf-invoices-packingslips.php:
|
437 |
msgid "Total"
|
438 |
msgstr ""
|
1 |
msgid ""
|
2 |
msgstr ""
|
3 |
"Project-Id-Version: WooCommerce PDF Invoices & Packing Slips\n"
|
4 |
+
"POT-Creation-Date: 2014-09-01 10:04+0100\n"
|
5 |
+
"PO-Revision-Date: 2014-09-01 10:04+0100\n"
|
6 |
"Last-Translator: \n"
|
7 |
"Language-Team: WP Overnight <support@wpovernight.com>\n"
|
8 |
"Language: en_US\n"
|
16 |
"X-Poedit-KeywordsList: __;_e;_x;_n:1,2\n"
|
17 |
"X-Poedit-SearchPath-0: .\n"
|
18 |
|
19 |
+
#: includes/class-wcpdf-export.php:168 includes/class-wcpdf-export.php:173
|
20 |
+
#: includes/class-wcpdf-export.php:178 includes/class-wcpdf-export.php:189
|
21 |
+
#: includes/class-wcpdf-export.php:202
|
22 |
msgid "You do not have sufficient permissions to access this page."
|
23 |
msgstr ""
|
24 |
|
25 |
# This is a filename (prefix). do not use spaces or special characters!
|
26 |
+
#: includes/class-wcpdf-export.php:223 includes/class-wcpdf-export.php:303
|
27 |
msgid "invoice"
|
28 |
msgid_plural "invoices"
|
29 |
msgstr[0] ""
|
30 |
msgstr[1] ""
|
31 |
|
32 |
# This is a filename (prefix). do not use spaces or special characters!
|
33 |
+
#: includes/class-wcpdf-export.php:225
|
34 |
msgid "packing-slip"
|
35 |
msgid_plural "packing-slips"
|
36 |
msgstr[0] ""
|
37 |
msgstr[1] ""
|
38 |
|
39 |
#: includes/class-wcpdf-settings.php:36 includes/class-wcpdf-settings.php:37
|
40 |
+
#: includes/class-wcpdf-writepanels.php:176
|
41 |
+
#: includes/class-wcpdf-writepanels.php:177
|
42 |
msgid "PDF Invoices"
|
43 |
msgstr ""
|
44 |
|
302 |
msgid "Invoice Number"
|
303 |
msgstr ""
|
304 |
|
305 |
+
#: includes/class-wcpdf-writepanels.php:139
|
306 |
+
msgid "Download invoice (PDF)"
|
307 |
msgstr ""
|
308 |
|
309 |
+
#: includes/class-wcpdf-writepanels.php:150
|
310 |
+
msgid "Create PDF"
|
311 |
msgstr ""
|
312 |
|
313 |
+
#: includes/class-wcpdf-writepanels.php:160
|
314 |
msgid "PDF invoice"
|
315 |
msgstr ""
|
316 |
|
317 |
+
#: includes/class-wcpdf-writepanels.php:161
|
318 |
msgid "PDF Packing Slip"
|
319 |
msgstr ""
|
320 |
|
321 |
+
#: includes/class-wcpdf-writepanels.php:178
|
322 |
+
#: includes/class-wcpdf-writepanels.php:179
|
323 |
msgid "PDF Packing Slips"
|
324 |
msgstr ""
|
325 |
|
326 |
+
#: includes/class-wcpdf-writepanels.php:192
|
327 |
msgid "PDF Invoice Number (unformatted!)"
|
328 |
msgstr ""
|
329 |
|
330 |
+
#: includes/class-wcpdf-writepanels.php:195
|
331 |
+
msgid "Invoice date:"
|
332 |
+
msgstr ""
|
333 |
+
|
334 |
+
#: includes/class-wcpdf-writepanels.php:196
|
335 |
+
msgid "h"
|
336 |
+
msgstr ""
|
337 |
+
|
338 |
+
#: includes/class-wcpdf-writepanels.php:196
|
339 |
+
msgid "m"
|
340 |
+
msgstr ""
|
341 |
+
|
342 |
#: templates/pdf/Simple/html-document-wrapper.php:6
|
343 |
#: templates/pdf/Simple/invoice.php:9 templates/pdf/Simple/invoice.php:21
|
344 |
msgid "Invoice"
|
391 |
msgstr ""
|
392 |
|
393 |
#: templates/pdf/Simple/invoice.php:80
|
394 |
+
msgid "SKU"
|
395 |
+
msgstr ""
|
396 |
+
|
397 |
+
#: templates/pdf/Simple/invoice.php:81
|
398 |
#: templates/pdf/Simple/packing-slip.php:54
|
399 |
msgid "SKU:"
|
400 |
msgstr ""
|
401 |
|
402 |
+
#: templates/pdf/Simple/invoice.php:82
|
403 |
#: templates/pdf/Simple/packing-slip.php:55
|
404 |
msgid "Weight:"
|
405 |
msgstr ""
|
406 |
|
407 |
+
#: templates/pdf/Simple/invoice.php:114
|
408 |
#: templates/pdf/Simple/packing-slip.php:69
|
409 |
msgid "Customer Notes"
|
410 |
msgstr ""
|
421 |
msgid "N/A"
|
422 |
msgstr ""
|
423 |
|
424 |
+
#: woocommerce-pdf-invoices-packingslips.php:264
|
425 |
msgid "Payment method"
|
426 |
msgstr ""
|
427 |
|
428 |
+
#: woocommerce-pdf-invoices-packingslips.php:275
|
429 |
msgid "Shipping method"
|
430 |
msgstr ""
|
431 |
|
432 |
+
#: woocommerce-pdf-invoices-packingslips.php:375
|
433 |
msgid "Subtotal"
|
434 |
msgstr ""
|
435 |
|
436 |
+
#: woocommerce-pdf-invoices-packingslips.php:397
|
437 |
msgid "Shipping"
|
438 |
msgstr ""
|
439 |
|
440 |
+
#: woocommerce-pdf-invoices-packingslips.php:431
|
441 |
msgid "Discount"
|
442 |
msgstr ""
|
443 |
|
444 |
+
#: woocommerce-pdf-invoices-packingslips.php:470
|
445 |
msgid "VAT"
|
446 |
msgstr ""
|
447 |
|
448 |
+
#: woocommerce-pdf-invoices-packingslips.php:507
|
449 |
msgid "Total ex. VAT"
|
450 |
msgstr ""
|
451 |
|
452 |
+
#: woocommerce-pdf-invoices-packingslips.php:510
|
453 |
msgid "Total"
|
454 |
msgstr ""
|
readme.txt
CHANGED
@@ -3,7 +3,7 @@ Contributors: pomegranate
|
|
3 |
Tags: woocommerce, print, pdf, bulk, packing slips, invoices, delivery notes, invoice, packing slip, export, email
|
4 |
Requires at least: 3.5 and WooCommerce 2.0
|
5 |
Tested up to: 3.9.1 and WooCommerce 2.1
|
6 |
-
Stable tag: 1.4.
|
7 |
License: GPLv2 or later
|
8 |
License URI: http://www.gnu.org/licenses/gpl-2.0.html
|
9 |
|
@@ -78,6 +78,14 @@ This plugin is translation ready, which means that you can translate it using st
|
|
78 |
7. Enter the translations. invoice and packing-slip now have two translation fields, single & plural. Note that this is a filename, so replace spaces with a - just to be sure!
|
79 |
8. Save as `wpo_wcpdf-xx_XX.po`, where you replace xx_XX with your language code & country code suffix (da_DK, pl_PL, de_DE etc.)
|
80 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
81 |
= How can I display custom fields in the invoice or packing slip? =
|
82 |
First, you need to create a custom template following instructions from the first item in this FAQ.
|
83 |
Then place the following snippet where you would like the custom field to appear:
|
@@ -174,6 +182,14 @@ This usually only happens on batch actions. PDF creation is a memory intensive j
|
|
174 |
|
175 |
== Changelog ==
|
176 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
177 |
= 1.4.3 =
|
178 |
* Feature: Added function to call custom fields more easily (see FAQ)
|
179 |
* Feature: Change the my account button text via a filter (wpo_wcpdf_myaccount_button_text)
|
3 |
Tags: woocommerce, print, pdf, bulk, packing slips, invoices, delivery notes, invoice, packing slip, export, email
|
4 |
Requires at least: 3.5 and WooCommerce 2.0
|
5 |
Tested up to: 3.9.1 and WooCommerce 2.1
|
6 |
+
Stable tag: 1.4.4
|
7 |
License: GPLv2 or later
|
8 |
License URI: http://www.gnu.org/licenses/gpl-2.0.html
|
9 |
|
78 |
7. Enter the translations. invoice and packing-slip now have two translation fields, single & plural. Note that this is a filename, so replace spaces with a - just to be sure!
|
79 |
8. Save as `wpo_wcpdf-xx_XX.po`, where you replace xx_XX with your language code & country code suffix (da_DK, pl_PL, de_DE etc.)
|
80 |
|
81 |
+
|
82 |
+
= How can I display the HTML/CSS source for debugging/developing templates? =
|
83 |
+
Add the following code to your theme's `functions.php`
|
84 |
+
`
|
85 |
+
add_filter( 'wpo_wcpdf_output_html', '__return_true' );
|
86 |
+
add_filter( 'wpo_wcpdf_use_path', '__return_false' );
|
87 |
+
`
|
88 |
+
|
89 |
= How can I display custom fields in the invoice or packing slip? =
|
90 |
First, you need to create a custom template following instructions from the first item in this FAQ.
|
91 |
Then place the following snippet where you would like the custom field to appear:
|
182 |
|
183 |
== Changelog ==
|
184 |
|
185 |
+
= 1.4.4 =
|
186 |
+
* Feature: Editable invoice date per order/invoice.
|
187 |
+
* Feature: HTML is now allowed in footer and other settings fields.
|
188 |
+
* Translations: Updated German (Thanks Nadine!)
|
189 |
+
* Fix: template paths are now saved relative to the site base path (ABSPATH) to prevent errors when moving to another server
|
190 |
+
* Tweak: Changed bulk action hook for better theme compatibility
|
191 |
+
* Tweak: Newlines in custom checkout fields
|
192 |
+
|
193 |
= 1.4.3 =
|
194 |
* Feature: Added function to call custom fields more easily (see FAQ)
|
195 |
* Feature: Change the my account button text via a filter (wpo_wcpdf_myaccount_button_text)
|
templates/pdf/Simple/invoice.php
CHANGED
@@ -77,6 +77,7 @@
|
|
77 |
<?php $description_label = __( 'Description', 'wpo_wcpdf' ); // registering alternate label translation ?>
|
78 |
<span class="item-name"><?php echo $item['name']; ?></span><span class="item-meta"><?php echo $item['meta']; ?></span>
|
79 |
<dl class="meta">
|
|
|
80 |
<?php if( !empty( $item['sku'] ) ) : ?><dt><?php _e( 'SKU:', 'wpo_wcpdf' ); ?></dt><dd><?php echo $item['sku']; ?></dd><?php endif; ?>
|
81 |
<?php if( !empty( $item['weight'] ) ) : ?><dt><?php _e( 'Weight:', 'wpo_wcpdf' ); ?></dt><dd><?php echo $item['weight']; ?><?php echo get_option('woocommerce_weight_unit'); ?></dd><?php endif; ?>
|
82 |
</dl>
|
77 |
<?php $description_label = __( 'Description', 'wpo_wcpdf' ); // registering alternate label translation ?>
|
78 |
<span class="item-name"><?php echo $item['name']; ?></span><span class="item-meta"><?php echo $item['meta']; ?></span>
|
79 |
<dl class="meta">
|
80 |
+
<?php $description_label = __( 'SKU', 'wpo_wcpdf' ); // registering alternate label translation ?>
|
81 |
<?php if( !empty( $item['sku'] ) ) : ?><dt><?php _e( 'SKU:', 'wpo_wcpdf' ); ?></dt><dd><?php echo $item['sku']; ?></dd><?php endif; ?>
|
82 |
<?php if( !empty( $item['weight'] ) ) : ?><dt><?php _e( 'Weight:', 'wpo_wcpdf' ); ?></dt><dd><?php echo $item['weight']; ?><?php echo get_option('woocommerce_weight_unit'); ?></dd><?php endif; ?>
|
83 |
</dl>
|
woocommerce-pdf-invoices-packingslips.php
CHANGED
@@ -3,7 +3,7 @@
|
|
3 |
* Plugin Name: WooCommerce PDF Invoices & Packing Slips
|
4 |
* Plugin URI: http://www.wpovernight.com
|
5 |
* Description: Create, print & email PDF invoices & packing slips for WooCommerce orders.
|
6 |
-
* Version: 1.4.
|
7 |
* Author: Ewout Fernhout
|
8 |
* Author URI: http://www.wpovernight.com
|
9 |
* License: GPLv2 or later
|
@@ -243,7 +243,7 @@ if ( !class_exists( 'WooCommerce_PDF_Invoices' ) ) {
|
|
243 |
}
|
244 |
|
245 |
if (!empty($custom_field) || $display_empty) {
|
246 |
-
echo $field_label . $custom_field;
|
247 |
}
|
248 |
}
|
249 |
|
@@ -468,11 +468,16 @@ if ( !class_exists( 'WooCommerce_PDF_Invoices' ) ) {
|
|
468 |
*/
|
469 |
public function get_order_taxes() {
|
470 |
$tax_label = __( 'VAT', 'wpo_wcpdf' ); // register alternate label translation
|
|
|
471 |
if ($this->export->order->get_taxes()) {
|
472 |
foreach ( $this->export->order->get_taxes() as $key => $tax ) {
|
473 |
$taxes[ $key ] = array(
|
474 |
-
'label'
|
475 |
-
'value'
|
|
|
|
|
|
|
|
|
476 |
);
|
477 |
}
|
478 |
|
3 |
* Plugin Name: WooCommerce PDF Invoices & Packing Slips
|
4 |
* Plugin URI: http://www.wpovernight.com
|
5 |
* Description: Create, print & email PDF invoices & packing slips for WooCommerce orders.
|
6 |
+
* Version: 1.4.4
|
7 |
* Author: Ewout Fernhout
|
8 |
* Author URI: http://www.wpovernight.com
|
9 |
* License: GPLv2 or later
|
243 |
}
|
244 |
|
245 |
if (!empty($custom_field) || $display_empty) {
|
246 |
+
echo $field_label . nl2br ($custom_field);
|
247 |
}
|
248 |
}
|
249 |
|
468 |
*/
|
469 |
public function get_order_taxes() {
|
470 |
$tax_label = __( 'VAT', 'wpo_wcpdf' ); // register alternate label translation
|
471 |
+
$tax_rate_ids = $this->export->get_tax_rate_ids();
|
472 |
if ($this->export->order->get_taxes()) {
|
473 |
foreach ( $this->export->order->get_taxes() as $key => $tax ) {
|
474 |
$taxes[ $key ] = array(
|
475 |
+
'label' => isset( $tax[ 'label' ] ) ? $tax[ 'label' ] : $tax[ 'name' ],
|
476 |
+
'value' => woocommerce_price( ( $tax[ 'tax_amount' ] + $tax[ 'shipping_tax_amount' ] ) ),
|
477 |
+
'rate_id' => $tax['rate_id'],
|
478 |
+
'tax_amount' => $tax['tax_amount'],
|
479 |
+
'shipping_tax_amount' => $tax['shipping_tax_amount'],
|
480 |
+
'rate' => isset( $tax_rate_ids[ $tax['rate_id'] ] ) ? ( (float) $tax_rate_ids[$tax['rate_id']]['tax_rate'] ) . ' %': '',
|
481 |
);
|
482 |
}
|
483 |
|