Version Description
- 20/09/2014 =
- Fix - Emails - Bug causing
call_user_func_array()
warning, fixed. Suggested by Andrew. - Dev - New WooCommerce Jetpack Dashboard in admin settings.
Download this release
Release Info
Developer | algoritmika |
Plugin | Booster for WooCommerce |
Version | 1.5.2 |
Comparing to | |
See all releases |
Code changes from version 1.5.0 to 1.5.2
- includes/admin/settings/class-wc-settings-jetpack.php +83 -9
- includes/class-wcj-emails.php +7 -3
- includes/class-wcj-orders.php +16 -6
- includes/class-wcj-pdf-invoices.php +85 -22
- includes/class-wcj-price-labels.php +4 -3
- includes/class-wcj-reports.php +15 -17
- readme.txt +40 -12
- woocommerce-jetpack.php +2 -2
includes/admin/settings/class-wc-settings-jetpack.php
CHANGED
@@ -1,15 +1,19 @@
|
|
1 |
<?php
|
2 |
/**
|
3 |
* WooCommerce Jetpack Settings
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
4 |
*/
|
5 |
|
6 |
if ( ! defined( 'ABSPATH' ) ) exit; // Exit if accessed directly
|
7 |
|
8 |
if ( ! class_exists( 'WC_Settings_Jetpack' ) ) :
|
9 |
|
10 |
-
/**
|
11 |
-
* WC_Settings_Jetpack
|
12 |
-
*/
|
13 |
class WC_Settings_Jetpack extends WC_Settings_Page {
|
14 |
|
15 |
/**
|
@@ -36,17 +40,87 @@ class WC_Settings_Jetpack extends WC_Settings_Page {
|
|
36 |
'' => __( 'Dashboard', 'woocommerce-jetpack' ),
|
37 |
) );
|
38 |
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
39 |
|
40 |
/**
|
41 |
-
* Output the settings
|
42 |
*/
|
43 |
public function output() {
|
44 |
|
45 |
global $current_section;
|
46 |
|
47 |
$settings = $this->get_settings( $current_section );
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
48 |
|
49 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
50 |
}
|
51 |
|
52 |
/**
|
@@ -91,12 +165,12 @@ class WC_Settings_Jetpack extends WC_Settings_Page {
|
|
91 |
|
92 |
$settings[] = array( 'type' => 'sectionend', 'id' => 'wcj_options' );
|
93 |
|
94 |
-
|
95 |
$i = 0;
|
96 |
$s = count( $settings );
|
97 |
foreach ( $settings as $single_item ) {
|
98 |
|
99 |
-
if ( ( 'checkbox'
|
100 |
|
101 |
if ( 1 == $i ) {
|
102 |
$single_item['checkboxgroup'] = 'start';
|
@@ -123,9 +197,9 @@ class WC_Settings_Jetpack extends WC_Settings_Page {
|
|
123 |
$updated_settings[] = $single_item;
|
124 |
|
125 |
$i++;
|
126 |
-
}
|
127 |
|
128 |
-
return $
|
129 |
}
|
130 |
}
|
131 |
}
|
1 |
<?php
|
2 |
/**
|
3 |
* WooCommerce Jetpack Settings
|
4 |
+
*
|
5 |
+
* The WooCommerce Jetpack Settings class.
|
6 |
+
*
|
7 |
+
* @class WC_Settings_Jetpack
|
8 |
+
* @version 1.0.1
|
9 |
+
* @category Class
|
10 |
+
* @author Algoritmika Ltd.
|
11 |
*/
|
12 |
|
13 |
if ( ! defined( 'ABSPATH' ) ) exit; // Exit if accessed directly
|
14 |
|
15 |
if ( ! class_exists( 'WC_Settings_Jetpack' ) ) :
|
16 |
|
|
|
|
|
|
|
17 |
class WC_Settings_Jetpack extends WC_Settings_Page {
|
18 |
|
19 |
/**
|
40 |
'' => __( 'Dashboard', 'woocommerce-jetpack' ),
|
41 |
) );
|
42 |
}
|
43 |
+
|
44 |
+
/**
|
45 |
+
* active.
|
46 |
+
*/
|
47 |
+
public function active( $active ) {
|
48 |
+
if ( 'yes' === $active ) return 'active';
|
49 |
+
else return 'inactive';
|
50 |
+
}
|
51 |
|
52 |
/**
|
53 |
+
* Output the settings.
|
54 |
*/
|
55 |
public function output() {
|
56 |
|
57 |
global $current_section;
|
58 |
|
59 |
$settings = $this->get_settings( $current_section );
|
60 |
+
|
61 |
+
if ( '' != $current_section )
|
62 |
+
WC_Admin_Settings::output_fields( $settings );
|
63 |
+
else {
|
64 |
+
|
65 |
+
$the_settings = $this->get_settings();
|
66 |
+
|
67 |
+
echo '<h3>' . $the_settings[0]['title'] . '</h3>';
|
68 |
+
echo '<p>' . $the_settings[0]['desc'] . '</p>';
|
69 |
+
|
70 |
+
?><table class="wp-list-table widefat plugins">
|
71 |
+
<thead>
|
72 |
+
<tr>
|
73 |
+
<th scope="col" id="cb" class="manage-column column-cb check-column" style=""><label class="screen-reader-text" for="cb-select-all-1">Select All</label><input id="cb-select-all-1" type="checkbox"></th>
|
74 |
+
<th scope="col" id="name" class="manage-column column-name" style="">Feature</th>
|
75 |
+
<th scope="col" id="description" class="manage-column column-description" style="">Description</th>
|
76 |
+
</tr>
|
77 |
+
</thead>
|
78 |
+
<tfoot>
|
79 |
+
<tr>
|
80 |
+
<th scope="col" class="manage-column column-cb check-column" style=""><label class="screen-reader-text" for="cb-select-all-2">Select All</label><input id="cb-select-all-2" type="checkbox"></th>
|
81 |
+
<th scope="col" class="manage-column column-name" style="">Feature</th>
|
82 |
+
<th scope="col" class="manage-column column-description" style="">Description</th>
|
83 |
+
</tr>
|
84 |
+
</tfoot>
|
85 |
+
<tbody id="the-list"><?php
|
86 |
+
$html = '';
|
87 |
+
foreach ( $the_settings as $the_feature ) {
|
88 |
+
|
89 |
+
if ( 'checkbox' !== $the_feature['type'] ) continue;
|
90 |
+
|
91 |
+
$html .= '<tr id="' . $the_feature['id'] . '" ' . 'class="' . $this->active( get_option( $the_feature['id'] ) ) . '">';
|
92 |
+
|
93 |
+
$html .= '<th scope="row" class="check-column">';
|
94 |
+
//$html .= '<label class="screen-reader-text" for="' . $the_feature['id'] . '">' . __( 'Enable the ', 'woocommerce-jetpack' ) . $the_feature['title'] . ' feature</label>';
|
95 |
+
$html .= '<label class="screen-reader-text" for="' . $the_feature['id'] . '">' . $the_feature['desc'] . '</label>';
|
96 |
+
$html .= '<input type="checkbox" name="' . $the_feature['id'] . '" value="1" id="' . $the_feature['id'] . '" ' . checked( get_option( $the_feature['id'] ), 'yes', false ) . '>';
|
97 |
+
$html .= '</th>';
|
98 |
|
99 |
+
$html .= '<td class="plugin-title"><strong>' . $the_feature['title'] . '</strong>';
|
100 |
+
$html .= '<div class="row-actions visible">';
|
101 |
+
//$html .= '<span class="deactivate"><a href="" title="Deactivate feature">Deactivate</a> | </span>';
|
102 |
+
|
103 |
+
// Temporary solution - 17/09/2014
|
104 |
+
$section = $the_feature['id'];
|
105 |
+
$section = str_replace( 'wcj_', '', $section );
|
106 |
+
$section = str_replace( '_enabled', '', $section );
|
107 |
+
if ( 'currency' === $section ) $section = 'currencies';
|
108 |
+
|
109 |
+
$html .= '<span class="0"><a href="/wp-admin/admin.php?page=wc-settings&tab=jetpack§ion=' . $section . '">Settings</a></span>';
|
110 |
+
$html .= '</div>';
|
111 |
+
$html .= '</td>';
|
112 |
+
|
113 |
+
$html .= '<td class="column-description desc">';
|
114 |
+
$html .= '<div class="plugin-description"><p>' . $the_feature['desc_tip'] . '</p></div>';
|
115 |
+
//$html .= '<div class="active second plugin-version-author-uri">Versija 2.1.1 | Sukūrė <a href="" title="Aplankyti autoriaus puslapį">Ramoonus</a> | <a href="" title="Aplankyti įskiepio puslapį">Aplankyti įskiepio puslapį</a></div>';
|
116 |
+
$html .= '</td>';
|
117 |
+
|
118 |
+
$html .= '</tr>';
|
119 |
+
}
|
120 |
+
echo $html;
|
121 |
+
?></tbody>
|
122 |
+
</table><?php
|
123 |
+
}
|
124 |
}
|
125 |
|
126 |
/**
|
165 |
|
166 |
$settings[] = array( 'type' => 'sectionend', 'id' => 'wcj_options' );
|
167 |
|
168 |
+
/*$updated_settings = array();
|
169 |
$i = 0;
|
170 |
$s = count( $settings );
|
171 |
foreach ( $settings as $single_item ) {
|
172 |
|
173 |
+
if ( ( 'checkbox' === $single_item['type'] ) && ( $i > 0 ) ) {
|
174 |
|
175 |
if ( 1 == $i ) {
|
176 |
$single_item['checkboxgroup'] = 'start';
|
197 |
$updated_settings[] = $single_item;
|
198 |
|
199 |
$i++;
|
200 |
+
}*/
|
201 |
|
202 |
+
return $settings;//apply_filters('wcj_general_settings', $settings );
|
203 |
}
|
204 |
}
|
205 |
}
|
includes/class-wcj-emails.php
CHANGED
@@ -4,8 +4,12 @@
|
|
4 |
*
|
5 |
* The WooCommerce Jetpack Emails class.
|
6 |
*
|
7 |
-
* @class
|
|
|
|
|
|
|
8 |
*/
|
|
|
9 |
if ( ! defined( 'ABSPATH' ) ) exit; // Exit if accessed directly
|
10 |
|
11 |
if ( ! class_exists( 'WCJ_Emails' ) ) :
|
@@ -21,10 +25,10 @@ class WCJ_Emails {
|
|
21 |
if ( get_option( 'wcj_emails_enabled' ) == 'yes' ) {
|
22 |
|
23 |
if ( get_option( 'wcj_emails_bcc_email' ) !== '' )
|
24 |
-
add_filter( 'woocommerce_email_headers', 'add_bcc_email' );
|
25 |
|
26 |
if ( get_option( 'wcj_emails_cc_email' ) !== '' )
|
27 |
-
add_filter( 'woocommerce_email_headers', 'add_cc_email' );
|
28 |
|
29 |
// Settings
|
30 |
add_filter( 'woocommerce_email_settings', array( $this, 'add_email_forwarding_fields' ), 100 );
|
4 |
*
|
5 |
* The WooCommerce Jetpack Emails class.
|
6 |
*
|
7 |
+
* @class WCJ_Emails
|
8 |
+
* @version 1.0.1
|
9 |
+
* @category Class
|
10 |
+
* @author Algoritmika Ltd.
|
11 |
*/
|
12 |
+
|
13 |
if ( ! defined( 'ABSPATH' ) ) exit; // Exit if accessed directly
|
14 |
|
15 |
if ( ! class_exists( 'WCJ_Emails' ) ) :
|
25 |
if ( get_option( 'wcj_emails_enabled' ) == 'yes' ) {
|
26 |
|
27 |
if ( get_option( 'wcj_emails_bcc_email' ) !== '' )
|
28 |
+
add_filter( 'woocommerce_email_headers', array( $this, 'add_bcc_email' ) );
|
29 |
|
30 |
if ( get_option( 'wcj_emails_cc_email' ) !== '' )
|
31 |
+
add_filter( 'woocommerce_email_headers', array( $this, 'add_cc_email' ) );
|
32 |
|
33 |
// Settings
|
34 |
add_filter( 'woocommerce_email_settings', array( $this, 'add_email_forwarding_fields' ), 100 );
|
includes/class-wcj-orders.php
CHANGED
@@ -5,7 +5,7 @@
|
|
5 |
* The WooCommerce Jetpack Orders class.
|
6 |
*
|
7 |
* @class WCJ_Orders
|
8 |
-
* @version 1.3.
|
9 |
* @category Class
|
10 |
* @author Algoritmika Ltd.
|
11 |
*/
|
@@ -203,11 +203,21 @@ class WCJ_Orders {
|
|
203 |
echo '</tr>';
|
204 |
}
|
205 |
?></table>
|
206 |
-
<p
|
207 |
-
|
208 |
-
|
209 |
-
<
|
210 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
211 |
</div><?php
|
212 |
}
|
213 |
|
5 |
* The WooCommerce Jetpack Orders class.
|
6 |
*
|
7 |
* @class WCJ_Orders
|
8 |
+
* @version 1.3.2
|
9 |
* @category Class
|
10 |
* @author Algoritmika Ltd.
|
11 |
*/
|
203 |
echo '</tr>';
|
204 |
}
|
205 |
?></table>
|
206 |
+
<p></p>
|
207 |
+
</div><?php
|
208 |
+
?><div class="metabox-holder" style="width:300px;">
|
209 |
+
<div class="postbox">
|
210 |
+
<h3 class="hndle"><span>Add</span></h3>
|
211 |
+
<div class="inside">
|
212 |
+
<form method="post" action="<?php echo remove_query_arg( 'delete' ); ?>">
|
213 |
+
<ul>
|
214 |
+
<li><?php _e( 'Slug (without wc- prefix)', 'woocommerce-jetpack' ); ?><input type="text" name="new_status" style="width:100%;"></li>
|
215 |
+
<li><?php _e( 'Label', 'woocommerce-jetpack' ); ?><input type="text" name="new_status_label" style="width:100%;"></li>
|
216 |
+
</ul>
|
217 |
+
<input class="button-primary" type="submit" name="add_custom_status" value="Add new custom status">
|
218 |
+
</form>
|
219 |
+
</div>
|
220 |
+
</div>
|
221 |
</div><?php
|
222 |
}
|
223 |
|
includes/class-wcj-pdf-invoices.php
CHANGED
@@ -5,7 +5,7 @@
|
|
5 |
* The WooCommerce Jetpack PDF Invoices class.
|
6 |
*
|
7 |
* @class WCJ_PDF_Invoices
|
8 |
-
* @version 1.
|
9 |
* @category Class
|
10 |
* @author Algoritmika Ltd.
|
11 |
*/
|
@@ -40,9 +40,11 @@ class WCJ_PDF_Invoices {
|
|
40 |
|
41 |
add_action( 'admin_head', array( $this, 'add_pdf_invoice_icon_css' ) );
|
42 |
|
43 |
-
if ( 'yes' === get_option( 'wcj_pdf_invoices_enabled_for_customers' ) )
|
44 |
add_filter( 'woocommerce_my_account_my_orders_actions', array( $this, 'add_pdf_invoices_link_to_my_account' ), 100, 2 );
|
45 |
-
|
|
|
|
|
46 |
}
|
47 |
|
48 |
// Settings hooks
|
@@ -50,6 +52,18 @@ class WCJ_PDF_Invoices {
|
|
50 |
add_filter( 'wcj_settings_pdf_invoices', array( $this, 'get_settings' ), 100 );
|
51 |
add_filter( 'wcj_features_status', array( $this, 'add_enabled_option' ), 100 );
|
52 |
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
53 |
|
54 |
/**
|
55 |
* Unlocks - PDF Invoices - add_pdf_invoices_link_to_my_account.
|
@@ -82,15 +96,18 @@ class WCJ_PDF_Invoices {
|
|
82 |
/**
|
83 |
* generate_pdf.
|
84 |
*/
|
85 |
-
public function generate_pdf() {
|
86 |
|
87 |
-
if ( ! isset( $_GET['pdf_invoice'] ) ) return;
|
88 |
|
89 |
-
if ( ! is_user_logged_in() ) return;
|
90 |
-
|
91 |
-
$order_id
|
92 |
-
|
93 |
-
if (
|
|
|
|
|
|
|
94 |
|
95 |
// Include the main TCPDF library (search for installation path).
|
96 |
//require_once('tcpdf_include.php');
|
@@ -166,12 +183,15 @@ class WCJ_PDF_Invoices {
|
|
166 |
|
167 |
// Close and output PDF document
|
168 |
// This method has several options, check the source code documentation for more information.
|
169 |
-
$the_order = new WC_Order( $order_id );
|
170 |
-
$order_number = $the_order->get_order_number();
|
171 |
-
|
172 |
-
|
|
|
|
|
|
|
173 |
else
|
174 |
-
$pdf->Output('invoice-' . $
|
175 |
}
|
176 |
|
177 |
/**
|
@@ -350,8 +370,18 @@ class WCJ_PDF_Invoices {
|
|
350 |
//if ( ( true === $display_shipping_as_item ) &&
|
351 |
if ( ( '' != get_option( 'wcj_pdf_invoices_display_shipping_as_item_text' ) ) &&
|
352 |
( $order_total_shipping > 0 ) ) {
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
353 |
$the_items[] = array(
|
354 |
-
'name' =>
|
355 |
'type' => 'line_item',
|
356 |
'qty' => 1,
|
357 |
//'tax_class' => ,
|
@@ -374,9 +404,7 @@ class WCJ_PDF_Invoices {
|
|
374 |
);
|
375 |
}
|
376 |
|
377 |
-
// Discount as item
|
378 |
-
|
379 |
-
|
380 |
//$display_discount_as_item = true;
|
381 |
//if ( ( true === $display_discount_as_item ) &&
|
382 |
if ( ( '' != get_option( 'wcj_pdf_invoices_display_discount_as_item_text' ) ) &&
|
@@ -430,6 +458,7 @@ class WCJ_PDF_Invoices {
|
|
430 |
$item_quantity = $item['qty'];
|
431 |
// Item Name
|
432 |
$item_name = $item['name'];
|
|
|
433 |
$product = $the_order->get_product_from_item( $item ); // variation (if needed)
|
434 |
if ( isset ( $product->variation_data ) ) {
|
435 |
foreach ( $product->variation_data as $key => $value ) {
|
@@ -487,7 +516,7 @@ class WCJ_PDF_Invoices {
|
|
487 |
$html .= '<p>' . get_option( 'wcj_pdf_invoices_order_shipping_method_text' ). ': ' . $the_order->get_shipping_method() . '</p>';
|
488 |
// ADDITIONAL FOOTER
|
489 |
$html .= '<p>' . str_replace( PHP_EOL, '<br>', get_option( 'wcj_pdf_invoices_footer_text' ) ) . '</p>';
|
490 |
-
|
491 |
return $html;
|
492 |
}
|
493 |
|
@@ -694,7 +723,31 @@ class WCJ_PDF_Invoices {
|
|
694 |
'default' => '',
|
695 |
'type' => 'text',
|
696 |
//'custom_attributes' => apply_filters( 'get_wc_jetpack_plus_message', '', 'disabled' ),
|
697 |
-
),
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
698 |
|
699 |
array(
|
700 |
'title' => __( 'Discount as Item', 'woocommerce-jetpack' ),
|
@@ -919,7 +972,7 @@ class WCJ_PDF_Invoices {
|
|
919 |
//array( 'title' => __( 'More Options', 'woocommerce-jetpack' ), 'type' => 'title', 'desc' => __( '', 'woocommerce-jetpack' ), 'id' => 'wcj_pdf_invoices_more_options' ),
|
920 |
|
921 |
array(
|
922 |
-
'title' => __( 'PDF Invoices for Customers', 'woocommerce-jetpack' ),
|
923 |
'desc' => __( 'Enable the PDF Invoices in customers account', 'woocommerce-jetpack' ),
|
924 |
'desc_tip' => apply_filters( 'get_wc_jetpack_plus_message', '', 'desc' ),
|
925 |
'id' => 'wcj_pdf_invoices_enabled_for_customers',
|
@@ -928,6 +981,16 @@ class WCJ_PDF_Invoices {
|
|
928 |
'custom_attributes' => apply_filters( 'get_wc_jetpack_plus_message', '', 'disabled' ),
|
929 |
),
|
930 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
931 |
array(
|
932 |
'title' => __( 'Enable Save as', 'woocommerce-jetpack' ),
|
933 |
'desc' => __( 'Enable save as pdf instead of view pdf', 'woocommerce-jetpack' ),
|
5 |
* The WooCommerce Jetpack PDF Invoices class.
|
6 |
*
|
7 |
* @class WCJ_PDF_Invoices
|
8 |
+
* @version 1.4.0
|
9 |
* @category Class
|
10 |
* @author Algoritmika Ltd.
|
11 |
*/
|
40 |
|
41 |
add_action( 'admin_head', array( $this, 'add_pdf_invoice_icon_css' ) );
|
42 |
|
43 |
+
if ( 'yes' === apply_filters( 'wcj_get_option_filter', 'no', get_option( 'wcj_pdf_invoices_enabled_for_customers' ) ) )
|
44 |
add_filter( 'woocommerce_my_account_my_orders_actions', array( $this, 'add_pdf_invoices_link_to_my_account' ), 100, 2 );
|
45 |
+
|
46 |
+
if ( 'yes' === apply_filters( 'wcj_get_option_filter', 'no', get_option( 'wcj_pdf_invoices_attach_to_email_enabled' ) ) )
|
47 |
+
add_filter( 'woocommerce_email_attachments', array( $this, 'add_pdf_invoice_email_attachment' ), 100, 3 );
|
48 |
}
|
49 |
|
50 |
// Settings hooks
|
52 |
add_filter( 'wcj_settings_pdf_invoices', array( $this, 'get_settings' ), 100 );
|
53 |
add_filter( 'wcj_features_status', array( $this, 'add_enabled_option' ), 100 );
|
54 |
}
|
55 |
+
|
56 |
+
/**
|
57 |
+
* add_pdf_invoice_email_attachment.
|
58 |
+
*/
|
59 |
+
public function add_pdf_invoice_email_attachment( $attachments, $status, $order ) {
|
60 |
+
if ( ( isset( $status ) && 'customer_completed_order' === $status ) && isset( $order ) ) {
|
61 |
+
$file_name = sys_get_temp_dir() . '/invoice-' . $order->id . '.pdf';
|
62 |
+
$result = file_put_contents( $file_name, $this->generate_pdf( $order->id ) );
|
63 |
+
$attachments[] = $file_name;
|
64 |
+
}
|
65 |
+
return $attachments;
|
66 |
+
}
|
67 |
|
68 |
/**
|
69 |
* Unlocks - PDF Invoices - add_pdf_invoices_link_to_my_account.
|
96 |
/**
|
97 |
* generate_pdf.
|
98 |
*/
|
99 |
+
public function generate_pdf( $get_by_order_id = 0 ) {
|
100 |
|
101 |
+
if ( ! isset( $_GET['pdf_invoice'] ) && 0 == $get_by_order_id ) return;
|
102 |
|
103 |
+
if ( ! is_user_logged_in() && 0 == $get_by_order_id ) return;
|
104 |
+
|
105 |
+
if ( ( ! current_user_can( 'administrator' ) ) && ( get_current_user_id() != intval( get_post_meta( $order_id, '_customer_user', true ) ) ) && ( 0 == $get_by_order_id ) ) return;
|
106 |
+
|
107 |
+
if ( 0 == $get_by_order_id )
|
108 |
+
$order_id = $_GET['pdf_invoice'];
|
109 |
+
else
|
110 |
+
$order_id = $get_by_order_id;
|
111 |
|
112 |
// Include the main TCPDF library (search for installation path).
|
113 |
//require_once('tcpdf_include.php');
|
183 |
|
184 |
// Close and output PDF document
|
185 |
// This method has several options, check the source code documentation for more information.
|
186 |
+
// $the_order = new WC_Order( $order_id );
|
187 |
+
// $order_number = $the_order->get_order_number();
|
188 |
+
|
189 |
+
if ( $get_by_order_id > 0 )
|
190 |
+
return $pdf->Output('invoice-' . $order_id . '.pdf', 'S');
|
191 |
+
if ( isset( $_GET['save_pdf_invoice'] ) && '1' == $_GET['save_pdf_invoice'] )
|
192 |
+
$pdf->Output('invoice-' . $order_id . '.pdf', 'D');
|
193 |
else
|
194 |
+
$pdf->Output('invoice-' . $order_id . '.pdf', 'I');
|
195 |
}
|
196 |
|
197 |
/**
|
370 |
//if ( ( true === $display_shipping_as_item ) &&
|
371 |
if ( ( '' != get_option( 'wcj_pdf_invoices_display_shipping_as_item_text' ) ) &&
|
372 |
( $order_total_shipping > 0 ) ) {
|
373 |
+
|
374 |
+
$shipping_item_name = get_option( 'wcj_pdf_invoices_display_shipping_as_item_text' );
|
375 |
+
|
376 |
+
// Add shipping method text
|
377 |
+
if ( 'yes' === get_option( 'wcj_pdf_invoices_display_shipping_as_item_shipping_method' ) )
|
378 |
+
$shipping_item_name .= '<div style="font-size:x-small;">' . $the_order->get_shipping_method() . '</div>';
|
379 |
+
else if ( 'replace' === get_option( 'wcj_pdf_invoices_display_shipping_as_item_shipping_method' ) )
|
380 |
+
$shipping_item_name = $the_order->get_shipping_method();
|
381 |
+
|
382 |
+
// Create item
|
383 |
$the_items[] = array(
|
384 |
+
'name' => $shipping_item_name,
|
385 |
'type' => 'line_item',
|
386 |
'qty' => 1,
|
387 |
//'tax_class' => ,
|
404 |
);
|
405 |
}
|
406 |
|
407 |
+
// Discount as item
|
|
|
|
|
408 |
//$display_discount_as_item = true;
|
409 |
//if ( ( true === $display_discount_as_item ) &&
|
410 |
if ( ( '' != get_option( 'wcj_pdf_invoices_display_discount_as_item_text' ) ) &&
|
458 |
$item_quantity = $item['qty'];
|
459 |
// Item Name
|
460 |
$item_name = $item['name'];
|
461 |
+
|
462 |
$product = $the_order->get_product_from_item( $item ); // variation (if needed)
|
463 |
if ( isset ( $product->variation_data ) ) {
|
464 |
foreach ( $product->variation_data as $key => $value ) {
|
516 |
$html .= '<p>' . get_option( 'wcj_pdf_invoices_order_shipping_method_text' ). ': ' . $the_order->get_shipping_method() . '</p>';
|
517 |
// ADDITIONAL FOOTER
|
518 |
$html .= '<p>' . str_replace( PHP_EOL, '<br>', get_option( 'wcj_pdf_invoices_footer_text' ) ) . '</p>';
|
519 |
+
|
520 |
return $html;
|
521 |
}
|
522 |
|
723 |
'default' => '',
|
724 |
'type' => 'text',
|
725 |
//'custom_attributes' => apply_filters( 'get_wc_jetpack_plus_message', '', 'disabled' ),
|
726 |
+
),
|
727 |
+
|
728 |
+
/*array(
|
729 |
+
'title' => '',
|
730 |
+
'desc' => __( 'Add shipping method info', 'woocommerce-jetpack' ),
|
731 |
+
'id' => 'wcj_pdf_invoices_display_shipping_as_item_method_enabled',
|
732 |
+
'default' => 'yes',
|
733 |
+
'type' => 'checkbox',
|
734 |
+
),*/
|
735 |
+
|
736 |
+
array(
|
737 |
+
'title' => '',
|
738 |
+
'desc' => __( 'Add shipping method info', 'woocommerce-jetpack' ),
|
739 |
+
'id' => 'wcj_pdf_invoices_display_shipping_as_item_shipping_method',
|
740 |
+
'css' => 'min-width:350px;',
|
741 |
+
'class' => 'chosen_select',
|
742 |
+
'default' => 'no',
|
743 |
+
'type' => 'select',
|
744 |
+
'options' => array(
|
745 |
+
'no' => __( 'Do not add shipping method info', 'woocommerce-jetpack' ),
|
746 |
+
'yes' => __( 'Add shipping method info', 'woocommerce-jetpack' ),
|
747 |
+
'replace' => __( 'Replace with shipping method info', 'woocommerce-jetpack' ),
|
748 |
+
),
|
749 |
+
'desc_tip' => true,
|
750 |
+
),
|
751 |
|
752 |
array(
|
753 |
'title' => __( 'Discount as Item', 'woocommerce-jetpack' ),
|
972 |
//array( 'title' => __( 'More Options', 'woocommerce-jetpack' ), 'type' => 'title', 'desc' => __( '', 'woocommerce-jetpack' ), 'id' => 'wcj_pdf_invoices_more_options' ),
|
973 |
|
974 |
array(
|
975 |
+
'title' => __( 'PDF Invoices for Customers (in My Account)', 'woocommerce-jetpack' ),
|
976 |
'desc' => __( 'Enable the PDF Invoices in customers account', 'woocommerce-jetpack' ),
|
977 |
'desc_tip' => apply_filters( 'get_wc_jetpack_plus_message', '', 'desc' ),
|
978 |
'id' => 'wcj_pdf_invoices_enabled_for_customers',
|
981 |
'custom_attributes' => apply_filters( 'get_wc_jetpack_plus_message', '', 'disabled' ),
|
982 |
),
|
983 |
|
984 |
+
array(
|
985 |
+
'title' => __( 'PDF Invoices for Customers (Email attachment)', 'woocommerce-jetpack' ),
|
986 |
+
'desc' => __( 'Enable the PDF Invoices attachment files in customers email on order completed', 'woocommerce-jetpack' ),
|
987 |
+
'desc_tip' => apply_filters( 'get_wc_jetpack_plus_message', '', 'desc' ),
|
988 |
+
'id' => 'wcj_pdf_invoices_attach_to_email_enabled',
|
989 |
+
'default' => 'no',
|
990 |
+
'type' => 'checkbox',
|
991 |
+
'custom_attributes' => apply_filters( 'get_wc_jetpack_plus_message', '', 'disabled' ),
|
992 |
+
),
|
993 |
+
|
994 |
array(
|
995 |
'title' => __( 'Enable Save as', 'woocommerce-jetpack' ),
|
996 |
'desc' => __( 'Enable save as pdf instead of view pdf', 'woocommerce-jetpack' ),
|
includes/class-wcj-price-labels.php
CHANGED
@@ -5,7 +5,7 @@
|
|
5 |
* The WooCommerce Jetpack Price Labels class.
|
6 |
*
|
7 |
* @class WCJ_Price_Labels
|
8 |
-
* @version 1.0.
|
9 |
* @category Class
|
10 |
* @author Algoritmika Ltd.
|
11 |
*/
|
@@ -162,7 +162,7 @@ class WCJ_Price_Labels {
|
|
162 |
if ( $custom_tab_section == '_before' ) $disabled_if_no_plus = apply_filters( 'get_wc_jetpack_plus_message', '', 'desc_below' );
|
163 |
else $disabled_if_no_plus = '';
|
164 |
|
165 |
-
echo '<p>' . $disabled_if_no_plus . '<ul><
|
166 |
|
167 |
foreach ( $this->custom_tab_section_variations as $custom_tab_section_variation ) {
|
168 |
|
@@ -180,7 +180,8 @@ class WCJ_Price_Labels {
|
|
180 |
$label_text = get_post_meta($current_post_id, '_' . $option_name, true );
|
181 |
$label_text = str_replace ( '"', '"', $label_text );
|
182 |
|
183 |
-
echo '<li>' . $this->custom_tab_section_variations_titles[ $custom_tab_section_variation ] . ' <input style="width:50%;min-width:300px;" type="text" ' . $disabled_if_no_plus . ' name="' . $option_name . '" id="' . $option_name . '" value="' . $label_text . '" /></li>';
|
|
|
184 |
|
185 |
}
|
186 |
else {
|
5 |
* The WooCommerce Jetpack Price Labels class.
|
6 |
*
|
7 |
* @class WCJ_Price_Labels
|
8 |
+
* @version 1.0.3
|
9 |
* @category Class
|
10 |
* @author Algoritmika Ltd.
|
11 |
*/
|
162 |
if ( $custom_tab_section == '_before' ) $disabled_if_no_plus = apply_filters( 'get_wc_jetpack_plus_message', '', 'desc_below' );
|
163 |
else $disabled_if_no_plus = '';
|
164 |
|
165 |
+
echo '<p>' . $disabled_if_no_plus . '<ul><h4>' . $this->custom_tab_sections_titles[ $custom_tab_section ] . '</h4>';
|
166 |
|
167 |
foreach ( $this->custom_tab_section_variations as $custom_tab_section_variation ) {
|
168 |
|
180 |
$label_text = get_post_meta($current_post_id, '_' . $option_name, true );
|
181 |
$label_text = str_replace ( '"', '"', $label_text );
|
182 |
|
183 |
+
//echo '<li>' . $this->custom_tab_section_variations_titles[ $custom_tab_section_variation ] . ' <input style="width:50%;min-width:300px;" type="text" ' . $disabled_if_no_plus . ' name="' . $option_name . '" id="' . $option_name . '" value="' . $label_text . '" /></li>';
|
184 |
+
echo '<li>' . $this->custom_tab_section_variations_titles[ $custom_tab_section_variation ] . '<br><textarea style="width:50%;min-width:300px;height:100px;" ' . $disabled_if_no_plus . ' name="' . $option_name . '">' . $label_text . '</textarea></li>';
|
185 |
|
186 |
}
|
187 |
else {
|
includes/class-wcj-reports.php
CHANGED
@@ -5,8 +5,7 @@
|
|
5 |
* The WooCommerce Jetpack Reports class.
|
6 |
*
|
7 |
* @class WCJ_Reports
|
8 |
-
* @version 1.0.
|
9 |
-
* @package WC_Jetpack/Classes
|
10 |
* @category Class
|
11 |
* @author Algoritmika Ltd.
|
12 |
*/
|
@@ -85,9 +84,7 @@ class WCJ_Reports {
|
|
85 |
* Add settings section to WooCommerce > Settings > Jetpack.
|
86 |
*/
|
87 |
function settings_section( $sections ) {
|
88 |
-
|
89 |
$sections['reports'] = __( 'Smart Reports', 'woocommerce-jetpack' );
|
90 |
-
|
91 |
return $sections;
|
92 |
}
|
93 |
|
@@ -201,7 +198,7 @@ class WCJ_Reports {
|
|
201 |
$info['total_stock_price'] = 0;
|
202 |
$info['stock_price_average'] = 0;
|
203 |
$info['stock_average'] = 0;
|
204 |
-
$info['sales_in_period_average'] = 0;
|
205 |
$stock_non_zero_number = 0;
|
206 |
|
207 |
foreach ( $products_info as $product_info ) {
|
@@ -214,7 +211,7 @@ class WCJ_Reports {
|
|
214 |
if ( $product_info['stock_price'] > 0 ) {
|
215 |
$info['stock_price_average'] += $product_info['stock_price'];
|
216 |
$info['stock_average'] = $product_info['stock'];
|
217 |
-
$info['sales_in_period_average'] += $product_info['sales_in_period'][$this->period];
|
218 |
$stock_non_zero_number++;
|
219 |
}
|
220 |
|
@@ -223,7 +220,7 @@ class WCJ_Reports {
|
|
223 |
|
224 |
$info['stock_price_average'] /= $stock_non_zero_number;
|
225 |
$info['stock_average'] /= $stock_non_zero_number;
|
226 |
-
$info['sales_in_period_average'] /= $stock_non_zero_number;
|
227 |
}
|
228 |
|
229 |
/*
|
@@ -262,7 +259,7 @@ class WCJ_Reports {
|
|
262 |
* output_report.
|
263 |
*/
|
264 |
public function output_report( $products_info, $info, $report_info ) {
|
265 |
-
|
266 |
// Style
|
267 |
$html = '<style>';
|
268 |
$html .= '.wcj_report_table { width: 90%; border-collapse: collapse; }';
|
@@ -296,19 +293,20 @@ class WCJ_Reports {
|
|
296 |
continue;*/
|
297 |
|
298 |
if (
|
299 |
-
|
300 |
-
( $info['sales_in_90_days_average'] > $product_info['sales_in_90_days'] ) &&
|
301 |
-
( $
|
302 |
-
|
|
|
303 |
( 'bad_stock' === $report_info['id'] )
|
304 |
-
) ||
|
305 |
(
|
306 |
( $info['stock_price_average'] < $product_info['stock_price'] ) &&
|
307 |
//( 0 != $product_info['stock'] ) &&
|
308 |
( 'most_stock_price' === $report_info['id'] )
|
309 |
) ||
|
310 |
(
|
311 |
-
( $product_info['sales_in_period'][$this->period] < $info['sales_in_period_average'] ) &&
|
312 |
( $product_info['stock'] > 0 ) &&
|
313 |
( 'bad_sales' === $report_info['id'] )
|
314 |
) ||
|
@@ -317,11 +315,11 @@ class WCJ_Reports {
|
|
317 |
( $product_info['stock'] > 0 ) &&
|
318 |
( 'no_sales' === $report_info['id'] )
|
319 |
) ||
|
320 |
-
|
321 |
-
( $
|
322 |
( 'good_sales' === $report_info['id'] )
|
323 |
) ||
|
324 |
-
(
|
325 |
( $info['sales_in_90_days_average'] < $product_info['sales_in_90_days'] ) &&
|
326 |
//( $info['stock_average'] > $product_info['stock'] ) &&
|
327 |
// ( $product_info['sales_in_90_days'] > $product_info['stock'] ) &&
|
5 |
* The WooCommerce Jetpack Reports class.
|
6 |
*
|
7 |
* @class WCJ_Reports
|
8 |
+
* @version 1.0.1
|
|
|
9 |
* @category Class
|
10 |
* @author Algoritmika Ltd.
|
11 |
*/
|
84 |
* Add settings section to WooCommerce > Settings > Jetpack.
|
85 |
*/
|
86 |
function settings_section( $sections ) {
|
|
|
87 |
$sections['reports'] = __( 'Smart Reports', 'woocommerce-jetpack' );
|
|
|
88 |
return $sections;
|
89 |
}
|
90 |
|
198 |
$info['total_stock_price'] = 0;
|
199 |
$info['stock_price_average'] = 0;
|
200 |
$info['stock_average'] = 0;
|
201 |
+
$info['sales_in_period_average'][$this->period] = 0;
|
202 |
$stock_non_zero_number = 0;
|
203 |
|
204 |
foreach ( $products_info as $product_info ) {
|
211 |
if ( $product_info['stock_price'] > 0 ) {
|
212 |
$info['stock_price_average'] += $product_info['stock_price'];
|
213 |
$info['stock_average'] = $product_info['stock'];
|
214 |
+
$info['sales_in_period_average'][$this->period] += $product_info['sales_in_period'][$this->period];
|
215 |
$stock_non_zero_number++;
|
216 |
}
|
217 |
|
220 |
|
221 |
$info['stock_price_average'] /= $stock_non_zero_number;
|
222 |
$info['stock_average'] /= $stock_non_zero_number;
|
223 |
+
$info['sales_in_period_average'][$this->period] /= $stock_non_zero_number;
|
224 |
}
|
225 |
|
226 |
/*
|
259 |
* output_report.
|
260 |
*/
|
261 |
public function output_report( $products_info, $info, $report_info ) {
|
262 |
+
|
263 |
// Style
|
264 |
$html = '<style>';
|
265 |
$html .= '.wcj_report_table { width: 90%; border-collapse: collapse; }';
|
293 |
continue;*/
|
294 |
|
295 |
if (
|
296 |
+
/**/(
|
297 |
+
//( $info['sales_in_90_days_average'] > $product_info['sales_in_90_days'] ) &&
|
298 |
+
( $product_info['sales_in_period'][$this->period] < $info['sales_in_period_average'][$this->period] ) &&
|
299 |
+
( $product_info['stock_price'] > $info['stock_price_average'] ) &&
|
300 |
+
////( 0 != $product_info['stock'] ) &&
|
301 |
( 'bad_stock' === $report_info['id'] )
|
302 |
+
) || /**/
|
303 |
(
|
304 |
( $info['stock_price_average'] < $product_info['stock_price'] ) &&
|
305 |
//( 0 != $product_info['stock'] ) &&
|
306 |
( 'most_stock_price' === $report_info['id'] )
|
307 |
) ||
|
308 |
(
|
309 |
+
( $product_info['sales_in_period'][$this->period] < $info['sales_in_period_average'][$this->period] ) &&
|
310 |
( $product_info['stock'] > 0 ) &&
|
311 |
( 'bad_sales' === $report_info['id'] )
|
312 |
) ||
|
315 |
( $product_info['stock'] > 0 ) &&
|
316 |
( 'no_sales' === $report_info['id'] )
|
317 |
) ||
|
318 |
+
(
|
319 |
+
( $product_info['sales_in_period'][$this->period] > $info['sales_in_period_average'][$this->period] ) &&
|
320 |
( 'good_sales' === $report_info['id'] )
|
321 |
) ||
|
322 |
+
/*(
|
323 |
( $info['sales_in_90_days_average'] < $product_info['sales_in_90_days'] ) &&
|
324 |
//( $info['stock_average'] > $product_info['stock'] ) &&
|
325 |
// ( $product_info['sales_in_90_days'] > $product_info['stock'] ) &&
|
readme.txt
CHANGED
@@ -1,10 +1,10 @@
|
|
1 |
=== WooCommerce Jetpack ===
|
2 |
Contributors: algoritmika
|
3 |
Donate link: http://algoritmika.com/donate/
|
4 |
-
Tags: woocommerce,woocommerce jetpack,custom price labels,call for price,currency symbol,remove sorting,remove old product slugs,add to cart text,order number,sequential order numbering,pdf invoice,pdf invoices,already in cart,empty cart,redirect to checkout,minimum order amount,customize checkout fields,checkout fields,email,customize product tabs,product tabs,related products number,empty cart,redirect add to cart,redirect to checkout,product already in cart,custom payment gateway,payment gateway icon,auto-complete all orders,custom order statuses,custom order status,remove text from price
|
5 |
Requires at least: 3.9.1
|
6 |
Tested up to: 4.0
|
7 |
-
Stable tag: 1.5.
|
8 |
License: GNU General Public License v3.0
|
9 |
License URI: http://www.gnu.org/licenses/gpl-3.0.html
|
10 |
|
@@ -19,7 +19,7 @@ WooCommerce Jetpack is a WordPress plugin that supercharges your site with aweso
|
|
19 |
* Custom Price Labels - Create any custom price label for any product.
|
20 |
* Call for Price - Create any custom price label, like "Call for price", for all products with empty price.
|
21 |
* Currencies - Add all world currencies, change currency symbol.
|
22 |
-
* PDF Invoices - Add PDF invoices for store owners and for customers.
|
23 |
* Orders - Sequential order numbering, custom order number prefix and number width. Set minimum order amount.
|
24 |
* More Sorting Options - Add more sorting options or remove sorting at all (including WooCommerce default).
|
25 |
* Payment Gateways - Add and customize simple custom offline payment gateway. Change icons (images) for all default (COD - Cash on Delivery, Cheque, BACS, Mijireh Checkout, PayPal) WooCommerce payment gateways.
|
@@ -41,9 +41,9 @@ WooCommerce Jetpack is a WordPress plugin that supercharges your site with aweso
|
|
41 |
|
42 |
== Installation ==
|
43 |
|
44 |
-
1. Upload the entire
|
45 |
2. Activate the plugin through the 'Plugins' menu in WordPress
|
46 |
-
3. Go to WooCommerce > Settings > Jetpack
|
47 |
|
48 |
== Frequently Asked Questions ==
|
49 |
|
@@ -63,40 +63,68 @@ Please let us know if you want anything added to list by <a href="http://woojetp
|
|
63 |
|
64 |
If you wish that some task would go up the queue to make it faster, please contact us by <a href="http://woojetpack.com/contact-us/">filling this form</a>. We are listening carefully to our users!
|
65 |
|
66 |
-
= 1.6.0 -
|
|
|
67 |
* Fix - Payment Gateways - Instructions are not showing. Suggested by Jen.
|
68 |
-
* Upgrade Feature - PDF Invoices - Send PDF invoice or link to invoice to the customer. Make this option available for certain payment methods only (user selection). Idea by Jen.
|
69 |
* Upgrade Feature - Shipping - Advance free shipping - Free shipping for multiple country/places. Each country/places different prices. Idea by LQTOYS.
|
70 |
-
*
|
71 |
-
*
|
72 |
-
*
|
|
|
|
|
73 |
|
74 |
= 1.7.0 - 01/10/2014 =
|
75 |
* Upgrade Feature - Custom Price Labels - Add "global labels".
|
76 |
* Upgrade Feature - Shipping - Add "Custom Shipping Method".
|
77 |
* Upgrade Feature - Product Info - Add "total sales" and "time since last sale" info.
|
|
|
78 |
* Upgrade Feature - Orders - Custom Order Statuses - Add options for selecting icons and color.
|
|
|
|
|
|
|
|
|
79 |
|
80 |
= 1.8.0 - 07/10/2014 =
|
81 |
* New Feature - Products per Page - Add "products per page" option for customers (i.e. front end).
|
|
|
|
|
|
|
82 |
|
83 |
= 1.9.0 - 21/10/2014 =
|
84 |
* Upgrade Feature - Custom Price Labels - Add "local remove".
|
85 |
-
* Upgrade Feature - Orders - Bulk orders
|
86 |
* Upgrade Feature - Custom Price Labels - Add different labels for archives, single, homepage, related. Add option to select which price hooks to use. Different labels for variable and variation.
|
87 |
-
* Upgrade Feature -
|
|
|
|
|
|
|
|
|
|
|
|
|
88 |
|
89 |
= 2.0.0 - 01/11/2014 =
|
|
|
90 |
* Dev - Major source code, documentation, locking mechanism etc. recheck.
|
91 |
|
92 |
== Changelog ==
|
93 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
94 |
= 1.5.0 - 13/09/2014 =
|
95 |
* Dev - Orders - Renumerate orders tool compatibility with WooCommerce 2.2.x.
|
96 |
* Dev - Orders - Custom Order Statuses compatibility with WooCommerce 2.2.x.
|
97 |
* Dev - Orders - Renumerate orders tool moved to WooCommerce > Jetpack Tools.
|
98 |
* Fix - PDF Invoices - `Order Shipping Price` position in `Totals` on admin settings page, fixed.
|
99 |
* Dev - PDF Invoices - Save as pdf option added.
|
|
|
100 |
|
101 |
= 1.4.0 - 07/09/2014 =
|
102 |
* Dev - Custom Price Labels - Support for price labels showing on Pages, added. Suggested by Axel.
|
1 |
=== WooCommerce Jetpack ===
|
2 |
Contributors: algoritmika
|
3 |
Donate link: http://algoritmika.com/donate/
|
4 |
+
Tags: woocommerce,woocommerce jetpack,custom price labels,call for price,currency symbol,remove sorting,remove old product slugs,add to cart text,order number,sequential order numbering,email pdf invoice,pdf invoice,pdf invoices,already in cart,empty cart,redirect to checkout,minimum order amount,customize checkout fields,checkout fields,email,customize product tabs,product tabs,related products number,empty cart,redirect add to cart,redirect to checkout,product already in cart,custom payment gateway,payment gateway icon,auto-complete all orders,custom order statuses,custom order status,remove text from price
|
5 |
Requires at least: 3.9.1
|
6 |
Tested up to: 4.0
|
7 |
+
Stable tag: 1.5.2
|
8 |
License: GNU General Public License v3.0
|
9 |
License URI: http://www.gnu.org/licenses/gpl-3.0.html
|
10 |
|
19 |
* Custom Price Labels - Create any custom price label for any product.
|
20 |
* Call for Price - Create any custom price label, like "Call for price", for all products with empty price.
|
21 |
* Currencies - Add all world currencies, change currency symbol.
|
22 |
+
* PDF Invoices - Add PDF invoices for store owners and for customers. Automatically email PDF invoices to customers.
|
23 |
* Orders - Sequential order numbering, custom order number prefix and number width. Set minimum order amount.
|
24 |
* More Sorting Options - Add more sorting options or remove sorting at all (including WooCommerce default).
|
25 |
* Payment Gateways - Add and customize simple custom offline payment gateway. Change icons (images) for all default (COD - Cash on Delivery, Cheque, BACS, Mijireh Checkout, PayPal) WooCommerce payment gateways.
|
41 |
|
42 |
== Installation ==
|
43 |
|
44 |
+
1. Upload the entire `woocommerce-jetpack` folder to the `/wp-content/plugins/` directory
|
45 |
2. Activate the plugin through the 'Plugins' menu in WordPress
|
46 |
+
3. Go to WooCommerce > Settings > Jetpack
|
47 |
|
48 |
== Frequently Asked Questions ==
|
49 |
|
63 |
|
64 |
If you wish that some task would go up the queue to make it faster, please contact us by <a href="http://woojetpack.com/contact-us/">filling this form</a>. We are listening carefully to our users!
|
65 |
|
66 |
+
= 1.6.0 - 22/09/2014 =
|
67 |
+
* New Feature - Smart Reports - Various reports based on products prices, sales, stock.
|
68 |
* Fix - Payment Gateways - Instructions are not showing. Suggested by Jen.
|
|
|
69 |
* Upgrade Feature - Shipping - Advance free shipping - Free shipping for multiple country/places. Each country/places different prices. Idea by LQTOYS.
|
70 |
+
* Dev - Custom Price Labels - Rearrange settings in product edit (something like `postbox`es).
|
71 |
+
* Upgrade Feature - Custom Price Labels - Add price countdown.
|
72 |
+
* Upgrade Feature - Custom Price Labels - Add labels to `cart` and `checkout` pages. Idea by Stephanie.
|
73 |
+
* Upgrade Feature - Orders - Minimum order amount - Stop customer from seeing the checkout page if below minimum order amount. Idea by Augen.
|
74 |
+
* Dev - Custom CSS - Need to add custom CSS option (problem with color of price matching the background in mimum order amount message; suggested by Augen).
|
75 |
|
76 |
= 1.7.0 - 01/10/2014 =
|
77 |
* Upgrade Feature - Custom Price Labels - Add "global labels".
|
78 |
* Upgrade Feature - Shipping - Add "Custom Shipping Method".
|
79 |
* Upgrade Feature - Product Info - Add "total sales" and "time since last sale" info.
|
80 |
+
* Upgrade Feature - Product Info - Add widget.
|
81 |
* Upgrade Feature - Orders - Custom Order Statuses - Add options for selecting icons and color.
|
82 |
+
* New Feature - Add second currency to the price.
|
83 |
+
* Dev - PDF Invoices - Separate numbering for invoices option, then can add `add_order_number_to_invoice` option.
|
84 |
+
* Upgrade Feature - PDF Invoices - Make emailing PDF as attachment option available for certain payment methods only (user selection). Idea by Jen.
|
85 |
+
* Upgrade Feature - PDF Invoices - Sending invoice on customer's request. Idea by Jen.
|
86 |
|
87 |
= 1.8.0 - 07/10/2014 =
|
88 |
* New Feature - Products per Page - Add "products per page" option for customers (i.e. front end).
|
89 |
+
* Upgrade Feature - Smart Reports - Export to CSV file.
|
90 |
+
* Upgrade Feature - Product Info - Today's deal.
|
91 |
+
* Upgrade Feature - Product Info - Images for variations.
|
92 |
|
93 |
= 1.9.0 - 21/10/2014 =
|
94 |
* Upgrade Feature - Custom Price Labels - Add "local remove".
|
95 |
+
* Upgrade Feature - Orders - Bulk orders i.e. "Buy More - Pay Less". Start from global discount for all products, i.e. cart discount; later - discounts for individual products.
|
96 |
* Upgrade Feature - Custom Price Labels - Add different labels for archives, single, homepage, related. Add option to select which price hooks to use. Different labels for variable and variation.
|
97 |
+
* Upgrade Feature - Custom Price Labels - Custom free price.
|
98 |
+
* Upgrade Feature - Checkout - Custom checkout fields.
|
99 |
+
* Upgrade Feature - Product Info - Custom product tabs.
|
100 |
+
* Upgrade Feature - Checkout - Skrill.
|
101 |
+
* Upgrade Feature - Checkout - Amazon Payments.
|
102 |
+
* Upgrade Feature - Orders - Maximum weight - "Contact us" to place order with products total weight over some amount.
|
103 |
+
* Upgrade Feature - Sorting - Add sorting by popularity in e.g. 90 days (not by `total_sales` as it is by default in WooCommerce).
|
104 |
|
105 |
= 2.0.0 - 01/11/2014 =
|
106 |
+
* Dev - Move all to `WooCommerce > Jetpack` menu.
|
107 |
* Dev - Major source code, documentation, locking mechanism etc. recheck.
|
108 |
|
109 |
== Changelog ==
|
110 |
|
111 |
+
= 1.5.2 - 20/09/2014 =
|
112 |
+
* Fix - Emails - Bug causing `call_user_func_array()` warning, fixed. Suggested by Andrew.
|
113 |
+
* Dev - New WooCommerce Jetpack Dashboard in admin settings.
|
114 |
+
|
115 |
+
= 1.5.1 - 14/09/2014 =
|
116 |
+
* Dev - Custom Price Labels - `textarea` instead of `<input type="text">`.
|
117 |
+
* Dev - Orders - Custom Order Statuses - `postbox` added instead of simple form.
|
118 |
+
* Upgrade Feature - PDF Invoices - PDF invoice as attachment file in customer's email (order completed). Idea by Jen.
|
119 |
+
* Dev - PDF Invoices - If displaying shipping as item, option for adding shipping method text, added. Suggested by Tomas.
|
120 |
+
|
121 |
= 1.5.0 - 13/09/2014 =
|
122 |
* Dev - Orders - Renumerate orders tool compatibility with WooCommerce 2.2.x.
|
123 |
* Dev - Orders - Custom Order Statuses compatibility with WooCommerce 2.2.x.
|
124 |
* Dev - Orders - Renumerate orders tool moved to WooCommerce > Jetpack Tools.
|
125 |
* Fix - PDF Invoices - `Order Shipping Price` position in `Totals` on admin settings page, fixed.
|
126 |
* Dev - PDF Invoices - Save as pdf option added.
|
127 |
+
* Fix - PDF Invoices - Bug with invoice PDF file name, fixed.
|
128 |
|
129 |
= 1.4.0 - 07/09/2014 =
|
130 |
* Dev - Custom Price Labels - Support for price labels showing on Pages, added. Suggested by Axel.
|
woocommerce-jetpack.php
CHANGED
@@ -3,7 +3,7 @@
|
|
3 |
Plugin Name: WooCommerce Jetpack
|
4 |
Plugin URI: http://woojetpack.com
|
5 |
Description: Supercharge your WooCommerce site with these awesome powerful features.
|
6 |
-
Version: 1.5.
|
7 |
Author: Algoritmika Ltd
|
8 |
Author URI: http://www.algoritmika.com
|
9 |
Copyright: © 2014 Algoritmika Ltd.
|
@@ -177,7 +177,7 @@ final class WC_Jetpack {
|
|
177 |
$settings[] = include_once( 'includes/class-wcj-orders.php' );
|
178 |
$settings[] = include_once( 'includes/class-wcj-emails.php' );
|
179 |
$settings[] = include_once( 'includes/class-wcj-pdf-invoices.php' );
|
180 |
-
|
181 |
$settings[] = include_once( 'includes/class-wcj-old-slugs.php' );
|
182 |
|
183 |
// Add options
|
3 |
Plugin Name: WooCommerce Jetpack
|
4 |
Plugin URI: http://woojetpack.com
|
5 |
Description: Supercharge your WooCommerce site with these awesome powerful features.
|
6 |
+
Version: 1.5.2
|
7 |
Author: Algoritmika Ltd
|
8 |
Author URI: http://www.algoritmika.com
|
9 |
Copyright: © 2014 Algoritmika Ltd.
|
177 |
$settings[] = include_once( 'includes/class-wcj-orders.php' );
|
178 |
$settings[] = include_once( 'includes/class-wcj-emails.php' );
|
179 |
$settings[] = include_once( 'includes/class-wcj-pdf-invoices.php' );
|
180 |
+
$settings[] = include_once( 'includes/class-wcj-reports.php' );
|
181 |
$settings[] = include_once( 'includes/class-wcj-old-slugs.php' );
|
182 |
|
183 |
// Add options
|