Version Description
- 11/10/2018 =
- Feature - PRICES & CURRENCIES - Multicurrency (Currency Switcher) - Widget - "Form Method", "Class" and "Style" options added.
- Feature - PRODUCTS - Product Addons - Frontend Templates - "Each Addon - Type: Select Box (Each Option)" option added.
- Feature - SHIPPING & ORDERS - Order Custom Statuses - "Add Custom Statuses Buttons to Admin Order Preview Actions" option added.
- Feature - SHIPPING & ORDERS - Orders - "Editable Orders" options added.
- Feature - SHIPPING & ORDERS - Shipping Methods by City or Postcode - "Shipping Methods by Postcodes" subsection added.
- Feature - SHIPPING & ORDERS - Shipping Methods by Current Date/Time - Initial module release.
- Feature - EMAILS & MISC. - Admin Tools - "Suppress Admin Connect Notice" and "Suppress Admin Notices" options added.
- Feature - EMAILS & MISC. - Custom CSS - "Code Position" option added.
- Feature - EMAILS & MISC. - Custom JS - "Code Position" option added.
- Feature - EMAILS & MISC. - Custom PHP - Initial module release.
- Feature - EMAILS & MISC. - General - Add/Manage Custom Roles tool - "Capabilities" option added.
- Fix - PRICES & CURRENCIES - Prices and Currencies by Country - Default values for options and empty string checks added.
- Fix - CART & CHECKOUT - EU VAT Number - Possible "Undefined index: wcj_eu_vat_number_to_check..." PHP notice fixed.
- Fix - PAYMENT GATEWAYS - Gateways by Shipping - Use Shipping Instances - Trying to extract shipping instance number from form with underscore symbol (e.g. "Flexible Shipping" plugin).
- Fix - SHIPPING & ORDERS - Order Min/Max Quantities -
isEmptyObject
check added inwcj-order-quantities.js
. - Fix - PDF INVOICING & PACKING SLIPS - Invoices Report tool - "Disable Saving PDFs in PHP directory for temporary files..." notice fixed.
- Fix - EMAILS & MISC. - General - Add/Manage Custom Roles tool -
sanitize_key()
added for role ID (when adding new role). - Fix - EMAILS & MISC. - General - Products Attributes tool - Column titles fixed.
- Fix - EMAILS & MISC. - Template Editor - Checking for modified template file to exist before replacing the original template.
- Fix - Shortcodes - Products -
[wcj_product_time_since_last_sale]
-date_query
fixed. - Fix - Functions - General -
wcj_is_frontend()
- AJAX part improved (woocommerce_load_variations
backendaction
added). - Dev - PRICES & CURRENCIES - Global Discount - "Global Discount in Admin" option added.
- Dev - PRICES & CURRENCIES - Multicurrency (Currency Switcher) - Module description updated.
- Dev - PRODUCTS - Sale Flash - Code refactoring - "Per Category" and "Per Tag" options are stored in arrays now.
- Dev - PAYMENT GATEWAYS - Gateways by Country, State or Postcode - Code refactoring.
- Dev - PAYMENT GATEWAYS - Gateways Currency Converter - "Show Converted Prices" option added.
- Dev - PAYMENT GATEWAYS - Gateways Currency Converter - Admin settings minor restyling.
- Dev - SHIPPING & ORDERS - Order Custom Statuses - Code refactoring.
- Dev - SHIPPING & ORDERS - Order Numbers -
wcj_order_number_meta
filter added. - Dev - EMAILS & MISC. - Admin Tools - Admin settings restyled ("Debug Tools Options" subsection added, "Debug Log" tool renamed).
- Dev - EMAILS & MISC. - General - Add/Manage Custom Roles tool - Restyled; JS confirmation added etc.
- Dev - EMAILS & MISC. - Template Editor - Admin settings minor restyling.
- Dev - Shortcodes - General -
[wcj_country_select_drop_down_list]
- Code refactoring. - Dev - Shortcodes - Products -
[wcj_product_available_variations]
-param
attribute added. - Dev - Shortcodes - Products -
[wcj_product_time_since_last_sale]
- Code refactoring. - Dev - Shortcodes - Products -
[wcj_product_wholesale_price_table]
-user_role
attribute added. - Dev - Functions - Price and Currency -
wcj_update_products_price_by_country()
-WP_Query
optimized to returnids
only. - Dev - Classes -
WCJ_Module
- Modules' "extra description" restyled. - Dev - Code clean up.
Download this release
Release Info
Developer | algoritmika |
Plugin | Booster for WooCommerce |
Version | 4.0.0 |
Comparing to | |
See all releases |
Code changes from version 3.9.1 to 4.0.0
- assets/images/flag-icons/bitcoin-cash.png +0 -0
- assets/images/flag-icons/bitcoin.png +0 -0
- assets/images/flag-icons/ethereum.png +0 -0
- assets/images/flag-icons/global.png +0 -0
- assets/images/flag-icons/litecoin.png +0 -0
- includes/admin/wcj-modules-cats.php +3 -1
- includes/class-wcj-admin-tools.php +10 -3
- includes/class-wcj-cart-customization.php +3 -3
- includes/class-wcj-crowdfunding.php +2 -0
- includes/class-wcj-custom-css.php +10 -9
- includes/class-wcj-custom-js.php +6 -7
- includes/class-wcj-custom-php.php +90 -0
- includes/class-wcj-eu-vat-number.php +4 -31
- includes/class-wcj-export-import.php +16 -15
- includes/class-wcj-general.php +34 -18
- includes/class-wcj-global-discount.php +3 -3
- includes/class-wcj-multicurrency.php +15 -6
- includes/class-wcj-order-custom-statuses.php +92 -24
- includes/class-wcj-order-numbers.php +4 -4
- includes/class-wcj-orders.php +17 -2
- includes/class-wcj-payment-gateways-by-country.php +4 -34
- includes/class-wcj-payment-gateways-by-shipping.php +12 -6
- includes/class-wcj-payment-gateways-currency.php +22 -5
- includes/class-wcj-price-labels.php +8 -11
- includes/class-wcj-product-addons.php +7 -3
- includes/class-wcj-sale-flash.php +39 -8
- includes/class-wcj-shipping-by-cities.php +20 -6
- includes/class-wcj-shipping-by-time.php +125 -0
- includes/class-wcj-tax-display.php +3 -3
- includes/class-wcj-template-editor.php +7 -4
- includes/classes/class-wcj-module-shipping-by-condition.php +11 -2
- includes/classes/class-wcj-module.php +6 -15
- includes/classes/class-wcj-pdf-invoice.php +13 -19
- includes/core/wcj-modules.php +3 -1
- includes/functions/wcj-functions-general.php +46 -4
- includes/functions/wcj-functions-html.php +20 -1
- includes/functions/wcj-functions-price-currency.php +19 -12
- includes/functions/wcj-functions-users.php +0 -9
- includes/gateways/class-wc-gateway-wcj-custom.php +15 -23
- includes/js/wcj-order-quantities.js +54 -43
- includes/pdf-invoices/class-wcj-pdf-invoicing-report-tool.php +4 -4
- includes/price-by-country/class-wcj-price-by-country-core.php +8 -15
- includes/price-by-country/class-wcj-price-by-country-local.php +5 -5
- includes/reports/countries/wcj-country-sets.php +1 -4
- includes/settings/meta-box/wcj-settings-meta-box-price-by-country.php +3 -3
- includes/settings/wcj-settings-admin-tools.php +46 -27
- includes/settings/wcj-settings-custom-css.php +11 -1
- includes/settings/wcj-settings-custom-js.php +11 -1
- includes/settings/wcj-settings-custom-php.php +35 -0
- includes/settings/wcj-settings-global-discount.php +9 -1
- includes/settings/wcj-settings-order-custom-statuses.php +11 -1
- includes/settings/wcj-settings-orders.php +27 -1
- includes/settings/wcj-settings-payment-gateways-currency.php +22 -3
- includes/settings/wcj-settings-product-addons.php +9 -1
- includes/settings/wcj-settings-product-input-fields.php +1 -1
- includes/settings/wcj-settings-sale-flash.php +15 -6
- includes/settings/wcj-settings-shipping-by-condition.php +8 -5
- includes/settings/wcj-settings-template-editor.php +2 -2
- includes/shortcodes/class-wcj-shortcodes-general.php +18 -55
- includes/shortcodes/class-wcj-shortcodes-orders.php +2 -2
- includes/shortcodes/class-wcj-shortcodes-products.php +22 -25
- includes/widgets/class-wcj-widget-multicurrency.php +39 -5
- langs/woocommerce-jetpack.pot +636 -372
- readme.txt +46 -3
- woocommerce-jetpack.php +8 -4
assets/images/flag-icons/bitcoin-cash.png
ADDED
Binary file
|
assets/images/flag-icons/bitcoin.png
ADDED
Binary file
|
assets/images/flag-icons/ethereum.png
ADDED
Binary file
|
assets/images/flag-icons/global.png
ADDED
Binary file
|
assets/images/flag-icons/litecoin.png
ADDED
Binary file
|
includes/admin/wcj-modules-cats.php
CHANGED
@@ -2,7 +2,7 @@
|
|
2 |
/**
|
3 |
* Booster for WooCommerce - Modules Array
|
4 |
*
|
5 |
-
* @version
|
6 |
* @since 2.2.0
|
7 |
* @author Algoritmika Ltd.
|
8 |
* @todo (maybe) split "Shipping & Orders", "Cart & Checkout", "Products", "Prices & Currencies" etc.
|
@@ -144,6 +144,7 @@ return apply_filters( 'wcj_modules', array(
|
|
144 |
'shipping_by_user_role',
|
145 |
'shipping_by_products',
|
146 |
'shipping_by_cities',
|
|
|
147 |
'shipping_by_order_amount',
|
148 |
'address_formats',
|
149 |
'orders',
|
@@ -191,6 +192,7 @@ return apply_filters( 'wcj_modules', array(
|
|
191 |
'wpml',
|
192 |
'custom_css',
|
193 |
'custom_js',
|
|
|
194 |
'track_users',
|
195 |
'modules_by_user_roles',
|
196 |
'template_editor',
|
2 |
/**
|
3 |
* Booster for WooCommerce - Modules Array
|
4 |
*
|
5 |
+
* @version 4.0.0
|
6 |
* @since 2.2.0
|
7 |
* @author Algoritmika Ltd.
|
8 |
* @todo (maybe) split "Shipping & Orders", "Cart & Checkout", "Products", "Prices & Currencies" etc.
|
144 |
'shipping_by_user_role',
|
145 |
'shipping_by_products',
|
146 |
'shipping_by_cities',
|
147 |
+
'shipping_by_time',
|
148 |
'shipping_by_order_amount',
|
149 |
'address_formats',
|
150 |
'orders',
|
192 |
'wpml',
|
193 |
'custom_css',
|
194 |
'custom_js',
|
195 |
+
'custom_php',
|
196 |
'track_users',
|
197 |
'modules_by_user_roles',
|
198 |
'template_editor',
|
includes/class-wcj-admin-tools.php
CHANGED
@@ -2,7 +2,7 @@
|
|
2 |
/**
|
3 |
* Booster for WooCommerce - Module - Admin Tools
|
4 |
*
|
5 |
-
* @version
|
6 |
* @author Algoritmika Ltd.
|
7 |
*/
|
8 |
|
@@ -15,7 +15,7 @@ class WCJ_Admin_Tools extends WCJ_Module {
|
|
15 |
/**
|
16 |
* Constructor.
|
17 |
*
|
18 |
-
* @version
|
19 |
* @todo (maybe) add editable (product and order) metas
|
20 |
*/
|
21 |
function __construct() {
|
@@ -28,7 +28,7 @@ class WCJ_Admin_Tools extends WCJ_Module {
|
|
28 |
|
29 |
$this->add_tools( array(
|
30 |
'admin_tools' => array(
|
31 |
-
'title' => __( '
|
32 |
'desc' => __( 'Log.', 'woocommerce-jetpack' ),
|
33 |
'tab_title' => __( 'Log', 'woocommerce-jetpack' ),
|
34 |
),
|
@@ -61,6 +61,13 @@ class WCJ_Admin_Tools extends WCJ_Module {
|
|
61 |
add_action( 'add_meta_boxes', array( $this, 'maybe_add_variable_product_pricing_meta_box' ) );
|
62 |
add_action( 'save_post_product', array( $this, 'save_meta_box' ), PHP_INT_MAX, 2 );
|
63 |
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
64 |
}
|
65 |
}
|
66 |
|
2 |
/**
|
3 |
* Booster for WooCommerce - Module - Admin Tools
|
4 |
*
|
5 |
+
* @version 4.0.0
|
6 |
* @author Algoritmika Ltd.
|
7 |
*/
|
8 |
|
15 |
/**
|
16 |
* Constructor.
|
17 |
*
|
18 |
+
* @version 4.0.0
|
19 |
* @todo (maybe) add editable (product and order) metas
|
20 |
*/
|
21 |
function __construct() {
|
28 |
|
29 |
$this->add_tools( array(
|
30 |
'admin_tools' => array(
|
31 |
+
'title' => __( 'Debug Log', 'woocommerce-jetpack' ),
|
32 |
'desc' => __( 'Log.', 'woocommerce-jetpack' ),
|
33 |
'tab_title' => __( 'Log', 'woocommerce-jetpack' ),
|
34 |
),
|
61 |
add_action( 'add_meta_boxes', array( $this, 'maybe_add_variable_product_pricing_meta_box' ) );
|
62 |
add_action( 'save_post_product', array( $this, 'save_meta_box' ), PHP_INT_MAX, 2 );
|
63 |
}
|
64 |
+
// Admin Notices
|
65 |
+
if ( 'yes' === get_option( 'wcj_admin_tools_suppress_connect_notice', 'no' ) ) {
|
66 |
+
add_filter( 'woocommerce_helper_suppress_connect_notice', '__return_true' );
|
67 |
+
}
|
68 |
+
if ( 'yes' === get_option( 'wcj_admin_tools_suppress_admin_notices', 'no' ) ) {
|
69 |
+
add_filter( 'woocommerce_helper_suppress_admin_notices', '__return_true' );
|
70 |
+
}
|
71 |
}
|
72 |
}
|
73 |
|
includes/class-wcj-cart-customization.php
CHANGED
@@ -67,7 +67,7 @@ class WCJ_Cart_Customization extends WCJ_Module {
|
|
67 |
*
|
68 |
* @version 3.1.0
|
69 |
* @since 3.1.0
|
70 |
-
* @todo fix folder structure in
|
71 |
*/
|
72 |
function replace_empty_cart_template( $located, $template_name, $args, $template_path, $default_path ) {
|
73 |
if ( 'cart/cart-empty.php' == $template_name ) {
|
@@ -81,7 +81,7 @@ class WCJ_Cart_Customization extends WCJ_Module {
|
|
81 |
*
|
82 |
* @version 3.0.1
|
83 |
* @since 3.0.1
|
84 |
-
* @todo (maybe) check if link is not empty
|
85 |
*/
|
86 |
function change_empty_cart_return_to_shop_link( $link ) {
|
87 |
return ( is_cart() ? get_option( 'wcj_cart_customization_return_to_shop_button_link', '' ) : $link );
|
@@ -92,7 +92,7 @@ class WCJ_Cart_Customization extends WCJ_Module {
|
|
92 |
*
|
93 |
* @version 2.8.0
|
94 |
* @since 2.8.0
|
95 |
-
* @todo maybe check `is_cart()`
|
96 |
*/
|
97 |
function enqueue_scripts() {
|
98 |
wp_enqueue_script( 'wcj-cart-customization', wcj_plugin_url() . '/includes/js/wcj-cart-customization.js', array( 'jquery' ), WCJ()->version, false );
|
67 |
*
|
68 |
* @version 3.1.0
|
69 |
* @since 3.1.0
|
70 |
+
* @todo [dev] fix folder structure in `/templates`
|
71 |
*/
|
72 |
function replace_empty_cart_template( $located, $template_name, $args, $template_path, $default_path ) {
|
73 |
if ( 'cart/cart-empty.php' == $template_name ) {
|
81 |
*
|
82 |
* @version 3.0.1
|
83 |
* @since 3.0.1
|
84 |
+
* @todo [dev] (maybe) check if link is not empty
|
85 |
*/
|
86 |
function change_empty_cart_return_to_shop_link( $link ) {
|
87 |
return ( is_cart() ? get_option( 'wcj_cart_customization_return_to_shop_button_link', '' ) : $link );
|
92 |
*
|
93 |
* @version 2.8.0
|
94 |
* @since 2.8.0
|
95 |
+
* @todo [dev] maybe check `is_cart()`
|
96 |
*/
|
97 |
function enqueue_scripts() {
|
98 |
wp_enqueue_script( 'wcj-cart-customization', wcj_plugin_url() . '/includes/js/wcj-cart-customization.js', array( 'jquery' ), WCJ()->version, false );
|
includes/class-wcj-crowdfunding.php
CHANGED
@@ -17,6 +17,7 @@ class WCJ_Crowdfunding extends WCJ_Module {
|
|
17 |
* Constructor.
|
18 |
*
|
19 |
* @version 2.8.0
|
|
|
20 |
*/
|
21 |
function __construct() {
|
22 |
|
@@ -52,6 +53,7 @@ class WCJ_Crowdfunding extends WCJ_Module {
|
|
52 |
* check_dates.
|
53 |
*
|
54 |
* @version 2.7.0
|
|
|
55 |
*/
|
56 |
function check_dates( $purchasable, $_product ) {
|
57 |
$_product_id = wcj_get_product_id_or_variation_parent_id( $_product );
|
17 |
* Constructor.
|
18 |
*
|
19 |
* @version 2.8.0
|
20 |
+
* @since 2.2.6
|
21 |
*/
|
22 |
function __construct() {
|
23 |
|
53 |
* check_dates.
|
54 |
*
|
55 |
* @version 2.7.0
|
56 |
+
* @since 2.2.6
|
57 |
*/
|
58 |
function check_dates( $purchasable, $_product ) {
|
59 |
$_product_id = wcj_get_product_id_or_variation_parent_id( $_product );
|
includes/class-wcj-custom-css.php
CHANGED
@@ -2,7 +2,7 @@
|
|
2 |
/**
|
3 |
* Booster for WooCommerce - Module - Custom CSS
|
4 |
*
|
5 |
-
* @version
|
6 |
* @since 2.7.0
|
7 |
* @author Algoritmika Ltd.
|
8 |
*/
|
@@ -16,33 +16,32 @@ class WCJ_Custom_CSS extends WCJ_Module {
|
|
16 |
/**
|
17 |
* Constructor.
|
18 |
*
|
19 |
-
* @version
|
20 |
* @since 2.7.0
|
21 |
-
* @todo
|
22 |
-
* @todo
|
23 |
-
* @todo (maybe) set `add_action` `priority` to `PHP_INT_MAX`
|
24 |
*/
|
25 |
function __construct() {
|
26 |
|
27 |
$this->id = 'custom_css';
|
28 |
$this->short_desc = __( 'Custom CSS', 'woocommerce-jetpack' );
|
29 |
$this->desc = __( 'Separate custom CSS for front and back end. Per product CSS.', 'woocommerce-jetpack' );
|
30 |
-
// $this->desc = __( 'Another custom CSS, if you need one.', 'woocommerce-jetpack' );
|
31 |
$this->link_slug = 'woocommerce-booster-custom-css';
|
32 |
parent::__construct();
|
33 |
|
34 |
if ( $this->is_enabled() ) {
|
35 |
// Frontend
|
36 |
if ( '' != get_option( 'wcj_general_custom_css', '' ) ) {
|
37 |
-
add_action( '
|
38 |
}
|
39 |
// Admin
|
40 |
if ( '' != get_option( 'wcj_general_custom_admin_css', '' ) ) {
|
41 |
-
add_action( '
|
42 |
}
|
43 |
// Per product
|
44 |
if ( 'yes' === get_option( 'wcj_custom_css_per_product', 'no' ) ) {
|
45 |
-
add_action( '
|
46 |
// Settings
|
47 |
add_action( 'add_meta_boxes', array( $this, 'add_meta_box' ) );
|
48 |
add_action( 'save_post_product', array( $this, 'save_meta_box' ), PHP_INT_MAX, 2 );
|
@@ -69,6 +68,7 @@ class WCJ_Custom_CSS extends WCJ_Module {
|
|
69 |
* hook_custom_css.
|
70 |
*
|
71 |
* @version 2.7.0
|
|
|
72 |
*/
|
73 |
function hook_custom_css() {
|
74 |
echo '<style>' . get_option( 'wcj_general_custom_css', '' ) . '</style>';
|
@@ -78,6 +78,7 @@ class WCJ_Custom_CSS extends WCJ_Module {
|
|
78 |
* hook_custom_admin_css.
|
79 |
*
|
80 |
* @version 2.7.0
|
|
|
81 |
*/
|
82 |
function hook_custom_admin_css() {
|
83 |
echo '<style>' . get_option( 'wcj_general_custom_admin_css', '' ) . '</style>';
|
2 |
/**
|
3 |
* Booster for WooCommerce - Module - Custom CSS
|
4 |
*
|
5 |
+
* @version 4.0.0
|
6 |
* @since 2.7.0
|
7 |
* @author Algoritmika Ltd.
|
8 |
*/
|
16 |
/**
|
17 |
* Constructor.
|
18 |
*
|
19 |
+
* @version 4.0.0
|
20 |
* @since 2.7.0
|
21 |
+
* @todo [dev] `do_shortcode()`
|
22 |
+
* @todo [dev] wp_safe_redirect after saving settings
|
23 |
+
* @todo [dev] (maybe) set `add_action` `priority` to `PHP_INT_MAX`
|
24 |
*/
|
25 |
function __construct() {
|
26 |
|
27 |
$this->id = 'custom_css';
|
28 |
$this->short_desc = __( 'Custom CSS', 'woocommerce-jetpack' );
|
29 |
$this->desc = __( 'Separate custom CSS for front and back end. Per product CSS.', 'woocommerce-jetpack' );
|
|
|
30 |
$this->link_slug = 'woocommerce-booster-custom-css';
|
31 |
parent::__construct();
|
32 |
|
33 |
if ( $this->is_enabled() ) {
|
34 |
// Frontend
|
35 |
if ( '' != get_option( 'wcj_general_custom_css', '' ) ) {
|
36 |
+
add_action( 'wp_' . get_option( 'wcj_custom_css_hook', 'head' ), array( $this, 'hook_custom_css' ) );
|
37 |
}
|
38 |
// Admin
|
39 |
if ( '' != get_option( 'wcj_general_custom_admin_css', '' ) ) {
|
40 |
+
add_action( 'admin_' . get_option( 'wcj_custom_css_hook', 'head' ), array( $this, 'hook_custom_admin_css' ) );
|
41 |
}
|
42 |
// Per product
|
43 |
if ( 'yes' === get_option( 'wcj_custom_css_per_product', 'no' ) ) {
|
44 |
+
add_action( 'wp_' . get_option( 'wcj_custom_css_hook', 'head' ), array( $this, 'maybe_add_per_product_css' ) );
|
45 |
// Settings
|
46 |
add_action( 'add_meta_boxes', array( $this, 'add_meta_box' ) );
|
47 |
add_action( 'save_post_product', array( $this, 'save_meta_box' ), PHP_INT_MAX, 2 );
|
68 |
* hook_custom_css.
|
69 |
*
|
70 |
* @version 2.7.0
|
71 |
+
* @since 2.7.0
|
72 |
*/
|
73 |
function hook_custom_css() {
|
74 |
echo '<style>' . get_option( 'wcj_general_custom_css', '' ) . '</style>';
|
78 |
* hook_custom_admin_css.
|
79 |
*
|
80 |
* @version 2.7.0
|
81 |
+
* @since 2.7.0
|
82 |
*/
|
83 |
function hook_custom_admin_css() {
|
84 |
echo '<style>' . get_option( 'wcj_general_custom_admin_css', '' ) . '</style>';
|
includes/class-wcj-custom-js.php
CHANGED
@@ -2,7 +2,7 @@
|
|
2 |
/**
|
3 |
* Booster for WooCommerce - Module - Custom JS
|
4 |
*
|
5 |
-
* @version
|
6 |
* @since 2.8.0
|
7 |
* @author Algoritmika Ltd.
|
8 |
*/
|
@@ -16,11 +16,10 @@ class WCJ_Custom_JS extends WCJ_Module {
|
|
16 |
/**
|
17 |
* Constructor.
|
18 |
*
|
19 |
-
* @version
|
20 |
* @since 2.8.0
|
21 |
-
* @todo
|
22 |
-
* @todo (maybe)
|
23 |
-
* @todo (maybe) set `add_action` `priority` to `PHP_INT_MAX`
|
24 |
*/
|
25 |
function __construct() {
|
26 |
|
@@ -32,10 +31,10 @@ class WCJ_Custom_JS extends WCJ_Module {
|
|
32 |
|
33 |
if ( $this->is_enabled() ) {
|
34 |
if ( '' != get_option( 'wcj_custom_js_frontend', '' ) ) {
|
35 |
-
add_action( '
|
36 |
}
|
37 |
if ( '' != get_option( 'wcj_custom_js_backend', '' ) ) {
|
38 |
-
add_action( '
|
39 |
}
|
40 |
}
|
41 |
}
|
2 |
/**
|
3 |
* Booster for WooCommerce - Module - Custom JS
|
4 |
*
|
5 |
+
* @version 4.0.0
|
6 |
* @since 2.8.0
|
7 |
* @author Algoritmika Ltd.
|
8 |
*/
|
16 |
/**
|
17 |
* Constructor.
|
18 |
*
|
19 |
+
* @version 4.0.0
|
20 |
* @since 2.8.0
|
21 |
+
* @todo [dev] wp_safe_redirect after saving settings
|
22 |
+
* @todo [dev] (maybe) set `add_action` `priority` to `PHP_INT_MAX`
|
|
|
23 |
*/
|
24 |
function __construct() {
|
25 |
|
31 |
|
32 |
if ( $this->is_enabled() ) {
|
33 |
if ( '' != get_option( 'wcj_custom_js_frontend', '' ) ) {
|
34 |
+
add_action( 'wp_' . get_option( 'wcj_custom_js_hook', 'head' ), array( $this, 'custom_frontend_js' ) );
|
35 |
}
|
36 |
if ( '' != get_option( 'wcj_custom_js_backend', '' ) ) {
|
37 |
+
add_action( 'admin_' . get_option( 'wcj_custom_js_hook', 'head' ), array( $this, 'custom_backend_js' ) );
|
38 |
}
|
39 |
}
|
40 |
}
|
includes/class-wcj-custom-php.php
ADDED
@@ -0,0 +1,90 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?php
|
2 |
+
/**
|
3 |
+
* Booster for WooCommerce - Module - Custom PHP
|
4 |
+
*
|
5 |
+
* @version 4.0.0
|
6 |
+
* @since 4.0.0
|
7 |
+
* @author Algoritmika Ltd.
|
8 |
+
*/
|
9 |
+
|
10 |
+
if ( ! defined( 'ABSPATH' ) ) exit; // Exit if accessed directly
|
11 |
+
|
12 |
+
if ( ! class_exists( 'WCJ_Custom_PHP' ) ) :
|
13 |
+
|
14 |
+
class WCJ_Custom_PHP extends WCJ_Module {
|
15 |
+
|
16 |
+
/**
|
17 |
+
* Constructor.
|
18 |
+
*
|
19 |
+
* @version 4.0.0
|
20 |
+
* @since 4.0.0
|
21 |
+
* @todo [dev] maybe remove `wcj_disable_custom_php` from URL on settings save
|
22 |
+
* @todo [dev] allow tab in content (i.e. settings (textarea))
|
23 |
+
*/
|
24 |
+
function __construct() {
|
25 |
+
|
26 |
+
$this->id = 'custom_php';
|
27 |
+
$this->short_desc = __( 'Custom PHP', 'woocommerce-jetpack' );
|
28 |
+
$this->desc = __( 'Custom PHP.', 'woocommerce-jetpack' );
|
29 |
+
$this->extra_desc = sprintf(
|
30 |
+
__( 'Please note that if you enable the module and enter non-valid PHP code here, your site will become unavailable. To fix this you will have to add %s attribute to the URL (you must be logged as shop manager or admin (for this reason custom PHP code is not executed on %s page)).', 'woocommerce-jetpack' ),
|
31 |
+
'<code>wcj_disable_custom_php</code>', '<strong>wp-login.php</strong>' ) . ' ' .
|
32 |
+
sprintf( __( 'E.g.: %s', 'woocommerce-jetpack' ),
|
33 |
+
'<a href="' . admin_url( 'admin.php?page=wc-settings&tab=jetpack&wcj-cat=emails_and_misc§ion=custom_php&wcj_disable_custom_php' ) . '">' .
|
34 |
+
admin_url( 'admin.php?page=wc-settings&tab=jetpack&wcj-cat=emails_and_misc§ion=custom_php&wcj_disable_custom_php' ) . '</a>' );
|
35 |
+
$this->link_slug = 'woocommerce-booster-custom-php';
|
36 |
+
parent::__construct();
|
37 |
+
|
38 |
+
add_action( 'woojetpack_after_settings_save', array( $this, 'create_php_file' ), PHP_INT_MAX, 2 );
|
39 |
+
|
40 |
+
if ( $this->is_enabled() ) {
|
41 |
+
if ( isset( $_GET['wcj_disable_custom_php'] ) ) {
|
42 |
+
if ( wcj_current_user_can( 'manage_woocommerce' ) ) {
|
43 |
+
// Stop custom PHP execution
|
44 |
+
return;
|
45 |
+
} elseif ( ! wcj_is_user_logged_in() ) {
|
46 |
+
// Redirect to login page
|
47 |
+
wp_redirect( wp_login_url( add_query_arg( '', '' ) ) );
|
48 |
+
exit;
|
49 |
+
}
|
50 |
+
}
|
51 |
+
if ( $GLOBALS['pagenow'] === 'wp-login.php' ) {
|
52 |
+
// Stop custom PHP execution if it's the login page
|
53 |
+
return;
|
54 |
+
}
|
55 |
+
// Executing custom PHP code
|
56 |
+
$file_path = wcj_get_wcj_uploads_dir( 'custom_php', false ) . DIRECTORY_SEPARATOR . 'booster.php';
|
57 |
+
if ( file_exists( $file_path ) ) {
|
58 |
+
include_once( $file_path );
|
59 |
+
}
|
60 |
+
}
|
61 |
+
}
|
62 |
+
|
63 |
+
/**
|
64 |
+
* create_php_file.
|
65 |
+
*
|
66 |
+
* @version 4.0.0
|
67 |
+
* @since 4.0.0
|
68 |
+
* @todo [dev] `unlink` and `rmdir` on settings reset
|
69 |
+
* @todo [dev] on empty content - delete dir also (`rmdir`)
|
70 |
+
*/
|
71 |
+
function create_php_file( $sections, $current_section ) {
|
72 |
+
if ( $this->id === $current_section ) {
|
73 |
+
$file_content = get_option( 'wcj_custom_php', '' );
|
74 |
+
if ( '' !== $file_content ) {
|
75 |
+
$file_path = wcj_get_wcj_uploads_dir( 'custom_php' ) . DIRECTORY_SEPARATOR . 'booster.php';
|
76 |
+
file_put_contents( $file_path, '<?php' . PHP_EOL . $file_content );
|
77 |
+
} else {
|
78 |
+
$file_path = wcj_get_wcj_uploads_dir( 'custom_php', false ) . DIRECTORY_SEPARATOR . 'booster.php';
|
79 |
+
if ( file_exists( $file_path ) ) {
|
80 |
+
unlink( $file_path );
|
81 |
+
}
|
82 |
+
}
|
83 |
+
}
|
84 |
+
}
|
85 |
+
|
86 |
+
}
|
87 |
+
|
88 |
+
endif;
|
89 |
+
|
90 |
+
return new WCJ_Custom_PHP();
|
includes/class-wcj-eu-vat-number.php
CHANGED
@@ -2,10 +2,9 @@
|
|
2 |
/**
|
3 |
* Booster for WooCommerce - Module - EU VAT Number
|
4 |
*
|
5 |
-
* @version
|
6 |
* @since 2.3.9
|
7 |
* @author Algoritmika Ltd.
|
8 |
-
* @todo clean up
|
9 |
*/
|
10 |
|
11 |
if ( ! defined( 'ABSPATH' ) ) exit;
|
@@ -18,6 +17,7 @@ class WCJ_EU_VAT_Number extends WCJ_Module {
|
|
18 |
* Constructor.
|
19 |
*
|
20 |
* @version 3.3.0
|
|
|
21 |
*/
|
22 |
function __construct() {
|
23 |
|
@@ -41,9 +41,6 @@ class WCJ_EU_VAT_Number extends WCJ_Module {
|
|
41 |
add_action( 'wp_enqueue_scripts', array( $this, 'enqueue_scripts' ) );
|
42 |
add_action( 'wp_ajax_wcj_validate_eu_vat_number', array( $this, 'wcj_validate_eu_vat_number' ) );
|
43 |
add_action( 'wp_ajax_nopriv_wcj_validate_eu_vat_number', array( $this, 'wcj_validate_eu_vat_number' ) );
|
44 |
-
// add_filter( 'woocommerce_form_field_text', array( $this, 'add_eu_vat_verify_button' ), PHP_INT_MAX, 4 );
|
45 |
-
// add_action( 'init', array( $this, 'wcj_validate_eu_vat_number' ) );
|
46 |
-
// add_filter( 'woocommerce_find_rates', array( $this, 'maybe_exclude_vat' ), PHP_INT_MAX, 2 );
|
47 |
add_filter( 'init', array( $this, 'maybe_exclude_vat' ), PHP_INT_MAX );
|
48 |
add_action( 'woocommerce_after_checkout_validation', array( $this, 'checkout_validate_vat' ), PHP_INT_MAX );
|
49 |
add_filter( 'woocommerce_customer_meta_fields', array( $this, 'add_eu_vat_number_customer_meta_field' ) );
|
@@ -193,11 +190,6 @@ class WCJ_EU_VAT_Number extends WCJ_Module {
|
|
193 |
__( 'Taxes', 'woocommerce-jetpack' ),
|
194 |
$taxes,
|
195 |
),
|
196 |
-
/* array(
|
197 |
-
__( 'Customer Meta', 'woocommerce-jetpack' ),
|
198 |
-
// '<pre>' . print_r( get_user_meta( $_order->customer_user ), true ). '</pre>',
|
199 |
-
'<pre>' . print_r( get_user_by( 'ID', $_order->customer_user ), true ). '</pre>',
|
200 |
-
), */
|
201 |
);
|
202 |
echo wcj_get_table_html( $table_data, array( 'table_class' => 'widefat striped', 'table_heading_type' => 'vertical' ) );
|
203 |
echo '<p>' . '<a href="' . add_query_arg( 'validate_vat_and_maybe_remove_taxes', $order_id ) . '">' .
|
@@ -352,10 +344,9 @@ class WCJ_EU_VAT_Number extends WCJ_Module {
|
|
352 |
/**
|
353 |
* wcj_validate_eu_vat_number.
|
354 |
*
|
355 |
-
* @version
|
356 |
*/
|
357 |
function wcj_validate_eu_vat_number( $param ) {
|
358 |
-
// if ( ! isset( $_GET['wcj_validate_eu_vat_number'] ) ) return;
|
359 |
if ( isset( $_POST['wcj_eu_vat_number_to_check'] ) && '' != $_POST['wcj_eu_vat_number_to_check'] ) {
|
360 |
$eu_vat_number_to_check = substr( $_POST['wcj_eu_vat_number_to_check'], 2 );
|
361 |
$eu_vat_number_country_to_check = substr( $_POST['wcj_eu_vat_number_to_check'], 0, 2 );
|
@@ -374,7 +365,7 @@ class WCJ_EU_VAT_Number extends WCJ_Module {
|
|
374 |
$is_valid = null;
|
375 |
}
|
376 |
wcj_session_set( 'wcj_is_eu_vat_number_valid', $is_valid );
|
377 |
-
wcj_session_set( 'wcj_eu_vat_number_to_check', $_POST['wcj_eu_vat_number_to_check'] );
|
378 |
if ( false === $is_valid ) {
|
379 |
echo '0';
|
380 |
} elseif ( true === $is_valid ) {
|
@@ -392,7 +383,6 @@ class WCJ_EU_VAT_Number extends WCJ_Module {
|
|
392 |
*
|
393 |
* @version 3.4.0
|
394 |
*/
|
395 |
-
// function maybe_exclude_vat( $matched_tax_rates, $args ) {
|
396 |
function maybe_exclude_vat() {
|
397 |
if (
|
398 |
( is_checkout() || is_cart() || defined( 'WOOCOMMERCE_CHECKOUT' ) || defined( 'WOOCOMMERCE_CART' ) || ( defined( 'DOING_AJAX' ) && DOING_AJAX ) ) &&
|
@@ -414,12 +404,6 @@ class WCJ_EU_VAT_Number extends WCJ_Module {
|
|
414 |
$preserve_base_country_check_passed = ( strtoupper( $location['country'] ) !== strtoupper( $selected_country ) );
|
415 |
}
|
416 |
if ( $preserve_base_country_check_passed ) {
|
417 |
-
/* $modified_matched_tax_rates = array();
|
418 |
-
foreach ( $matched_tax_rates as $i => $matched_tax_rate ) {
|
419 |
-
$matched_tax_rate['rate'] = 0;
|
420 |
-
$modified_matched_tax_rates[ $i ] = $matched_tax_rate;
|
421 |
-
}
|
422 |
-
return $modified_matched_tax_rates; */
|
423 |
WC()->customer->set_is_vat_exempt( true );
|
424 |
} else {
|
425 |
WC()->customer->set_is_vat_exempt( false );
|
@@ -429,7 +413,6 @@ class WCJ_EU_VAT_Number extends WCJ_Module {
|
|
429 |
WC()->customer->set_is_vat_exempt( false );
|
430 |
}
|
431 |
}
|
432 |
-
// return $matched_tax_rates;
|
433 |
}
|
434 |
|
435 |
/**
|
@@ -469,15 +452,6 @@ class WCJ_EU_VAT_Number extends WCJ_Module {
|
|
469 |
return $fields;
|
470 |
}
|
471 |
|
472 |
-
/**
|
473 |
-
* add_eu_vat_verify_button.
|
474 |
-
*
|
475 |
-
function add_eu_vat_verify_button( $field, $key, $args, $value ) {
|
476 |
-
return ( 'billing_eu_vat_number' === $key ) ?
|
477 |
-
$field . '<span style="font-size:smaller !important;">' . '[<a name="billing_eu_vat_number_verify" href="">' . __( 'Verify', 'woocommerce-jetpack' ) . '</a>]' . '</span>' :
|
478 |
-
$field;
|
479 |
-
}
|
480 |
-
|
481 |
/**
|
482 |
* add_eu_vat_number_checkout_field_to_frontend.
|
483 |
*
|
@@ -486,7 +460,6 @@ class WCJ_EU_VAT_Number extends WCJ_Module {
|
|
486 |
function add_eu_vat_number_checkout_field_to_frontend( $fields ) {
|
487 |
$fields['billing'][ 'billing_' . $this->id ] = array(
|
488 |
'type' => 'text',
|
489 |
-
// 'default' => ( null !== ( $eu_vat_number_to_check = wcj_session_get( 'wcj_eu_vat_number_to_check' ) ) ? $eu_vat_number_to_check : '' ),
|
490 |
'label' => get_option( 'wcj_eu_vat_number_field_label' ),
|
491 |
'description' => get_option( 'wcj_eu_vat_number_field_description' ),
|
492 |
'placeholder' => get_option( 'wcj_eu_vat_number_field_placeholder' ),
|
2 |
/**
|
3 |
* Booster for WooCommerce - Module - EU VAT Number
|
4 |
*
|
5 |
+
* @version 4.0.0
|
6 |
* @since 2.3.9
|
7 |
* @author Algoritmika Ltd.
|
|
|
8 |
*/
|
9 |
|
10 |
if ( ! defined( 'ABSPATH' ) ) exit;
|
17 |
* Constructor.
|
18 |
*
|
19 |
* @version 3.3.0
|
20 |
+
* @todo [feature] add option to add "Verify" button to frontend
|
21 |
*/
|
22 |
function __construct() {
|
23 |
|
41 |
add_action( 'wp_enqueue_scripts', array( $this, 'enqueue_scripts' ) );
|
42 |
add_action( 'wp_ajax_wcj_validate_eu_vat_number', array( $this, 'wcj_validate_eu_vat_number' ) );
|
43 |
add_action( 'wp_ajax_nopriv_wcj_validate_eu_vat_number', array( $this, 'wcj_validate_eu_vat_number' ) );
|
|
|
|
|
|
|
44 |
add_filter( 'init', array( $this, 'maybe_exclude_vat' ), PHP_INT_MAX );
|
45 |
add_action( 'woocommerce_after_checkout_validation', array( $this, 'checkout_validate_vat' ), PHP_INT_MAX );
|
46 |
add_filter( 'woocommerce_customer_meta_fields', array( $this, 'add_eu_vat_number_customer_meta_field' ) );
|
190 |
__( 'Taxes', 'woocommerce-jetpack' ),
|
191 |
$taxes,
|
192 |
),
|
|
|
|
|
|
|
|
|
|
|
193 |
);
|
194 |
echo wcj_get_table_html( $table_data, array( 'table_class' => 'widefat striped', 'table_heading_type' => 'vertical' ) );
|
195 |
echo '<p>' . '<a href="' . add_query_arg( 'validate_vat_and_maybe_remove_taxes', $order_id ) . '">' .
|
344 |
/**
|
345 |
* wcj_validate_eu_vat_number.
|
346 |
*
|
347 |
+
* @version 4.0.0
|
348 |
*/
|
349 |
function wcj_validate_eu_vat_number( $param ) {
|
|
|
350 |
if ( isset( $_POST['wcj_eu_vat_number_to_check'] ) && '' != $_POST['wcj_eu_vat_number_to_check'] ) {
|
351 |
$eu_vat_number_to_check = substr( $_POST['wcj_eu_vat_number_to_check'], 2 );
|
352 |
$eu_vat_number_country_to_check = substr( $_POST['wcj_eu_vat_number_to_check'], 0, 2 );
|
365 |
$is_valid = null;
|
366 |
}
|
367 |
wcj_session_set( 'wcj_is_eu_vat_number_valid', $is_valid );
|
368 |
+
wcj_session_set( 'wcj_eu_vat_number_to_check', ( isset( $_POST['wcj_eu_vat_number_to_check'] ) ? $_POST['wcj_eu_vat_number_to_check'] : '' ) );
|
369 |
if ( false === $is_valid ) {
|
370 |
echo '0';
|
371 |
} elseif ( true === $is_valid ) {
|
383 |
*
|
384 |
* @version 3.4.0
|
385 |
*/
|
|
|
386 |
function maybe_exclude_vat() {
|
387 |
if (
|
388 |
( is_checkout() || is_cart() || defined( 'WOOCOMMERCE_CHECKOUT' ) || defined( 'WOOCOMMERCE_CART' ) || ( defined( 'DOING_AJAX' ) && DOING_AJAX ) ) &&
|
404 |
$preserve_base_country_check_passed = ( strtoupper( $location['country'] ) !== strtoupper( $selected_country ) );
|
405 |
}
|
406 |
if ( $preserve_base_country_check_passed ) {
|
|
|
|
|
|
|
|
|
|
|
|
|
407 |
WC()->customer->set_is_vat_exempt( true );
|
408 |
} else {
|
409 |
WC()->customer->set_is_vat_exempt( false );
|
413 |
WC()->customer->set_is_vat_exempt( false );
|
414 |
}
|
415 |
}
|
|
|
416 |
}
|
417 |
|
418 |
/**
|
452 |
return $fields;
|
453 |
}
|
454 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
455 |
/**
|
456 |
* add_eu_vat_number_checkout_field_to_frontend.
|
457 |
*
|
460 |
function add_eu_vat_number_checkout_field_to_frontend( $fields ) {
|
461 |
$fields['billing'][ 'billing_' . $this->id ] = array(
|
462 |
'type' => 'text',
|
|
|
463 |
'label' => get_option( 'wcj_eu_vat_number_field_label' ),
|
464 |
'description' => get_option( 'wcj_eu_vat_number_field_description' ),
|
465 |
'placeholder' => get_option( 'wcj_eu_vat_number_field_placeholder' ),
|
includes/class-wcj-export-import.php
CHANGED
@@ -5,7 +5,6 @@
|
|
5 |
* @version 3.0.0
|
6 |
* @since 2.5.4
|
7 |
* @author Algoritmika Ltd.
|
8 |
-
* @todo import products, customers and (maybe) orders
|
9 |
*/
|
10 |
|
11 |
if ( ! defined( 'ABSPATH' ) ) exit; // Exit if accessed directly
|
@@ -19,6 +18,7 @@ class WCJ_Export_Import extends WCJ_Module {
|
|
19 |
*
|
20 |
* @version 2.8.0
|
21 |
* @since 2.5.4
|
|
|
22 |
*/
|
23 |
function __construct() {
|
24 |
|
@@ -35,7 +35,8 @@ class WCJ_Export_Import extends WCJ_Module {
|
|
35 |
),
|
36 |
'export_customers_from_orders' => array(
|
37 |
'title' => __( 'Export Customers from Orders', 'woocommerce-jetpack' ),
|
38 |
-
'desc' => __( 'Export Customers (extracted from orders).', 'woocommerce-jetpack' ) . ' ' .
|
|
|
39 |
),
|
40 |
'export_orders' => array(
|
41 |
'title' => __( 'Export Orders', 'woocommerce-jetpack' ),
|
@@ -64,8 +65,8 @@ class WCJ_Export_Import extends WCJ_Module {
|
|
64 |
*
|
65 |
* @version 2.5.9
|
66 |
* @since 2.4.8
|
67 |
-
* @todo when filtering now using strpos
|
68 |
-
* @todo (maybe) do filtering directly in WP_Query
|
69 |
*/
|
70 |
function export( $tool_id ) {
|
71 |
$data = array();
|
@@ -108,9 +109,6 @@ class WCJ_Export_Import extends WCJ_Module {
|
|
108 |
}
|
109 |
}
|
110 |
}
|
111 |
-
/* if ( 1 == count( $data ) ) {
|
112 |
-
return '<em>' . __( 'No results found.', 'woocommerce-jetpack' ) . '</em>';
|
113 |
-
} */
|
114 |
return $data;
|
115 |
}
|
116 |
|
@@ -119,8 +117,8 @@ class WCJ_Export_Import extends WCJ_Module {
|
|
119 |
*
|
120 |
* @version 2.5.9
|
121 |
* @since 2.5.9
|
122 |
-
* @todo templates for xml_start, xml_end, xml_item.
|
123 |
-
* @todo strip_tags
|
124 |
*/
|
125 |
function export_xml() {
|
126 |
if ( isset( $_POST['wcj_export_xml'] ) ) {
|
@@ -184,7 +182,7 @@ class WCJ_Export_Import extends WCJ_Module {
|
|
184 |
*
|
185 |
* @version 2.5.9
|
186 |
* @since 2.5.5
|
187 |
-
* @todo filter each field separately
|
188 |
*/
|
189 |
function export_filter_fields( $tool_id ) {
|
190 |
$fields = array();
|
@@ -214,7 +212,7 @@ class WCJ_Export_Import extends WCJ_Module {
|
|
214 |
'<button class="button-primary" type="submit" name="wcj_export_filter" value="' . $tool_id . '">' . __( 'Filter', 'woocommerce-jetpack' ) . '</button>',
|
215 |
'',
|
216 |
);
|
217 |
-
return wcj_get_table_html( $data, array( 'table_class' => 'widefat', 'table_style' => 'width:50%;min-width:300px;', 'table_heading_type' => 'vertical'
|
218 |
}
|
219 |
}
|
220 |
|
@@ -223,7 +221,7 @@ class WCJ_Export_Import extends WCJ_Module {
|
|
223 |
*
|
224 |
* @version 3.0.0
|
225 |
* @since 3.0.0
|
226 |
-
* @todo mark current (i.e. active) link (if exists)
|
227 |
*/
|
228 |
function export_date_fields( $tool_id ) {
|
229 |
$current_start_date = ( isset( $_GET['start_date'] ) ? $_GET['start_date'] : '' );
|
@@ -270,9 +268,12 @@ class WCJ_Export_Import extends WCJ_Module {
|
|
270 |
echo '<p>';
|
271 |
echo '<button class="button-primary" type="submit" name="wcj_export" value="' . $tool_id . '">' . __( 'Download CSV', 'woocommerce-jetpack' ) . '</button>';
|
272 |
echo ' ';
|
273 |
-
echo '<button class="button-primary" type="submit" name="wcj_export_xml" value="' . $tool_id . '">' .
|
274 |
-
|
275 |
-
echo '<
|
|
|
|
|
|
|
276 |
echo '</p>';
|
277 |
echo '</form>';
|
278 |
$data = $this->export( $tool_id );
|
5 |
* @version 3.0.0
|
6 |
* @since 2.5.4
|
7 |
* @author Algoritmika Ltd.
|
|
|
8 |
*/
|
9 |
|
10 |
if ( ! defined( 'ABSPATH' ) ) exit; // Exit if accessed directly
|
18 |
*
|
19 |
* @version 2.8.0
|
20 |
* @since 2.5.4
|
21 |
+
* @todo [feature] import products, customers and (maybe) orders
|
22 |
*/
|
23 |
function __construct() {
|
24 |
|
35 |
),
|
36 |
'export_customers_from_orders' => array(
|
37 |
'title' => __( 'Export Customers from Orders', 'woocommerce-jetpack' ),
|
38 |
+
'desc' => __( 'Export Customers (extracted from orders).', 'woocommerce-jetpack' ) . ' ' .
|
39 |
+
__( 'Customers are identified by billing email.', 'woocommerce-jetpack' ),
|
40 |
),
|
41 |
'export_orders' => array(
|
42 |
'title' => __( 'Export Orders', 'woocommerce-jetpack' ),
|
65 |
*
|
66 |
* @version 2.5.9
|
67 |
* @since 2.4.8
|
68 |
+
* @todo [dev] when filtering now using `strpos`, but other options would be `stripos` (case-insensitive) or strict equality
|
69 |
+
* @todo [dev] (maybe) do filtering directly in WP_Query
|
70 |
*/
|
71 |
function export( $tool_id ) {
|
72 |
$data = array();
|
109 |
}
|
110 |
}
|
111 |
}
|
|
|
|
|
|
|
112 |
return $data;
|
113 |
}
|
114 |
|
117 |
*
|
118 |
* @version 2.5.9
|
119 |
* @since 2.5.9
|
120 |
+
* @todo [dev] templates for xml_start, xml_end, xml_item.
|
121 |
+
* @todo [dev] `strip_tags`
|
122 |
*/
|
123 |
function export_xml() {
|
124 |
if ( isset( $_POST['wcj_export_xml'] ) ) {
|
182 |
*
|
183 |
* @version 2.5.9
|
184 |
* @since 2.5.5
|
185 |
+
* @todo [dev] filter each field separately
|
186 |
*/
|
187 |
function export_filter_fields( $tool_id ) {
|
188 |
$fields = array();
|
212 |
'<button class="button-primary" type="submit" name="wcj_export_filter" value="' . $tool_id . '">' . __( 'Filter', 'woocommerce-jetpack' ) . '</button>',
|
213 |
'',
|
214 |
);
|
215 |
+
return wcj_get_table_html( $data, array( 'table_class' => 'widefat', 'table_style' => 'width:50%;min-width:300px;', 'table_heading_type' => 'vertical' ) );
|
216 |
}
|
217 |
}
|
218 |
|
221 |
*
|
222 |
* @version 3.0.0
|
223 |
* @since 3.0.0
|
224 |
+
* @todo [dev] mark current (i.e. active) link (if exists)
|
225 |
*/
|
226 |
function export_date_fields( $tool_id ) {
|
227 |
$current_start_date = ( isset( $_GET['start_date'] ) ? $_GET['start_date'] : '' );
|
268 |
echo '<p>';
|
269 |
echo '<button class="button-primary" type="submit" name="wcj_export" value="' . $tool_id . '">' . __( 'Download CSV', 'woocommerce-jetpack' ) . '</button>';
|
270 |
echo ' ';
|
271 |
+
echo '<button class="button-primary" type="submit" name="wcj_export_xml" value="' . $tool_id . '">' .
|
272 |
+
__( 'Download XML', 'woocommerce-jetpack' ) . '</button>';
|
273 |
+
echo '<button style="float:right;margin-right:10px;" class="button-primary" type="submit" name="wcj_export_filter" value="' . $tool_id . '">' .
|
274 |
+
__( 'Filter by All Fields', 'woocommerce-jetpack' ) . '</button>';
|
275 |
+
echo '<input style="float:right;margin-right:10px;" type="text" name="wcj_export_filter_all_columns" value="' .
|
276 |
+
( isset( $_POST['wcj_export_filter_all_columns'] ) ? $_POST['wcj_export_filter_all_columns'] : '' ) . '">';
|
277 |
echo '</p>';
|
278 |
echo '</form>';
|
279 |
$data = $this->export( $tool_id );
|
includes/class-wcj-general.php
CHANGED
@@ -2,7 +2,7 @@
|
|
2 |
/**
|
3 |
* Booster for WooCommerce - Module - General
|
4 |
*
|
5 |
-
* @version
|
6 |
* @author Algoritmika Ltd.
|
7 |
*/
|
8 |
|
@@ -162,22 +162,25 @@ class WCJ_General extends WCJ_Module {
|
|
162 |
/**
|
163 |
* create_custom_roles_tool.
|
164 |
*
|
165 |
-
* @version
|
166 |
* @since 2.5.3
|
167 |
*/
|
168 |
function create_custom_roles_tool() {
|
169 |
if ( isset( $_POST['wcj_add_new_role'] ) ) {
|
170 |
-
if (
|
171 |
-
|
172 |
-
! isset( $_POST['wcj_custom_role_name'] ) || '' == $_POST['wcj_custom_role_name']
|
173 |
-
) {
|
174 |
-
echo '<p style="color:red;font-weight:bold;">' . __( 'Both fields are required!', 'woocommerce-jetpack') . '</p>';
|
175 |
} else {
|
176 |
-
|
|
|
177 |
echo '<p style="color:red;font-weight:bold;">' . __( 'Role ID must not be numbers only!', 'woocommerce-jetpack') . '</p>';
|
178 |
} else {
|
179 |
-
$
|
|
|
|
|
180 |
if ( null !== $result ) {
|
|
|
|
|
|
|
181 |
echo '<p style="color:green;font-weight:bold;">' . __( 'Role successfully added!', 'woocommerce-jetpack') . '</p>';
|
182 |
} else {
|
183 |
echo '<p style="color:red;font-weight:bold;">' . __( 'Role already exists!', 'woocommerce-jetpack') . '</p>';
|
@@ -188,27 +191,35 @@ class WCJ_General extends WCJ_Module {
|
|
188 |
|
189 |
if ( isset( $_GET['wcj_delete_role'] ) && '' != $_GET['wcj_delete_role'] ) {
|
190 |
remove_role( $_GET['wcj_delete_role'] );
|
|
|
|
|
|
|
|
|
|
|
191 |
echo '<p style="color:green;font-weight:bold;">' . sprintf( __( 'Role %s successfully deleted!', 'woocommerce-jetpack'), $_GET['wcj_delete_role'] ) . '</p>';
|
192 |
}
|
193 |
|
194 |
echo $this->get_tool_header_html( 'custom_roles' );
|
195 |
|
196 |
$table_data = array();
|
197 |
-
$table_data[] = array( __( 'ID', 'woocommerce-jetpack'), __( 'Name', 'woocommerce-jetpack'), __( '
|
198 |
$existing_roles = wcj_get_user_roles();
|
199 |
-
$default_wp_wc_roles = array( 'guest', 'administrator', 'editor', 'author', 'contributor', 'subscriber', 'customer', 'shop_manager'
|
|
|
200 |
foreach ( $existing_roles as $role_key => $role_data ) {
|
201 |
$delete_html = ( in_array( $role_key, $default_wp_wc_roles ) )
|
202 |
? ''
|
203 |
-
: '<a href="' . add_query_arg( 'wcj_delete_role', $role_key ). '">' . __( 'Delete', 'woocommerce-jetpack') . '</a>';
|
204 |
-
$
|
|
|
205 |
}
|
206 |
echo '<h3>' . __( 'Existing Roles', 'woocommerce-jetpack') . '</h3>';
|
207 |
echo wcj_get_table_html( $table_data, array( 'table_class' => 'widefat striped' ) );
|
208 |
|
209 |
$table_data = array();
|
210 |
-
$table_data[] = array( __( 'ID', 'woocommerce-jetpack'), '<input type="text" name="wcj_custom_role_id">' );
|
211 |
-
$table_data[] = array( __( 'Name', 'woocommerce-jetpack'), '<input type="text" name="wcj_custom_role_name">' );
|
|
|
212 |
echo '<h3>' . __( 'Add New Role', 'woocommerce-jetpack') . '</h3>';
|
213 |
echo '<form method="post" action="' . remove_query_arg( 'wcj_delete_role' ) . '">' .
|
214 |
wcj_get_table_html( $table_data, array( 'table_class' => 'widefat', 'table_heading_type' => 'vertical', 'table_style' => 'width:20%;min-width:300px;', ) )
|
@@ -266,7 +277,7 @@ class WCJ_General extends WCJ_Module {
|
|
266 |
/*
|
267 |
* get_products_atts.
|
268 |
*
|
269 |
-
* @version
|
270 |
* @since 2.3.9
|
271 |
*/
|
272 |
function get_products_atts() {
|
@@ -322,8 +333,13 @@ class WCJ_General extends WCJ_Module {
|
|
322 |
$_GET['wcj_attribute'],
|
323 |
);
|
324 |
} else {
|
325 |
-
|
326 |
-
$
|
|
|
|
|
|
|
|
|
|
|
327 |
}
|
328 |
foreach ( $attributes_names as $attributes_name => $attribute_title ) {
|
329 |
|
2 |
/**
|
3 |
* Booster for WooCommerce - Module - General
|
4 |
*
|
5 |
+
* @version 4.0.0
|
6 |
* @author Algoritmika Ltd.
|
7 |
*/
|
8 |
|
162 |
/**
|
163 |
* create_custom_roles_tool.
|
164 |
*
|
165 |
+
* @version 4.0.0
|
166 |
* @since 2.5.3
|
167 |
*/
|
168 |
function create_custom_roles_tool() {
|
169 |
if ( isset( $_POST['wcj_add_new_role'] ) ) {
|
170 |
+
if ( empty( $_POST['wcj_custom_role_id'] ) || empty( $_POST['wcj_custom_role_name'] ) || empty( $_POST['wcj_custom_role_caps'] ) ) {
|
171 |
+
echo '<p style="color:red;font-weight:bold;">' . __( 'All fields are required!', 'woocommerce-jetpack') . '</p>';
|
|
|
|
|
|
|
172 |
} else {
|
173 |
+
$role_id = sanitize_key( $_POST['wcj_custom_role_id'] );
|
174 |
+
if ( is_numeric( $role_id ) ) {
|
175 |
echo '<p style="color:red;font-weight:bold;">' . __( 'Role ID must not be numbers only!', 'woocommerce-jetpack') . '</p>';
|
176 |
} else {
|
177 |
+
$caps_role = get_role( $_POST['wcj_custom_role_caps'] );
|
178 |
+
$caps = ( ! empty( $caps_role->capabilities ) && is_array( $caps_role->capabilities ) ? $caps_role->capabilities : array() );
|
179 |
+
$result = add_role( $role_id, $_POST['wcj_custom_role_name'], $caps );
|
180 |
if ( null !== $result ) {
|
181 |
+
$custom_roles = get_option( 'wcj_custom_roles', array() ); // `wcj_custom_roles` option added since Booster v4.0.0
|
182 |
+
$custom_roles[ $role_id ] = array( 'display_name' => $_POST['wcj_custom_role_name'], 'caps_role' => $_POST['wcj_custom_role_caps'] );
|
183 |
+
update_option( 'wcj_custom_roles', $custom_roles );
|
184 |
echo '<p style="color:green;font-weight:bold;">' . __( 'Role successfully added!', 'woocommerce-jetpack') . '</p>';
|
185 |
} else {
|
186 |
echo '<p style="color:red;font-weight:bold;">' . __( 'Role already exists!', 'woocommerce-jetpack') . '</p>';
|
191 |
|
192 |
if ( isset( $_GET['wcj_delete_role'] ) && '' != $_GET['wcj_delete_role'] ) {
|
193 |
remove_role( $_GET['wcj_delete_role'] );
|
194 |
+
$custom_roles = get_option( 'wcj_custom_roles', array() );
|
195 |
+
if ( isset( $custom_roles[ $_GET['wcj_delete_role'] ] ) ) {
|
196 |
+
unset( $custom_roles[ $_GET['wcj_delete_role'] ] );
|
197 |
+
update_option( 'wcj_custom_roles', $custom_roles );
|
198 |
+
}
|
199 |
echo '<p style="color:green;font-weight:bold;">' . sprintf( __( 'Role %s successfully deleted!', 'woocommerce-jetpack'), $_GET['wcj_delete_role'] ) . '</p>';
|
200 |
}
|
201 |
|
202 |
echo $this->get_tool_header_html( 'custom_roles' );
|
203 |
|
204 |
$table_data = array();
|
205 |
+
$table_data[] = array( __( 'ID', 'woocommerce-jetpack'), __( 'Name', 'woocommerce-jetpack'), __( 'Capabilities', 'woocommerce-jetpack'), __( 'Actions', 'woocommerce-jetpack') );
|
206 |
$existing_roles = wcj_get_user_roles();
|
207 |
+
$default_wp_wc_roles = array( 'guest', 'administrator', 'editor', 'author', 'contributor', 'subscriber', 'customer', 'shop_manager' );
|
208 |
+
$custom_roles = get_option( 'wcj_custom_roles', array() );
|
209 |
foreach ( $existing_roles as $role_key => $role_data ) {
|
210 |
$delete_html = ( in_array( $role_key, $default_wp_wc_roles ) )
|
211 |
? ''
|
212 |
+
: '<a href="' . add_query_arg( 'wcj_delete_role', $role_key ). '"' . wcj_get_js_confirmation() . '>' . __( 'Delete', 'woocommerce-jetpack') . '</a>';
|
213 |
+
$caps = ( ! empty( $custom_roles[ $role_key ]['caps_role'] ) ? $custom_roles[ $role_key ]['caps_role'] : $role_key );
|
214 |
+
$table_data[] = array( $role_key, $role_data['name'], $caps, $delete_html );
|
215 |
}
|
216 |
echo '<h3>' . __( 'Existing Roles', 'woocommerce-jetpack') . '</h3>';
|
217 |
echo wcj_get_table_html( $table_data, array( 'table_class' => 'widefat striped' ) );
|
218 |
|
219 |
$table_data = array();
|
220 |
+
$table_data[] = array( __( 'ID', 'woocommerce-jetpack'), '<input style="width:100%" required type="text" name="wcj_custom_role_id">' );
|
221 |
+
$table_data[] = array( __( 'Name', 'woocommerce-jetpack'), '<input style="width:100%" required type="text" name="wcj_custom_role_name">' );
|
222 |
+
$table_data[] = array( __( 'Capabilities', 'woocommerce-jetpack'), wcj_get_select_html( 'wcj_custom_role_caps', wcj_get_user_roles_options(), 'width:100%' ) );
|
223 |
echo '<h3>' . __( 'Add New Role', 'woocommerce-jetpack') . '</h3>';
|
224 |
echo '<form method="post" action="' . remove_query_arg( 'wcj_delete_role' ) . '">' .
|
225 |
wcj_get_table_html( $table_data, array( 'table_class' => 'widefat', 'table_heading_type' => 'vertical', 'table_style' => 'width:20%;min-width:300px;', ) )
|
277 |
/*
|
278 |
* get_products_atts.
|
279 |
*
|
280 |
+
* @version 4.0.0
|
281 |
* @since 2.3.9
|
282 |
*/
|
283 |
function get_products_atts() {
|
333 |
$_GET['wcj_attribute'],
|
334 |
);
|
335 |
} else {
|
336 |
+
$header = $attributes_names;
|
337 |
+
unset( $header['wcj_title'] );
|
338 |
+
unset( $header['wcj_category'] );
|
339 |
+
$table_data[] = array_merge( array(
|
340 |
+
__( 'Product', 'woocommerce-jetpack' ),
|
341 |
+
__( 'Category', 'woocommerce-jetpack' ),
|
342 |
+
), array_keys( $header ) );
|
343 |
}
|
344 |
foreach ( $attributes_names as $attributes_name => $attribute_title ) {
|
345 |
|
includes/class-wcj-global-discount.php
CHANGED
@@ -2,7 +2,7 @@
|
|
2 |
/**
|
3 |
* Booster for WooCommerce - Module - Global Discount
|
4 |
*
|
5 |
-
* @version
|
6 |
* @since 2.5.7
|
7 |
* @author Algoritmika Ltd.
|
8 |
*/
|
@@ -16,7 +16,7 @@ class WCJ_Global_Discount extends WCJ_Module {
|
|
16 |
/**
|
17 |
* Constructor.
|
18 |
*
|
19 |
-
* @version
|
20 |
* @since 2.5.7
|
21 |
* @todo fee instead of discount
|
22 |
* @todo regular price coefficient
|
@@ -31,7 +31,7 @@ class WCJ_Global_Discount extends WCJ_Module {
|
|
31 |
|
32 |
if ( $this->is_enabled() ) {
|
33 |
$this->price_hooks_priority = wcj_get_module_price_hooks_priority( 'global_discount' );
|
34 |
-
if ( wcj_is_frontend() ) {
|
35 |
wcj_add_change_price_hooks( $this, $this->price_hooks_priority, false );
|
36 |
}
|
37 |
}
|
2 |
/**
|
3 |
* Booster for WooCommerce - Module - Global Discount
|
4 |
*
|
5 |
+
* @version 4.0.0
|
6 |
* @since 2.5.7
|
7 |
* @author Algoritmika Ltd.
|
8 |
*/
|
16 |
/**
|
17 |
* Constructor.
|
18 |
*
|
19 |
+
* @version 4.0.0
|
20 |
* @since 2.5.7
|
21 |
* @todo fee instead of discount
|
22 |
* @todo regular price coefficient
|
31 |
|
32 |
if ( $this->is_enabled() ) {
|
33 |
$this->price_hooks_priority = wcj_get_module_price_hooks_priority( 'global_discount' );
|
34 |
+
if ( 'yes' === get_option( 'wcj_global_discount_enabled_in_admin', 'no' ) || wcj_is_frontend() ) {
|
35 |
wcj_add_change_price_hooks( $this, $this->price_hooks_priority, false );
|
36 |
}
|
37 |
}
|
includes/class-wcj-multicurrency.php
CHANGED
@@ -2,7 +2,7 @@
|
|
2 |
/**
|
3 |
* Booster for WooCommerce - Module - Multicurrency (Currency Switcher)
|
4 |
*
|
5 |
-
* @version
|
6 |
* @since 2.4.3
|
7 |
* @author Algoritmika Ltd.
|
8 |
*/
|
@@ -16,7 +16,7 @@ class WCJ_Multicurrency extends WCJ_Module {
|
|
16 |
/**
|
17 |
* Constructor.
|
18 |
*
|
19 |
-
* @version
|
20 |
* @todo check if we can just always execute `init()` on `init` hook
|
21 |
*/
|
22 |
function __construct() {
|
@@ -25,10 +25,19 @@ class WCJ_Multicurrency extends WCJ_Module {
|
|
25 |
$this->short_desc = __( 'Multicurrency (Currency Switcher)', 'woocommerce-jetpack' );
|
26 |
$this->desc = __( 'Add multiple currencies (currency switcher) to WooCommerce.', 'woocommerce-jetpack' );
|
27 |
$this->link_slug = 'woocommerce-multicurrency-currency-switcher';
|
28 |
-
$this->extra_desc = sprintf( __( 'After setting currencies in the Currencies Options section below,
|
29 |
-
'<
|
30 |
-
|
31 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
32 |
parent::__construct();
|
33 |
|
34 |
if ( $this->is_enabled() ) {
|
2 |
/**
|
3 |
* Booster for WooCommerce - Module - Multicurrency (Currency Switcher)
|
4 |
*
|
5 |
+
* @version 4.0.0
|
6 |
* @since 2.4.3
|
7 |
* @author Algoritmika Ltd.
|
8 |
*/
|
16 |
/**
|
17 |
* Constructor.
|
18 |
*
|
19 |
+
* @version 4.0.0
|
20 |
* @todo check if we can just always execute `init()` on `init` hook
|
21 |
*/
|
22 |
function __construct() {
|
25 |
$this->short_desc = __( 'Multicurrency (Currency Switcher)', 'woocommerce-jetpack' );
|
26 |
$this->desc = __( 'Add multiple currencies (currency switcher) to WooCommerce.', 'woocommerce-jetpack' );
|
27 |
$this->link_slug = 'woocommerce-multicurrency-currency-switcher';
|
28 |
+
$this->extra_desc = sprintf( __( 'After setting currencies in the Currencies Options section below, you can add switcher to the frontend with: %s', 'woocommerce-jetpack' ),
|
29 |
+
'<ol>' .
|
30 |
+
'<li>' . sprintf( __( '<strong>Widget:</strong> "%s"', 'woocommerce-jetpack' ),
|
31 |
+
__( 'Booster - Multicurrency Switcher', 'woocommerce-jetpack' ) ) .
|
32 |
+
'</li>' .
|
33 |
+
'<li>' . sprintf( __( '<strong>Shortcodes:</strong> %s', 'woocommerce-jetpack' ),
|
34 |
+
'<code>[wcj_currency_select_drop_down_list]</code>, <code>[wcj_currency_select_radio_list]</code>, <code>[wcj_currency_select_link_list]</code>' ) .
|
35 |
+
'</li>' .
|
36 |
+
'<li>' . sprintf( __( '<strong>PHP code:</strong> by using %s function, e.g.: %s', 'woocommerce-jetpack' ),
|
37 |
+
'<code>do_shortcode()</code>',
|
38 |
+
'<code>echo do_shortcode( \'[wcj_currency_select_drop_down_list]\' );</code>' ) .
|
39 |
+
'</li>' .
|
40 |
+
'</ol>' );
|
41 |
parent::__construct();
|
42 |
|
43 |
if ( $this->is_enabled() ) {
|
includes/class-wcj-order-custom-statuses.php
CHANGED
@@ -2,7 +2,7 @@
|
|
2 |
/**
|
3 |
* Booster for WooCommerce - Module - Order Custom Statuses
|
4 |
*
|
5 |
-
* @version
|
6 |
* @since 2.2.0
|
7 |
* @author Algoritmika Ltd.
|
8 |
*/
|
@@ -16,11 +16,9 @@ class WCJ_Order_Custom_Statuses extends WCJ_Module {
|
|
16 |
/**
|
17 |
* Constructor.
|
18 |
*
|
19 |
-
* @version
|
20 |
-
* @todo
|
21 |
-
* @todo
|
22 |
-
* @todo (maybe) add options to change icon and icon's color for all statuses (i.e. not only custom)
|
23 |
-
* @todo (maybe) rename module to "Custom Order Statuses"
|
24 |
*/
|
25 |
function __construct() {
|
26 |
|
@@ -39,28 +37,41 @@ class WCJ_Order_Custom_Statuses extends WCJ_Module {
|
|
39 |
|
40 |
if ( $this->is_enabled() ) {
|
41 |
|
|
|
42 |
add_filter( 'wc_order_statuses', array( $this, 'add_custom_statuses_to_filter' ), PHP_INT_MAX );
|
43 |
add_action( 'init', array( $this, 'register_custom_post_statuses' ) );
|
|
|
|
|
44 |
add_action( 'admin_head', array( $this, 'hook_statuses_icons_css' ) );
|
45 |
if ( 'yes' === apply_filters( 'booster_option', 'no', get_option( 'wcj_orders_custom_statuses_column_colored', 'no' ) ) ) {
|
46 |
add_action( 'admin_head', array( $this, 'hook_statuses_column_css' ) );
|
47 |
}
|
48 |
|
|
|
49 |
add_filter( 'woocommerce_default_order_status', array( $this, 'set_default_order_status' ), PHP_INT_MAX );
|
50 |
|
|
|
51 |
if ( 'yes' === get_option( 'wcj_orders_custom_statuses_add_to_reports' ) ) {
|
52 |
add_filter( 'woocommerce_reports_order_statuses', array( $this, 'add_custom_order_statuses_to_reports' ), PHP_INT_MAX );
|
53 |
}
|
54 |
|
|
|
55 |
if ( 'yes' === get_option( 'wcj_orders_custom_statuses_add_to_bulk_actions' ) ) {
|
56 |
add_action( 'admin_footer', array( $this, 'bulk_admin_footer' ), 11 );
|
57 |
}
|
58 |
|
|
|
59 |
if ( 'yes' === apply_filters( 'booster_option', 'no', get_option( 'wcj_orders_custom_statuses_add_to_order_list_actions', 'no' ) ) ) {
|
60 |
add_filter( 'woocommerce_admin_order_actions', array( $this, 'add_custom_status_actions_buttons' ), PHP_INT_MAX, 2 );
|
61 |
add_action( 'admin_head', array( $this, 'add_custom_status_actions_buttons_css' ) );
|
62 |
}
|
63 |
|
|
|
|
|
|
|
|
|
|
|
|
|
64 |
if ( 'hide' != apply_filters( 'booster_option', 'hide', get_option( 'wcj_orders_custom_statuses_processing_and_completed_actions', 'hide' ) ) ) {
|
65 |
add_filter( 'woocommerce_admin_order_actions', array( $this, 'add_custom_status_to_processing_and_completed_actions' ), PHP_INT_MAX, 2 );
|
66 |
}
|
@@ -100,6 +111,68 @@ class WCJ_Order_Custom_Statuses extends WCJ_Module {
|
|
100 |
}
|
101 |
}
|
102 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
103 |
/**
|
104 |
* add_custom_order_statuses_to_order_editable.
|
105 |
*
|
@@ -113,7 +186,7 @@ class WCJ_Order_Custom_Statuses extends WCJ_Module {
|
|
113 |
/**
|
114 |
* add_custom_status_to_processing_and_completed_actions.
|
115 |
*
|
116 |
-
* @version
|
117 |
* @since 2.8.0
|
118 |
*/
|
119 |
function add_custom_status_to_processing_and_completed_actions( $actions, $_order ) {
|
@@ -131,8 +204,7 @@ class WCJ_Order_Custom_Statuses extends WCJ_Module {
|
|
131 |
$_order->has_status( array_merge( array( 'pending', 'on-hold' ), $custom_order_statuses_without_wc_prefix ) )
|
132 |
) {
|
133 |
$default_actions['processing'] = array(
|
134 |
-
'url' =>
|
135 |
-
'woocommerce-mark-order-status' ),
|
136 |
'name' => __( 'Processing', 'woocommerce' ),
|
137 |
'action' => "processing",
|
138 |
);
|
@@ -142,8 +214,7 @@ class WCJ_Order_Custom_Statuses extends WCJ_Module {
|
|
142 |
$_order->has_status( array_merge( array( 'pending', 'on-hold', 'processing' ), $custom_order_statuses_without_wc_prefix ) )
|
143 |
) {
|
144 |
$default_actions['complete'] = array(
|
145 |
-
'url' =>
|
146 |
-
'woocommerce-mark-order-status' ),
|
147 |
'name' => __( 'Complete', 'woocommerce' ),
|
148 |
'action' => "complete",
|
149 |
);
|
@@ -156,22 +227,19 @@ class WCJ_Order_Custom_Statuses extends WCJ_Module {
|
|
156 |
/**
|
157 |
* add_custom_status_actions_buttons.
|
158 |
*
|
159 |
-
* @version
|
160 |
* @since 2.6.0
|
161 |
*/
|
162 |
function add_custom_status_actions_buttons( $actions, $_order ) {
|
163 |
-
$
|
164 |
-
if ( ! empty( $
|
165 |
-
|
166 |
-
|
167 |
-
|
168 |
-
$
|
169 |
-
|
170 |
-
|
171 |
-
|
172 |
-
'action' => "view " . $custom_order_status, // setting "view" for proper button CSS
|
173 |
-
);
|
174 |
-
}
|
175 |
}
|
176 |
}
|
177 |
return $actions;
|
2 |
/**
|
3 |
* Booster for WooCommerce - Module - Order Custom Statuses
|
4 |
*
|
5 |
+
* @version 4.0.0
|
6 |
* @since 2.2.0
|
7 |
* @author Algoritmika Ltd.
|
8 |
*/
|
16 |
/**
|
17 |
* Constructor.
|
18 |
*
|
19 |
+
* @version 4.0.0
|
20 |
+
* @todo [feature] add options to change icon and icon's color for all statuses (i.e. not only custom)
|
21 |
+
* @todo [dev] maybe rename module to "Custom Order Statuses"
|
|
|
|
|
22 |
*/
|
23 |
function __construct() {
|
24 |
|
37 |
|
38 |
if ( $this->is_enabled() ) {
|
39 |
|
40 |
+
// Core
|
41 |
add_filter( 'wc_order_statuses', array( $this, 'add_custom_statuses_to_filter' ), PHP_INT_MAX );
|
42 |
add_action( 'init', array( $this, 'register_custom_post_statuses' ) );
|
43 |
+
|
44 |
+
// CSS
|
45 |
add_action( 'admin_head', array( $this, 'hook_statuses_icons_css' ) );
|
46 |
if ( 'yes' === apply_filters( 'booster_option', 'no', get_option( 'wcj_orders_custom_statuses_column_colored', 'no' ) ) ) {
|
47 |
add_action( 'admin_head', array( $this, 'hook_statuses_column_css' ) );
|
48 |
}
|
49 |
|
50 |
+
// Default order status
|
51 |
add_filter( 'woocommerce_default_order_status', array( $this, 'set_default_order_status' ), PHP_INT_MAX );
|
52 |
|
53 |
+
// Add custom statuses to admin reports
|
54 |
if ( 'yes' === get_option( 'wcj_orders_custom_statuses_add_to_reports' ) ) {
|
55 |
add_filter( 'woocommerce_reports_order_statuses', array( $this, 'add_custom_order_statuses_to_reports' ), PHP_INT_MAX );
|
56 |
}
|
57 |
|
58 |
+
// Add all statuses to admin order bulk actions
|
59 |
if ( 'yes' === get_option( 'wcj_orders_custom_statuses_add_to_bulk_actions' ) ) {
|
60 |
add_action( 'admin_footer', array( $this, 'bulk_admin_footer' ), 11 );
|
61 |
}
|
62 |
|
63 |
+
// Order list actions
|
64 |
if ( 'yes' === apply_filters( 'booster_option', 'no', get_option( 'wcj_orders_custom_statuses_add_to_order_list_actions', 'no' ) ) ) {
|
65 |
add_filter( 'woocommerce_admin_order_actions', array( $this, 'add_custom_status_actions_buttons' ), PHP_INT_MAX, 2 );
|
66 |
add_action( 'admin_head', array( $this, 'add_custom_status_actions_buttons_css' ) );
|
67 |
}
|
68 |
|
69 |
+
// Order preview actions
|
70 |
+
if ( 'yes' === apply_filters( 'booster_option', 'no', get_option( 'wcj_orders_custom_statuses_add_to_order_preview_actions', 'no' ) ) ) {
|
71 |
+
add_filter( 'woocommerce_admin_order_preview_actions', array( $this, 'add_custom_order_statuses_order_preview_actions' ), PHP_INT_MAX, 2 );
|
72 |
+
}
|
73 |
+
|
74 |
+
// "Processing" and "Complete" action buttons
|
75 |
if ( 'hide' != apply_filters( 'booster_option', 'hide', get_option( 'wcj_orders_custom_statuses_processing_and_completed_actions', 'hide' ) ) ) {
|
76 |
add_filter( 'woocommerce_admin_order_actions', array( $this, 'add_custom_status_to_processing_and_completed_actions' ), PHP_INT_MAX, 2 );
|
77 |
}
|
111 |
}
|
112 |
}
|
113 |
|
114 |
+
/**
|
115 |
+
* get_custom_order_statuses_actions.
|
116 |
+
*
|
117 |
+
* @version 4.0.0
|
118 |
+
* @since 4.0.0
|
119 |
+
*/
|
120 |
+
function get_custom_order_statuses_actions( $_order ) {
|
121 |
+
$status_actions = array();
|
122 |
+
$custom_order_statuses = $this->get_custom_order_statuses( true );
|
123 |
+
if ( ! empty( $custom_order_statuses ) && is_array( $custom_order_statuses ) ) {
|
124 |
+
foreach ( $custom_order_statuses as $custom_order_status => $label ) {
|
125 |
+
if ( ! $_order->has_status( array( $custom_order_status ) ) ) { // if order status is not $custom_order_status
|
126 |
+
$status_actions[ $custom_order_status ] = $label;
|
127 |
+
}
|
128 |
+
}
|
129 |
+
}
|
130 |
+
return $status_actions;
|
131 |
+
}
|
132 |
+
|
133 |
+
/**
|
134 |
+
* get_custom_order_statuses_action_url.
|
135 |
+
*
|
136 |
+
* @version 4.0.0
|
137 |
+
* @since 4.0.0
|
138 |
+
*/
|
139 |
+
function get_custom_order_statuses_action_url( $status, $order_id ) {
|
140 |
+
return wp_nonce_url( admin_url( 'admin-ajax.php?action=woocommerce_mark_order_status&status=' . $status . '&order_id=' . $order_id ), 'woocommerce-mark-order-status' );
|
141 |
+
}
|
142 |
+
|
143 |
+
/**
|
144 |
+
* add_custom_order_statuses_order_preview_actions.
|
145 |
+
*
|
146 |
+
* @version 4.0.0
|
147 |
+
* @since 4.0.0
|
148 |
+
*/
|
149 |
+
function add_custom_order_statuses_order_preview_actions( $actions, $_order ) {
|
150 |
+
$status_actions = array();
|
151 |
+
$_status_actions = $this->get_custom_order_statuses_actions( $_order );
|
152 |
+
if ( ! empty( $_status_actions ) ) {
|
153 |
+
$order_id = wcj_get_order_id( $_order );
|
154 |
+
foreach ( $_status_actions as $custom_order_status => $label ) {
|
155 |
+
$status_actions[ $custom_order_status ] = array(
|
156 |
+
'url' => $this->get_custom_order_statuses_action_url( $custom_order_status, $order_id ),
|
157 |
+
'name' => $label,
|
158 |
+
'title' => sprintf( __( 'Change order status to %s', 'woocommerce-jetpack' ), $custom_order_status ),
|
159 |
+
'action' => $custom_order_status,
|
160 |
+
);
|
161 |
+
}
|
162 |
+
}
|
163 |
+
if ( $status_actions ) {
|
164 |
+
if ( ! empty( $actions['status']['actions'] ) && is_array( $actions['status']['actions'] ) ) {
|
165 |
+
$actions['status']['actions'] = array_merge( $actions['status']['actions'], $status_actions );
|
166 |
+
} else {
|
167 |
+
$actions['status'] = array(
|
168 |
+
'group' => __( 'Change status: ', 'woocommerce' ),
|
169 |
+
'actions' => $status_actions,
|
170 |
+
);
|
171 |
+
}
|
172 |
+
}
|
173 |
+
return $actions;
|
174 |
+
}
|
175 |
+
|
176 |
/**
|
177 |
* add_custom_order_statuses_to_order_editable.
|
178 |
*
|
186 |
/**
|
187 |
* add_custom_status_to_processing_and_completed_actions.
|
188 |
*
|
189 |
+
* @version 4.0.0
|
190 |
* @since 2.8.0
|
191 |
*/
|
192 |
function add_custom_status_to_processing_and_completed_actions( $actions, $_order ) {
|
204 |
$_order->has_status( array_merge( array( 'pending', 'on-hold' ), $custom_order_statuses_without_wc_prefix ) )
|
205 |
) {
|
206 |
$default_actions['processing'] = array(
|
207 |
+
'url' => $this->get_custom_order_statuses_action_url( 'processing', $post->ID ),
|
|
|
208 |
'name' => __( 'Processing', 'woocommerce' ),
|
209 |
'action' => "processing",
|
210 |
);
|
214 |
$_order->has_status( array_merge( array( 'pending', 'on-hold', 'processing' ), $custom_order_statuses_without_wc_prefix ) )
|
215 |
) {
|
216 |
$default_actions['complete'] = array(
|
217 |
+
'url' => $this->get_custom_order_statuses_action_url( 'completed', $post->ID ),
|
|
|
218 |
'name' => __( 'Complete', 'woocommerce' ),
|
219 |
'action' => "complete",
|
220 |
);
|
227 |
/**
|
228 |
* add_custom_status_actions_buttons.
|
229 |
*
|
230 |
+
* @version 4.0.0
|
231 |
* @since 2.6.0
|
232 |
*/
|
233 |
function add_custom_status_actions_buttons( $actions, $_order ) {
|
234 |
+
$_status_actions = $this->get_custom_order_statuses_actions( $_order );
|
235 |
+
if ( ! empty( $_status_actions ) ) {
|
236 |
+
$order_id = wcj_get_order_id( $_order );
|
237 |
+
foreach ( $_status_actions as $custom_order_status => $label ) {
|
238 |
+
$actions[ $custom_order_status ] = array(
|
239 |
+
'url' => $this->get_custom_order_statuses_action_url( $custom_order_status, $order_id ),
|
240 |
+
'name' => $label,
|
241 |
+
'action' => "view " . $custom_order_status, // setting "view" for proper button CSS
|
242 |
+
);
|
|
|
|
|
|
|
243 |
}
|
244 |
}
|
245 |
return $actions;
|
includes/class-wcj-order-numbers.php
CHANGED
@@ -2,7 +2,7 @@
|
|
2 |
/**
|
3 |
* Booster for WooCommerce - Module - Order Numbers
|
4 |
*
|
5 |
-
* @version
|
6 |
* @author Algoritmika Ltd.
|
7 |
*/
|
8 |
|
@@ -279,7 +279,7 @@ class WCJ_Order_Numbers extends WCJ_Module {
|
|
279 |
/**
|
280 |
* Add/update order_number meta to order.
|
281 |
*
|
282 |
-
* @version
|
283 |
* @todo (maybe) save order ID instead of `$current_order_number = ''` (if `'no' === get_option( 'wcj_order_number_sequential_enabled', 'yes' )`)
|
284 |
*/
|
285 |
function add_order_number_meta( $order_id, $do_overwrite ) {
|
@@ -300,7 +300,7 @@ class WCJ_Order_Numbers extends WCJ_Module {
|
|
300 |
$result_update = $wpdb->update( $wp_options_table, array( 'option_value' => ( $current_order_number + 1 ) ), array( 'option_name' => 'wcj_order_number_counter' ) );
|
301 |
if ( NULL != $result_update || $result_select->option_value == ( $current_order_number + 1 ) ) {
|
302 |
$wpdb->query( 'COMMIT' ); // all ok
|
303 |
-
update_post_meta( $order_id, '_wcj_order_number', $current_order_number );
|
304 |
} else {
|
305 |
$wpdb->query( 'ROLLBACK' ); // something went wrong, Rollback
|
306 |
}
|
@@ -316,7 +316,7 @@ class WCJ_Order_Numbers extends WCJ_Module {
|
|
316 |
} else { // 'no' === get_option( 'wcj_order_number_sequential_enabled', 'yes' ) // order ID
|
317 |
$current_order_number = '';
|
318 |
}
|
319 |
-
update_post_meta( $order_id, '_wcj_order_number', $current_order_number );
|
320 |
}
|
321 |
}
|
322 |
}
|
2 |
/**
|
3 |
* Booster for WooCommerce - Module - Order Numbers
|
4 |
*
|
5 |
+
* @version 4.0.0
|
6 |
* @author Algoritmika Ltd.
|
7 |
*/
|
8 |
|
279 |
/**
|
280 |
* Add/update order_number meta to order.
|
281 |
*
|
282 |
+
* @version 4.0.0
|
283 |
* @todo (maybe) save order ID instead of `$current_order_number = ''` (if `'no' === get_option( 'wcj_order_number_sequential_enabled', 'yes' )`)
|
284 |
*/
|
285 |
function add_order_number_meta( $order_id, $do_overwrite ) {
|
300 |
$result_update = $wpdb->update( $wp_options_table, array( 'option_value' => ( $current_order_number + 1 ) ), array( 'option_name' => 'wcj_order_number_counter' ) );
|
301 |
if ( NULL != $result_update || $result_select->option_value == ( $current_order_number + 1 ) ) {
|
302 |
$wpdb->query( 'COMMIT' ); // all ok
|
303 |
+
update_post_meta( $order_id, '_wcj_order_number', apply_filters( 'wcj_order_number_meta', $current_order_number, $order_id ) );
|
304 |
} else {
|
305 |
$wpdb->query( 'ROLLBACK' ); // something went wrong, Rollback
|
306 |
}
|
316 |
} else { // 'no' === get_option( 'wcj_order_number_sequential_enabled', 'yes' ) // order ID
|
317 |
$current_order_number = '';
|
318 |
}
|
319 |
+
update_post_meta( $order_id, '_wcj_order_number', apply_filters( 'wcj_order_number_meta', $current_order_number, $order_id ) );
|
320 |
}
|
321 |
}
|
322 |
}
|
includes/class-wcj-orders.php
CHANGED
@@ -2,7 +2,7 @@
|
|
2 |
/**
|
3 |
* Booster for WooCommerce - Module - Orders
|
4 |
*
|
5 |
-
* @version
|
6 |
* @author Algoritmika Ltd.
|
7 |
*/
|
8 |
|
@@ -15,7 +15,7 @@ class WCJ_Orders extends WCJ_Module {
|
|
15 |
/**
|
16 |
* Constructor.
|
17 |
*
|
18 |
-
* @version
|
19 |
* @todo Bulk Regenerate Download Permissions - copy "cron" to plugin
|
20 |
* @todo Bulk Regenerate Download Permissions - maybe move "bulk actions" to free
|
21 |
* @todo Bulk Regenerate Download Permissions - maybe as new module
|
@@ -78,9 +78,24 @@ class WCJ_Orders extends WCJ_Module {
|
|
78 |
add_action( 'admin_init', array( $this, 'handle_orders_navigation' ) );
|
79 |
}
|
80 |
|
|
|
|
|
|
|
|
|
|
|
81 |
}
|
82 |
}
|
83 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
84 |
/**
|
85 |
* handle_orders_navigation.
|
86 |
*
|
2 |
/**
|
3 |
* Booster for WooCommerce - Module - Orders
|
4 |
*
|
5 |
+
* @version 4.0.0
|
6 |
* @author Algoritmika Ltd.
|
7 |
*/
|
8 |
|
15 |
/**
|
16 |
* Constructor.
|
17 |
*
|
18 |
+
* @version 4.0.0
|
19 |
* @todo Bulk Regenerate Download Permissions - copy "cron" to plugin
|
20 |
* @todo Bulk Regenerate Download Permissions - maybe move "bulk actions" to free
|
21 |
* @todo Bulk Regenerate Download Permissions - maybe as new module
|
78 |
add_action( 'admin_init', array( $this, 'handle_orders_navigation' ) );
|
79 |
}
|
80 |
|
81 |
+
// Editable orders
|
82 |
+
if ( 'yes' === get_option( 'wcj_orders_editable_status_enabled', 'no' ) ) {
|
83 |
+
add_filter( 'wc_order_is_editable', array( $this, 'editable_status' ), PHP_INT_MAX, 2 );
|
84 |
+
}
|
85 |
+
|
86 |
}
|
87 |
}
|
88 |
|
89 |
+
/**
|
90 |
+
* editable_status.
|
91 |
+
*
|
92 |
+
* @version 4.0.0
|
93 |
+
* @since 4.0.0
|
94 |
+
*/
|
95 |
+
function editable_status( $is_editable, $order ) {
|
96 |
+
return in_array( $order->get_status(), get_option( 'wcj_orders_editable_status', array( 'pending', 'on-hold', 'auto-draft' ) ), true );
|
97 |
+
}
|
98 |
+
|
99 |
/**
|
100 |
* handle_orders_navigation.
|
101 |
*
|
includes/class-wcj-payment-gateways-by-country.php
CHANGED
@@ -2,7 +2,7 @@
|
|
2 |
/**
|
3 |
* Booster for WooCommerce - Module - Payment Gateways by Country
|
4 |
*
|
5 |
-
* @version
|
6 |
* @since 2.4.1
|
7 |
* @author Algoritmika Ltd.
|
8 |
*/
|
@@ -69,40 +69,10 @@ class WCJ_Payment_Gateways_By_Country extends WCJ_Module {
|
|
69 |
}
|
70 |
}
|
71 |
|
72 |
-
/**
|
73 |
-
* range_match.
|
74 |
-
*
|
75 |
-
* @version 3.4.0
|
76 |
-
* @since 3.4.0
|
77 |
-
*/
|
78 |
-
function range_match( $postcode_range, $postcode_to_check ) {
|
79 |
-
$postcode_range = explode( '...', $postcode_range );
|
80 |
-
return ( 2 === count( $postcode_range ) && $postcode_to_check >= $postcode_range[0] && $postcode_to_check <= $postcode_range[1] );
|
81 |
-
}
|
82 |
-
|
83 |
-
/**
|
84 |
-
* check_postcode.
|
85 |
-
*
|
86 |
-
* @version 3.4.0
|
87 |
-
* @since 3.4.0
|
88 |
-
*/
|
89 |
-
function check_postcode( $postcode_to_check, $postcodes ) {
|
90 |
-
foreach ( $postcodes as $postcode ) {
|
91 |
-
if (
|
92 |
-
( false !== strpos( $postcode, '*' ) && fnmatch( $postcode, $postcode_to_check ) ) ||
|
93 |
-
( false !== strpos( $postcode, '...' ) && $this->range_match( $postcode, $postcode_to_check ) ) ||
|
94 |
-
( $postcode === $postcode_to_check )
|
95 |
-
) {
|
96 |
-
return true;
|
97 |
-
}
|
98 |
-
}
|
99 |
-
return false;
|
100 |
-
}
|
101 |
-
|
102 |
/**
|
103 |
* available_payment_gateways.
|
104 |
*
|
105 |
-
* @version
|
106 |
* @todo (maybe) rename module to "Payment Gateways by (Customer's) Location"
|
107 |
* @todo (maybe) check naming, should be `wcj_gateways_by_location_` (however it's too long...)
|
108 |
* @todo (maybe) code refactoring
|
@@ -142,7 +112,7 @@ class WCJ_Payment_Gateways_By_Country extends WCJ_Module {
|
|
142 |
$include_postcodes = get_option( 'wcj_gateways_postcodes_include_' . $key, '' );
|
143 |
if ( ! empty( $include_postcodes ) ) {
|
144 |
$include_postcodes = array_filter( array_map( 'strtoupper', array_map( 'wc_clean', explode( "\n", $include_postcodes ) ) ) );
|
145 |
-
if ( !
|
146 |
unset( $_available_gateways[ $key ] );
|
147 |
continue;
|
148 |
}
|
@@ -150,7 +120,7 @@ class WCJ_Payment_Gateways_By_Country extends WCJ_Module {
|
|
150 |
$exclude_postcodes = get_option( 'wcj_gateways_postcodes_exclude_' . $key, '' );
|
151 |
if ( ! empty( $exclude_postcodes ) ) {
|
152 |
$exclude_postcodes = array_filter( array_map( 'strtoupper', array_map( 'wc_clean', explode( "\n", $exclude_postcodes ) ) ) );
|
153 |
-
if (
|
154 |
unset( $_available_gateways[ $key ] );
|
155 |
continue;
|
156 |
}
|
2 |
/**
|
3 |
* Booster for WooCommerce - Module - Payment Gateways by Country
|
4 |
*
|
5 |
+
* @version 4.0.0
|
6 |
* @since 2.4.1
|
7 |
* @author Algoritmika Ltd.
|
8 |
*/
|
69 |
}
|
70 |
}
|
71 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
72 |
/**
|
73 |
* available_payment_gateways.
|
74 |
*
|
75 |
+
* @version 4.0.0
|
76 |
* @todo (maybe) rename module to "Payment Gateways by (Customer's) Location"
|
77 |
* @todo (maybe) check naming, should be `wcj_gateways_by_location_` (however it's too long...)
|
78 |
* @todo (maybe) code refactoring
|
112 |
$include_postcodes = get_option( 'wcj_gateways_postcodes_include_' . $key, '' );
|
113 |
if ( ! empty( $include_postcodes ) ) {
|
114 |
$include_postcodes = array_filter( array_map( 'strtoupper', array_map( 'wc_clean', explode( "\n", $include_postcodes ) ) ) );
|
115 |
+
if ( ! wcj_check_postcode( $postcode, $include_postcodes ) ) {
|
116 |
unset( $_available_gateways[ $key ] );
|
117 |
continue;
|
118 |
}
|
120 |
$exclude_postcodes = get_option( 'wcj_gateways_postcodes_exclude_' . $key, '' );
|
121 |
if ( ! empty( $exclude_postcodes ) ) {
|
122 |
$exclude_postcodes = array_filter( array_map( 'strtoupper', array_map( 'wc_clean', explode( "\n", $exclude_postcodes ) ) ) );
|
123 |
+
if ( wcj_check_postcode( $postcode, $exclude_postcodes ) ) {
|
124 |
unset( $_available_gateways[ $key ] );
|
125 |
continue;
|
126 |
}
|
includes/class-wcj-payment-gateways-by-shipping.php
CHANGED
@@ -2,7 +2,7 @@
|
|
2 |
/**
|
3 |
* Booster for WooCommerce - Module - Payment Gateways by Shipping
|
4 |
*
|
5 |
-
* @version
|
6 |
* @since 2.7.0
|
7 |
* @author Algoritmika Ltd.
|
8 |
*/
|
@@ -37,7 +37,7 @@ class WCJ_Payment_Gateways_By_Shipping extends WCJ_Module {
|
|
37 |
/**
|
38 |
* check_if_enabled_for_methods.
|
39 |
*
|
40 |
-
* @version
|
41 |
* @since 2.7.0
|
42 |
* @see `is_available()` function in WooCommerce `WC_Gateway_COD` class
|
43 |
* @todo (maybe) virtual orders (`enable_for_virtual`)
|
@@ -108,11 +108,17 @@ class WCJ_Payment_Gateways_By_Shipping extends WCJ_Module {
|
|
108 |
|
109 |
// Shipping method instance
|
110 |
if ( $this->use_shipping_instance ) {
|
111 |
-
$
|
112 |
-
if ( ! isset( $
|
113 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
114 |
} else {
|
115 |
-
$check_method = $
|
116 |
}
|
117 |
}
|
118 |
|
2 |
/**
|
3 |
* Booster for WooCommerce - Module - Payment Gateways by Shipping
|
4 |
*
|
5 |
+
* @version 4.0.0
|
6 |
* @since 2.7.0
|
7 |
* @author Algoritmika Ltd.
|
8 |
*/
|
37 |
/**
|
38 |
* check_if_enabled_for_methods.
|
39 |
*
|
40 |
+
* @version 4.0.0
|
41 |
* @since 2.7.0
|
42 |
* @see `is_available()` function in WooCommerce `WC_Gateway_COD` class
|
43 |
* @todo (maybe) virtual orders (`enable_for_virtual`)
|
108 |
|
109 |
// Shipping method instance
|
110 |
if ( $this->use_shipping_instance ) {
|
111 |
+
$_check_method = explode( ':', $check_method, 2 );
|
112 |
+
if ( ! isset( $_check_method[1] ) || ! is_numeric( $_check_method[1] ) ) {
|
113 |
+
// "Flexible Shipping" plugin (e.g. `flexible_shipping_13_2`)
|
114 |
+
$_check_method = explode( '_', strrev( $check_method ), 3 );
|
115 |
+
if ( ! isset( $_check_method[1] ) || ! is_numeric( $_check_method[1] ) ) {
|
116 |
+
return false;
|
117 |
+
} else {
|
118 |
+
$check_method = strrev( $_check_method[1] );
|
119 |
+
}
|
120 |
} else {
|
121 |
+
$check_method = $_check_method[1];
|
122 |
}
|
123 |
}
|
124 |
|
includes/class-wcj-payment-gateways-currency.php
CHANGED
@@ -2,7 +2,7 @@
|
|
2 |
/**
|
3 |
* Booster for WooCommerce - Module - Gateways Currency Converter
|
4 |
*
|
5 |
-
* @version
|
6 |
* @since 2.3.0
|
7 |
* @author Algoritmika Ltd.
|
8 |
*/
|
@@ -16,7 +16,8 @@ class WCJ_Payment_Gateways_Currency extends WCJ_Module {
|
|
16 |
/**
|
17 |
* Constructor.
|
18 |
*
|
19 |
-
* @version
|
|
|
20 |
*/
|
21 |
function __construct() {
|
22 |
|
@@ -27,6 +28,7 @@ class WCJ_Payment_Gateways_Currency extends WCJ_Module {
|
|
27 |
parent::__construct();
|
28 |
|
29 |
if ( $this->is_enabled() ) {
|
|
|
30 |
$this->add_hooks();
|
31 |
if ( is_admin() ) {
|
32 |
include_once( 'reports/class-wcj-currency-reports.php' );
|
@@ -106,12 +108,20 @@ class WCJ_Payment_Gateways_Currency extends WCJ_Module {
|
|
106 |
/**
|
107 |
* is_cart_or_checkout.
|
108 |
*
|
109 |
-
* @version
|
|
|
|
|
110 |
*/
|
111 |
function is_cart_or_checkout() {
|
112 |
if ( ! is_admin() ) {
|
113 |
-
if (
|
114 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
115 |
}
|
116 |
}
|
117 |
return false;
|
@@ -121,6 +131,7 @@ class WCJ_Payment_Gateways_Currency extends WCJ_Module {
|
|
121 |
* change_price_by_gateway.
|
122 |
*
|
123 |
* @version 3.9.0
|
|
|
124 |
*/
|
125 |
function change_price_by_gateway( $price, $product ) {
|
126 |
if ( $this->is_cart_or_checkout() ) {
|
@@ -137,6 +148,7 @@ class WCJ_Payment_Gateways_Currency extends WCJ_Module {
|
|
137 |
* extend_paypal_supported_currencies.
|
138 |
*
|
139 |
* @version 3.9.0
|
|
|
140 |
*/
|
141 |
function extend_paypal_supported_currencies( $supported_currencies ) {
|
142 |
if ( $this->is_cart_or_checkout() ) {
|
@@ -155,6 +167,7 @@ class WCJ_Payment_Gateways_Currency extends WCJ_Module {
|
|
155 |
* change_currency_code.
|
156 |
*
|
157 |
* @version 3.9.0
|
|
|
158 |
*/
|
159 |
function change_currency_code( $currency ) {
|
160 |
if ( $this->is_cart_or_checkout() ) {
|
@@ -173,6 +186,7 @@ class WCJ_Payment_Gateways_Currency extends WCJ_Module {
|
|
173 |
* register_script.
|
174 |
*
|
175 |
* @version 2.9.0
|
|
|
176 |
*/
|
177 |
function register_script() {
|
178 |
wp_register_script( 'wcj-payment-gateways-checkout', trailingslashit( plugin_dir_url( __FILE__ ) ) . 'js/wcj-checkout.js', array( 'jquery' ), WCJ()->version, true );
|
@@ -180,6 +194,9 @@ class WCJ_Payment_Gateways_Currency extends WCJ_Module {
|
|
180 |
|
181 |
/**
|
182 |
* enqueue_checkout_script.
|
|
|
|
|
|
|
183 |
*/
|
184 |
function enqueue_checkout_script() {
|
185 |
if( ! is_checkout() ) {
|
2 |
/**
|
3 |
* Booster for WooCommerce - Module - Gateways Currency Converter
|
4 |
*
|
5 |
+
* @version 4.0.0
|
6 |
* @since 2.3.0
|
7 |
* @author Algoritmika Ltd.
|
8 |
*/
|
16 |
/**
|
17 |
* Constructor.
|
18 |
*
|
19 |
+
* @version 4.0.0
|
20 |
+
* @since 2.3.0
|
21 |
*/
|
22 |
function __construct() {
|
23 |
|
28 |
parent::__construct();
|
29 |
|
30 |
if ( $this->is_enabled() ) {
|
31 |
+
$this->page_scope = get_option( 'wcj_gateways_currency_page_scope', 'cart_and_checkout' );
|
32 |
$this->add_hooks();
|
33 |
if ( is_admin() ) {
|
34 |
include_once( 'reports/class-wcj-currency-reports.php' );
|
108 |
/**
|
109 |
* is_cart_or_checkout.
|
110 |
*
|
111 |
+
* @version 4.0.0
|
112 |
+
* @since 2.3.0
|
113 |
+
* @todo [dev] rename function to `do_apply_by_page_scope()`
|
114 |
*/
|
115 |
function is_cart_or_checkout() {
|
116 |
if ( ! is_admin() ) {
|
117 |
+
if ( 'cart_and_checkout' === $this->page_scope ) {
|
118 |
+
if ( is_cart() || is_checkout() ) {
|
119 |
+
return true;
|
120 |
+
}
|
121 |
+
} elseif ( 'checkout_only' === $this->page_scope ) {
|
122 |
+
if ( is_checkout() ) {
|
123 |
+
return true;
|
124 |
+
}
|
125 |
}
|
126 |
}
|
127 |
return false;
|
131 |
* change_price_by_gateway.
|
132 |
*
|
133 |
* @version 3.9.0
|
134 |
+
* @since 2.3.0
|
135 |
*/
|
136 |
function change_price_by_gateway( $price, $product ) {
|
137 |
if ( $this->is_cart_or_checkout() ) {
|
148 |
* extend_paypal_supported_currencies.
|
149 |
*
|
150 |
* @version 3.9.0
|
151 |
+
* @since 2.3.0
|
152 |
*/
|
153 |
function extend_paypal_supported_currencies( $supported_currencies ) {
|
154 |
if ( $this->is_cart_or_checkout() ) {
|
167 |
* change_currency_code.
|
168 |
*
|
169 |
* @version 3.9.0
|
170 |
+
* @since 2.3.0
|
171 |
*/
|
172 |
function change_currency_code( $currency ) {
|
173 |
if ( $this->is_cart_or_checkout() ) {
|
186 |
* register_script.
|
187 |
*
|
188 |
* @version 2.9.0
|
189 |
+
* @since 2.3.0
|
190 |
*/
|
191 |
function register_script() {
|
192 |
wp_register_script( 'wcj-payment-gateways-checkout', trailingslashit( plugin_dir_url( __FILE__ ) ) . 'js/wcj-checkout.js', array( 'jquery' ), WCJ()->version, true );
|
194 |
|
195 |
/**
|
196 |
* enqueue_checkout_script.
|
197 |
+
*
|
198 |
+
* @version 2.3.0
|
199 |
+
* @since 2.3.0
|
200 |
*/
|
201 |
function enqueue_checkout_script() {
|
202 |
if( ! is_checkout() ) {
|
includes/class-wcj-price-labels.php
CHANGED
@@ -4,7 +4,6 @@
|
|
4 |
*
|
5 |
* @version 3.9.0
|
6 |
* @author Algoritmika Ltd.
|
7 |
-
* @todo clean up
|
8 |
*/
|
9 |
|
10 |
if ( ! defined( 'ABSPATH' ) ) exit; // Exit if accessed directly
|
@@ -27,34 +26,32 @@ class WCJ_Price_Labels extends WCJ_Module {
|
|
27 |
parent::__construct();
|
28 |
|
29 |
// Custom Price Labels - fields array
|
30 |
-
$this->custom_tab_group_name
|
31 |
-
$this->custom_tab_sections
|
32 |
-
$this->custom_tab_sections_titles
|
33 |
-
'_instead' => __( 'Instead of the price', 'woocommerce-jetpack' ),
|
34 |
'_before' => __( 'Before the price', 'woocommerce-jetpack' ),
|
35 |
'_between' => __( 'Between regular and sale prices', 'woocommerce-jetpack' ),
|
36 |
'_after' => __( 'After the price', 'woocommerce-jetpack' ),
|
37 |
);
|
38 |
-
$this->custom_tab_section_variations
|
39 |
-
$this->custom_tab_section_variations_titles
|
40 |
'_text' => '', // 'The label',
|
41 |
-
'_enabled' => __( 'Enable', 'woocommerce-jetpack' ),
|
42 |
'_home' => __( 'Hide on home page', 'woocommerce-jetpack' ),
|
43 |
'_products' => __( 'Hide on products page', 'woocommerce-jetpack' ),
|
44 |
'_single' => __( 'Hide on single', 'woocommerce-jetpack' ),
|
45 |
'_page' => __( 'Hide on all pages', 'woocommerce-jetpack' ),
|
46 |
'_cart' => __( 'Hide on cart page only', 'woocommerce-jetpack' ),
|
47 |
-
// '_simple' => __( 'Hide for simple product', 'woocommerce-jetpack' ),
|
48 |
'_variable' => __( 'Hide for main price', 'woocommerce-jetpack' ),
|
49 |
'_variation' => __( 'Hide for all variations', 'woocommerce-jetpack' ),
|
50 |
-
// '_grouped' => __( 'Hide for grouped product', 'woocommerce-jetpack' ),
|
51 |
);
|
52 |
|
53 |
if ( $this->is_enabled() ) {
|
54 |
|
55 |
if ( 'yes' === get_option( 'wcj_local_price_labels_enabled', 'yes' ) ) {
|
56 |
// Meta box (admin)
|
57 |
-
add_action( 'add_meta_boxes',
|
58 |
add_action( 'save_post_product', array( $this, 'save_custom_price_labels' ), 999, 2 );
|
59 |
}
|
60 |
|
4 |
*
|
5 |
* @version 3.9.0
|
6 |
* @author Algoritmika Ltd.
|
|
|
7 |
*/
|
8 |
|
9 |
if ( ! defined( 'ABSPATH' ) ) exit; // Exit if accessed directly
|
26 |
parent::__construct();
|
27 |
|
28 |
// Custom Price Labels - fields array
|
29 |
+
$this->custom_tab_group_name = 'wcj_price_labels';
|
30 |
+
$this->custom_tab_sections = array( '_instead', '_before', '_between', '_after', );
|
31 |
+
$this->custom_tab_sections_titles = array(
|
32 |
+
'_instead' => __( 'Instead of the price', 'woocommerce-jetpack' ),
|
33 |
'_before' => __( 'Before the price', 'woocommerce-jetpack' ),
|
34 |
'_between' => __( 'Between regular and sale prices', 'woocommerce-jetpack' ),
|
35 |
'_after' => __( 'After the price', 'woocommerce-jetpack' ),
|
36 |
);
|
37 |
+
$this->custom_tab_section_variations = array( '_text', '_enabled', '_home', '_products', '_single', '_page', '_cart', '_variable', '_variation' );
|
38 |
+
$this->custom_tab_section_variations_titles = array(
|
39 |
'_text' => '', // 'The label',
|
40 |
+
'_enabled' => __( 'Enable', 'woocommerce-jetpack' ),
|
41 |
'_home' => __( 'Hide on home page', 'woocommerce-jetpack' ),
|
42 |
'_products' => __( 'Hide on products page', 'woocommerce-jetpack' ),
|
43 |
'_single' => __( 'Hide on single', 'woocommerce-jetpack' ),
|
44 |
'_page' => __( 'Hide on all pages', 'woocommerce-jetpack' ),
|
45 |
'_cart' => __( 'Hide on cart page only', 'woocommerce-jetpack' ),
|
|
|
46 |
'_variable' => __( 'Hide for main price', 'woocommerce-jetpack' ),
|
47 |
'_variation' => __( 'Hide for all variations', 'woocommerce-jetpack' ),
|
|
|
48 |
);
|
49 |
|
50 |
if ( $this->is_enabled() ) {
|
51 |
|
52 |
if ( 'yes' === get_option( 'wcj_local_price_labels_enabled', 'yes' ) ) {
|
53 |
// Meta box (admin)
|
54 |
+
add_action( 'add_meta_boxes', array( $this, 'add_price_label_meta_box' ) );
|
55 |
add_action( 'save_post_product', array( $this, 'save_custom_price_labels' ), 999, 2 );
|
56 |
}
|
57 |
|
includes/class-wcj-product-addons.php
CHANGED
@@ -2,7 +2,7 @@
|
|
2 |
/**
|
3 |
* Booster for WooCommerce - Module - Product Addons
|
4 |
*
|
5 |
-
* @version
|
6 |
* @since 2.5.3
|
7 |
* @author Algoritmika Ltd.
|
8 |
* @todo admin order view (names)
|
@@ -536,7 +536,7 @@ class WCJ_Product_Addons extends WCJ_Module {
|
|
536 |
/**
|
537 |
* add_addons_to_frontend.
|
538 |
*
|
539 |
-
* @version
|
540 |
* @since 2.5.3
|
541 |
*/
|
542 |
function add_addons_to_frontend() {
|
@@ -617,7 +617,11 @@ class WCJ_Product_Addons extends WCJ_Module {
|
|
617 |
), get_option( 'wcj_product_addons_template_type_radio',
|
618 |
'<p>%addon_input% <label for="%addon_id%">%addon_label% (%addon_price%)</label>%addon_tooltip%</p>' ) );
|
619 |
} else {
|
620 |
-
$
|
|
|
|
|
|
|
|
|
621 |
}
|
622 |
}
|
623 |
if ( 'select' === $addon['type'] ) {
|
2 |
/**
|
3 |
* Booster for WooCommerce - Module - Product Addons
|
4 |
*
|
5 |
+
* @version 4.0.0
|
6 |
* @since 2.5.3
|
7 |
* @author Algoritmika Ltd.
|
8 |
* @todo admin order view (names)
|
536 |
/**
|
537 |
* add_addons_to_frontend.
|
538 |
*
|
539 |
+
* @version 4.0.0
|
540 |
* @since 2.5.3
|
541 |
*/
|
542 |
function add_addons_to_frontend() {
|
617 |
), get_option( 'wcj_product_addons_template_type_radio',
|
618 |
'<p>%addon_input% <label for="%addon_id%">%addon_label% (%addon_price%)</label>%addon_tooltip%</p>' ) );
|
619 |
} else {
|
620 |
+
$select_option = wcj_handle_replacements( array(
|
621 |
+
'%addon_label%' => $labels[ $i ],
|
622 |
+
'%addon_price%' => wc_price( wcj_get_product_display_price( $_product, $this->maybe_convert_currency( $prices[ $i ], $_product ) ) ),
|
623 |
+
), get_option( 'wcj_product_addons_template_type_select_option', '%addon_label% (%addon_price%)' ) );
|
624 |
+
$select_options .= '<option value="' . $label . '"' . $is_checked . '>' . $select_option . '</option>';
|
625 |
}
|
626 |
}
|
627 |
if ( 'select' === $addon['type'] ) {
|
includes/class-wcj-sale-flash.php
CHANGED
@@ -2,7 +2,7 @@
|
|
2 |
/**
|
3 |
* Booster for WooCommerce - Module - Sale Flash
|
4 |
*
|
5 |
-
* @version
|
6 |
* @since 3.2.4
|
7 |
* @author Algoritmika Ltd.
|
8 |
*/
|
@@ -16,7 +16,7 @@ class WCJ_Sale_Flash extends WCJ_Module {
|
|
16 |
/**
|
17 |
* Constructor.
|
18 |
*
|
19 |
-
* @version
|
20 |
* @since 3.2.4
|
21 |
* @todo add predefined styles
|
22 |
* @todo (maybe) per product/category/tag: separate "loop" and "single" options
|
@@ -35,6 +35,14 @@ class WCJ_Sale_Flash extends WCJ_Module {
|
|
35 |
$this->per_product_enabled = ( 'yes' === apply_filters( 'booster_option', 'no', get_option( 'wcj_sale_flash_per_product_enabled', 'no' ) ) );
|
36 |
$this->per_category_enabled = ( 'yes' === apply_filters( 'booster_option', 'no', get_option( 'wcj_sale_flash_per_' . 'product_cat' . '_enabled', 'no' ) ) );
|
37 |
$this->per_tag_enabled = ( 'yes' === apply_filters( 'booster_option', 'no', get_option( 'wcj_sale_flash_per_' . 'product_tag' . '_enabled', 'no' ) ) );
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
38 |
add_filter( 'woocommerce_sale_flash', array( $this, 'customize_sale_flash' ), PHP_INT_MAX, 3 );
|
39 |
if ( $this->per_product_enabled ) {
|
40 |
add_action( 'add_meta_boxes', array( $this, 'add_meta_box' ) );
|
@@ -43,18 +51,41 @@ class WCJ_Sale_Flash extends WCJ_Module {
|
|
43 |
}
|
44 |
}
|
45 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
46 |
/**
|
47 |
* get_taxonomy_sale_flash.
|
48 |
*
|
49 |
-
* @version
|
50 |
*/
|
51 |
function get_taxonomy_sale_flash( $product_id, $taxonomy ) {
|
52 |
$product_terms = get_the_terms( $product_id, $taxonomy );
|
53 |
-
|
54 |
-
|
55 |
-
|
56 |
-
|
57 |
-
|
|
|
|
|
|
|
|
|
|
|
58 |
}
|
59 |
|
60 |
/**
|
2 |
/**
|
3 |
* Booster for WooCommerce - Module - Sale Flash
|
4 |
*
|
5 |
+
* @version 4.0.0
|
6 |
* @since 3.2.4
|
7 |
* @author Algoritmika Ltd.
|
8 |
*/
|
16 |
/**
|
17 |
* Constructor.
|
18 |
*
|
19 |
+
* @version 4.0.0
|
20 |
* @since 3.2.4
|
21 |
* @todo add predefined styles
|
22 |
* @todo (maybe) per product/category/tag: separate "loop" and "single" options
|
35 |
$this->per_product_enabled = ( 'yes' === apply_filters( 'booster_option', 'no', get_option( 'wcj_sale_flash_per_product_enabled', 'no' ) ) );
|
36 |
$this->per_category_enabled = ( 'yes' === apply_filters( 'booster_option', 'no', get_option( 'wcj_sale_flash_per_' . 'product_cat' . '_enabled', 'no' ) ) );
|
37 |
$this->per_tag_enabled = ( 'yes' === apply_filters( 'booster_option', 'no', get_option( 'wcj_sale_flash_per_' . 'product_tag' . '_enabled', 'no' ) ) );
|
38 |
+
if ( $this->per_category_enabled ) {
|
39 |
+
$this->sale_flash_per_taxonomy['product_cat']['terms'] = get_option( 'wcj_sale_flash_per_product_cat_terms', array() );
|
40 |
+
$this->sale_flash_per_taxonomy['product_cat']['html'] = get_option( 'wcj_sale_flash_per_product_cat', array() );
|
41 |
+
}
|
42 |
+
if ( $this->per_tag_enabled ) {
|
43 |
+
$this->sale_flash_per_taxonomy['product_tag']['terms'] = get_option( 'wcj_sale_flash_per_product_tag_terms', array() );
|
44 |
+
$this->sale_flash_per_taxonomy['product_tag']['html'] = get_option( 'wcj_sale_flash_per_product_tag', array() );
|
45 |
+
}
|
46 |
add_filter( 'woocommerce_sale_flash', array( $this, 'customize_sale_flash' ), PHP_INT_MAX, 3 );
|
47 |
if ( $this->per_product_enabled ) {
|
48 |
add_action( 'add_meta_boxes', array( $this, 'add_meta_box' ) );
|
51 |
}
|
52 |
}
|
53 |
|
54 |
+
/**
|
55 |
+
* get_deprecated_options.
|
56 |
+
*
|
57 |
+
* @version 4.0.0
|
58 |
+
* @since 4.0.0
|
59 |
+
*/
|
60 |
+
function get_deprecated_options() {
|
61 |
+
$deprecated_options = array();
|
62 |
+
$product_terms['product_cat'] = wcj_get_terms( 'product_cat' );
|
63 |
+
$product_terms['product_tag'] = wcj_get_terms( 'product_tag' );
|
64 |
+
foreach ( $product_terms as $id => $_product_terms ) {
|
65 |
+
foreach ( $_product_terms as $term_id => $term_desc ) {
|
66 |
+
$deprecated_options[ 'wcj_sale_flash_per_' . $id ][ $term_id ] = 'wcj_sale_flash_per_' . $id . '_' . $term_id . '_html';
|
67 |
+
}
|
68 |
+
}
|
69 |
+
return $deprecated_options;
|
70 |
+
}
|
71 |
+
|
72 |
/**
|
73 |
* get_taxonomy_sale_flash.
|
74 |
*
|
75 |
+
* @version 4.0.0
|
76 |
*/
|
77 |
function get_taxonomy_sale_flash( $product_id, $taxonomy ) {
|
78 |
$product_terms = get_the_terms( $product_id, $taxonomy );
|
79 |
+
if ( ! empty( $product_terms ) && isset( $product_terms[0]->term_id ) ) {
|
80 |
+
$term_id = $product_terms[0]->term_id;
|
81 |
+
if ( in_array( $term_id, $this->sale_flash_per_taxonomy[ $taxonomy ]['terms'] ) ) {
|
82 |
+
return ( isset( $this->sale_flash_per_taxonomy[ $taxonomy ]['html'][ $term_id ] ) ?
|
83 |
+
do_shortcode( $this->sale_flash_per_taxonomy[ $taxonomy ]['html'][ $term_id ] ) :
|
84 |
+
'<span class="onsale">' . __( 'Sale!', 'woocommerce' ) . '</span>'
|
85 |
+
);
|
86 |
+
}
|
87 |
+
}
|
88 |
+
return false;
|
89 |
}
|
90 |
|
91 |
/**
|
includes/class-wcj-shipping-by-cities.php
CHANGED
@@ -2,7 +2,7 @@
|
|
2 |
/**
|
3 |
* Booster for WooCommerce - Module - Shipping by Cities
|
4 |
*
|
5 |
-
* @version
|
6 |
* @since 3.6.0
|
7 |
* @author Algoritmika Ltd.
|
8 |
*/
|
@@ -16,14 +16,14 @@ class WCJ_Shipping_By_Cities extends WCJ_Module_Shipping_By_Condition {
|
|
16 |
/**
|
17 |
* Constructor.
|
18 |
*
|
19 |
-
* @version
|
20 |
* @since 3.6.0
|
21 |
*/
|
22 |
function __construct() {
|
23 |
|
24 |
$this->id = 'shipping_by_cities';
|
25 |
-
$this->short_desc = __( 'Shipping Methods by
|
26 |
-
$this->desc = __( 'Set cities to include/exclude for shipping methods to show up.', 'woocommerce-jetpack' );
|
27 |
$this->link_slug = 'woocommerce-shipping-methods-by-cities';
|
28 |
|
29 |
$this->condition_options = array(
|
@@ -34,6 +34,14 @@ class WCJ_Shipping_By_Cities extends WCJ_Module_Shipping_By_Condition {
|
|
34 |
'class' => '',
|
35 |
'css' => 'height:200px;',
|
36 |
),
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
37 |
);
|
38 |
|
39 |
parent::__construct();
|
@@ -43,7 +51,7 @@ class WCJ_Shipping_By_Cities extends WCJ_Module_Shipping_By_Condition {
|
|
43 |
/**
|
44 |
* check.
|
45 |
*
|
46 |
-
* @version
|
47 |
* @since 3.6.0
|
48 |
* @todo `$_REQUEST['city']` (i.e. billing city)
|
49 |
* @todo `get_base_city()` - do we really need this?
|
@@ -54,19 +62,25 @@ class WCJ_Shipping_By_Cities extends WCJ_Module_Shipping_By_Condition {
|
|
54 |
$customer_city = strtoupper( isset( $_REQUEST['s_city'] ) ? $_REQUEST['s_city'] : WC()->countries->get_base_city() );
|
55 |
$values = array_map( 'strtoupper', array_map( 'trim', explode( PHP_EOL, $values ) ) );
|
56 |
return in_array( $customer_city, $values );
|
|
|
|
|
|
|
|
|
57 |
}
|
58 |
}
|
59 |
|
60 |
/**
|
61 |
* get_condition_options.
|
62 |
*
|
63 |
-
* @version
|
64 |
* @since 3.6.0
|
65 |
*/
|
66 |
function get_condition_options( $options_id ) {
|
67 |
switch( $options_id ) {
|
68 |
case 'cities':
|
69 |
return '';
|
|
|
|
|
70 |
}
|
71 |
}
|
72 |
|
2 |
/**
|
3 |
* Booster for WooCommerce - Module - Shipping by Cities
|
4 |
*
|
5 |
+
* @version 4.0.0
|
6 |
* @since 3.6.0
|
7 |
* @author Algoritmika Ltd.
|
8 |
*/
|
16 |
/**
|
17 |
* Constructor.
|
18 |
*
|
19 |
+
* @version 4.0.0
|
20 |
* @since 3.6.0
|
21 |
*/
|
22 |
function __construct() {
|
23 |
|
24 |
$this->id = 'shipping_by_cities';
|
25 |
+
$this->short_desc = __( 'Shipping Methods by City or Postcode', 'woocommerce-jetpack' );
|
26 |
+
$this->desc = __( 'Set shipping cities or postcodes to include/exclude for shipping methods to show up.', 'woocommerce-jetpack' );
|
27 |
$this->link_slug = 'woocommerce-shipping-methods-by-cities';
|
28 |
|
29 |
$this->condition_options = array(
|
34 |
'class' => '',
|
35 |
'css' => 'height:200px;',
|
36 |
),
|
37 |
+
'postcodes' => array(
|
38 |
+
'title' => __( 'Postcodes', 'woocommerce-jetpack' ),
|
39 |
+
'desc' => __( 'Otherwise enter postcodes one per line.', 'woocommerce-jetpack' ) . '<br>' .
|
40 |
+
'<em>' . __( 'Postcodes containing wildcards (e.g. CB23*) and fully numeric ranges (e.g. <code>90210...99000</code>) are also supported.', 'woocommerce' ) . '</em>',
|
41 |
+
'type' => 'textarea',
|
42 |
+
'class' => '',
|
43 |
+
'css' => 'height:200px;',
|
44 |
+
),
|
45 |
);
|
46 |
|
47 |
parent::__construct();
|
51 |
/**
|
52 |
* check.
|
53 |
*
|
54 |
+
* @version 4.0.0
|
55 |
* @since 3.6.0
|
56 |
* @todo `$_REQUEST['city']` (i.e. billing city)
|
57 |
* @todo `get_base_city()` - do we really need this?
|
62 |
$customer_city = strtoupper( isset( $_REQUEST['s_city'] ) ? $_REQUEST['s_city'] : WC()->countries->get_base_city() );
|
63 |
$values = array_map( 'strtoupper', array_map( 'trim', explode( PHP_EOL, $values ) ) );
|
64 |
return in_array( $customer_city, $values );
|
65 |
+
case 'postcodes':
|
66 |
+
$customer_postcode = strtoupper( isset( $_REQUEST['s_postcode'] ) ? $_REQUEST['s_postcode'] : WC()->countries->get_base_postcode() );
|
67 |
+
$postcodes = array_map( 'strtoupper', array_map( 'trim', explode( PHP_EOL, $values ) ) );
|
68 |
+
return wcj_check_postcode( $customer_postcode, $postcodes );
|
69 |
}
|
70 |
}
|
71 |
|
72 |
/**
|
73 |
* get_condition_options.
|
74 |
*
|
75 |
+
* @version 4.0.0
|
76 |
* @since 3.6.0
|
77 |
*/
|
78 |
function get_condition_options( $options_id ) {
|
79 |
switch( $options_id ) {
|
80 |
case 'cities':
|
81 |
return '';
|
82 |
+
case 'postcodes':
|
83 |
+
return '';
|
84 |
}
|
85 |
}
|
86 |
|
includes/class-wcj-shipping-by-time.php
ADDED
@@ -0,0 +1,125 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?php
|
2 |
+
/**
|
3 |
+
* Booster for WooCommerce - Module - Shipping by Time
|
4 |
+
*
|
5 |
+
* @version 4.0.0
|
6 |
+
* @since 4.0.0
|
7 |
+
* @author Algoritmika Ltd.
|
8 |
+
*/
|
9 |
+
|
10 |
+
if ( ! defined( 'ABSPATH' ) ) exit; // Exit if accessed directly
|
11 |
+
|
12 |
+
if ( ! class_exists( 'WCJ_Shipping_By_Time' ) ) :
|
13 |
+
|
14 |
+
class WCJ_Shipping_By_Time extends WCJ_Module_Shipping_By_Condition {
|
15 |
+
|
16 |
+
/**
|
17 |
+
* Constructor.
|
18 |
+
*
|
19 |
+
* @version 4.0.0
|
20 |
+
* @since 4.0.0
|
21 |
+
* @todo [dev] add more "Valid time input" examples
|
22 |
+
* @todo [feature] multiple time values (i.e. `__( 'Otherwise enter time one per line.', 'woocommerce-jetpack' )`)
|
23 |
+
*/
|
24 |
+
function __construct() {
|
25 |
+
|
26 |
+
$this->id = 'shipping_by_time';
|
27 |
+
$this->short_desc = __( 'Shipping Methods by Current Date/Time', 'woocommerce-jetpack' );
|
28 |
+
$this->desc = __( 'Set date and/or time to include/exclude for shipping methods to show up.', 'woocommerce-jetpack' );
|
29 |
+
$this->link_slug = 'woocommerce-shipping-methods-by-current-date-time';
|
30 |
+
|
31 |
+
$this->condition_options = array(
|
32 |
+
'time' => array(
|
33 |
+
'title' => __( 'Time', 'woocommerce-jetpack' ),
|
34 |
+
'desc' => '<br>' . sprintf( __( 'Current time: %s.', 'woocommerce-jetpack' ), '<code>' . current_time( 'Y-m-d H:i:s' ) . '</code>' ) . '<br>' .
|
35 |
+
sprintf( __( 'Time <em>from</em> and time <em>to</em> must be separated with %s symbol.', 'woocommerce-jetpack' ), '<code>~</code>' ) . ' ' .
|
36 |
+
sprintf( __( 'Each time input must be set in format that is parsable by PHP %s function.', 'woocommerce-jetpack' ),
|
37 |
+
'<a href="http://php.net/manual/en/function.strtotime.php" target="_blank"><code>strtotime()</code></a>' ) . ' ' .
|
38 |
+
sprintf( __( 'Valid time input examples are: %s', 'woocommerce-jetpack' ), '<ul><li><code>' . implode( '</code></li><li><code>', array(
|
39 |
+
'this week Thursday 4:30pm ~ this week Friday 4:30pm',
|
40 |
+
'this year September 1 ~ this year September 30',
|
41 |
+
) ) . '</code></li></ul>' ),
|
42 |
+
'type' => 'text',
|
43 |
+
'class' => '',
|
44 |
+
'css' => 'width:100%',
|
45 |
+
),
|
46 |
+
);
|
47 |
+
|
48 |
+
parent::__construct();
|
49 |
+
|
50 |
+
}
|
51 |
+
|
52 |
+
/**
|
53 |
+
* parse_time.
|
54 |
+
*
|
55 |
+
* @version 4.0.0
|
56 |
+
* @since 4.0.0
|
57 |
+
*/
|
58 |
+
function parse_time( $value ) {
|
59 |
+
$value = explode( '~', $value );
|
60 |
+
if ( 2 != count( $value ) ) {
|
61 |
+
return false;
|
62 |
+
}
|
63 |
+
if ( false === ( $time_from = strtotime( $value[0] ) ) ) {
|
64 |
+
return false;
|
65 |
+
}
|
66 |
+
if ( false === ( $time_to = strtotime( $value[1] ) ) ) {
|
67 |
+
return false;
|
68 |
+
}
|
69 |
+
return array( 'time_from' => $time_from, 'time_to' => $time_to );
|
70 |
+
}
|
71 |
+
|
72 |
+
/**
|
73 |
+
* check.
|
74 |
+
*
|
75 |
+
* @version 4.0.0
|
76 |
+
* @since 4.0.0
|
77 |
+
*/
|
78 |
+
function check( $options_id, $values, $include_or_exclude, $package ) {
|
79 |
+
switch( $options_id ) {
|
80 |
+
case 'time':
|
81 |
+
if ( $parsed_time = $this->parse_time( $values ) ) {
|
82 |
+
$current_time = (int) current_time( 'timestamp' );
|
83 |
+
return ( $current_time >= $parsed_time['time_from'] && $current_time <= $parsed_time['time_to'] );
|
84 |
+
}
|
85 |
+
return ( 'include' == $include_or_exclude ); // not parsable time input - leaving shipping method enabled
|
86 |
+
}
|
87 |
+
}
|
88 |
+
|
89 |
+
/**
|
90 |
+
* get_condition_options.
|
91 |
+
*
|
92 |
+
* @version 4.0.0
|
93 |
+
* @since 4.0.0
|
94 |
+
*/
|
95 |
+
function get_condition_options( $options_id ) {
|
96 |
+
switch( $options_id ) {
|
97 |
+
case 'time':
|
98 |
+
return '';
|
99 |
+
}
|
100 |
+
}
|
101 |
+
|
102 |
+
/**
|
103 |
+
* get_extra_option_desc.
|
104 |
+
*
|
105 |
+
* @version 4.0.0
|
106 |
+
* @since 4.0.0
|
107 |
+
*/
|
108 |
+
function get_extra_option_desc( $option_id ) {
|
109 |
+
$values = get_option( $option_id, '' );
|
110 |
+
if ( ! empty( $values ) ) {
|
111 |
+
if ( $parsed_time = $this->parse_time( $values ) ) {
|
112 |
+
return '. ' . sprintf( __( 'According to current time, your time input will be parsed as: from %s to %s.', 'woocommerce-jetpack' ),
|
113 |
+
'<code>' . date( 'Y-m-d H:i:s', $parsed_time['time_from'] ) . '</code>', '<code>' . date( 'Y-m-d H:i:s', $parsed_time['time_to'] ) . '</code>' );
|
114 |
+
} else {
|
115 |
+
return '. <strong>' . sprintf( __( 'Error: %s', 'woocommerce-jetpack' ), __( 'Time input is not parsable!', 'woocommerce-jetpack' ) ) . '</strong>';
|
116 |
+
}
|
117 |
+
}
|
118 |
+
return '';
|
119 |
+
}
|
120 |
+
|
121 |
+
}
|
122 |
+
|
123 |
+
endif;
|
124 |
+
|
125 |
+
return new WCJ_Shipping_By_Time();
|
includes/class-wcj-tax-display.php
CHANGED
@@ -67,9 +67,9 @@ class WCJ_Tax_Display extends WCJ_Module {
|
|
67 |
*
|
68 |
* @version 3.2.4
|
69 |
* @since 3.2.4
|
70 |
-
* @todo widget
|
71 |
-
* @todo (maybe) floating button or at least give CSS instructions ($)
|
72 |
-
* @todo (maybe) position near the price or at least give "Product Info" instructions
|
73 |
*/
|
74 |
function tax_display_toggle( $value ) {
|
75 |
if ( ! wcj_is_frontend() ) {
|
67 |
*
|
68 |
* @version 3.2.4
|
69 |
* @since 3.2.4
|
70 |
+
* @todo [dev] widget
|
71 |
+
* @todo [dev] (maybe) floating button or at least give CSS instructions ($)
|
72 |
+
* @todo [dev] (maybe) position near the price or at least give "Product Info" instructions
|
73 |
*/
|
74 |
function tax_display_toggle( $value ) {
|
75 |
if ( ! wcj_is_frontend() ) {
|
includes/class-wcj-template-editor.php
CHANGED
@@ -2,7 +2,7 @@
|
|
2 |
/**
|
3 |
* Booster for WooCommerce - Module - Template Editor
|
4 |
*
|
5 |
-
* @version
|
6 |
* @since 3.9.0
|
7 |
* @author Algoritmika Ltd.
|
8 |
*/
|
@@ -62,12 +62,15 @@ class WCJ_Template_Editor extends WCJ_Module {
|
|
62 |
/**
|
63 |
* replace_template.
|
64 |
*
|
65 |
-
* @version
|
66 |
* @since 3.9.0
|
67 |
-
* @todo [dev] (maybe) check for template to exist before returning (just to be sure...)
|
68 |
*/
|
69 |
function replace_template( $located, $template_name, $args, $template_path, $default_path ) {
|
70 |
-
|
|
|
|
|
|
|
|
|
71 |
}
|
72 |
|
73 |
/**
|
2 |
/**
|
3 |
* Booster for WooCommerce - Module - Template Editor
|
4 |
*
|
5 |
+
* @version 4.0.0
|
6 |
* @since 3.9.0
|
7 |
* @author Algoritmika Ltd.
|
8 |
*/
|
62 |
/**
|
63 |
* replace_template.
|
64 |
*
|
65 |
+
* @version 4.0.0
|
66 |
* @since 3.9.0
|
|
|
67 |
*/
|
68 |
function replace_template( $located, $template_name, $args, $template_path, $default_path ) {
|
69 |
+
if ( in_array( $template_name, $this->templates_to_edit ) ) {
|
70 |
+
$modified_template = wcj_get_wcj_uploads_dir( 'templates', false ) . DIRECTORY_SEPARATOR . $template_name;
|
71 |
+
return ( file_exists( $modified_template ) ? $modified_template : $located );
|
72 |
+
}
|
73 |
+
return $located;
|
74 |
}
|
75 |
|
76 |
/**
|
includes/classes/class-wcj-module-shipping-by-condition.php
CHANGED
@@ -2,10 +2,9 @@
|
|
2 |
/**
|
3 |
* Booster for WooCommerce - Module - Shipping by Condition
|
4 |
*
|
5 |
-
* @version
|
6 |
* @since 3.2.0
|
7 |
* @author Algoritmika Ltd.
|
8 |
-
* @todo (maybe) add "Shipping Methods by Date/Time" module
|
9 |
*/
|
10 |
|
11 |
if ( ! defined( 'ABSPATH' ) ) exit;
|
@@ -98,6 +97,16 @@ abstract class WCJ_Module_Shipping_By_Condition extends WCJ_Module {
|
|
98 |
return array();
|
99 |
}
|
100 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
101 |
}
|
102 |
|
103 |
endif;
|
2 |
/**
|
3 |
* Booster for WooCommerce - Module - Shipping by Condition
|
4 |
*
|
5 |
+
* @version 4.0.0
|
6 |
* @since 3.2.0
|
7 |
* @author Algoritmika Ltd.
|
|
|
8 |
*/
|
9 |
|
10 |
if ( ! defined( 'ABSPATH' ) ) exit;
|
97 |
return array();
|
98 |
}
|
99 |
|
100 |
+
/**
|
101 |
+
* get_extra_option_desc.
|
102 |
+
*
|
103 |
+
* @version 4.0.0
|
104 |
+
* @since 4.0.0
|
105 |
+
*/
|
106 |
+
function get_extra_option_desc( $option_id ) {
|
107 |
+
return '';
|
108 |
+
}
|
109 |
+
|
110 |
}
|
111 |
|
112 |
endif;
|
includes/classes/class-wcj-module.php
CHANGED
@@ -2,16 +2,17 @@
|
|
2 |
/**
|
3 |
* Booster for WooCommerce Module
|
4 |
*
|
5 |
-
* @version
|
6 |
* @since 2.2.0
|
7 |
* @author Algoritmika Ltd.
|
|
|
8 |
*/
|
9 |
|
10 |
if ( ! defined( 'ABSPATH' ) ) exit;
|
11 |
|
12 |
if ( ! class_exists( 'WCJ_Module' ) ) :
|
13 |
|
14 |
-
|
15 |
|
16 |
public $id;
|
17 |
public $short_desc;
|
@@ -468,16 +469,6 @@ if ( ! class_exists( 'WCJ_Module' ) ) :
|
|
468 |
return wcj_is_module_enabled( ( 'module' === $this->type ? $this->id : $this->parent_id ) );
|
469 |
}
|
470 |
|
471 |
-
/**
|
472 |
-
* add_enabled_option.
|
473 |
-
* only for `module`
|
474 |
-
*
|
475 |
-
function add_enabled_option( $settings ) {
|
476 |
-
$all_settings = $this->get_settings();
|
477 |
-
$settings[] = $all_settings[1];
|
478 |
-
return $settings;
|
479 |
-
}
|
480 |
-
|
481 |
/**
|
482 |
* settings_section.
|
483 |
*
|
@@ -528,7 +519,7 @@ if ( ! class_exists( 'WCJ_Module' ) ) :
|
|
528 |
function add_tools_list( $settings ) {
|
529 |
return array_merge( $settings, array(
|
530 |
array(
|
531 |
-
'title' =>
|
532 |
'type' => 'title',
|
533 |
'desc' => '',
|
534 |
'id' => 'wcj_' . $this->id . '_tools_options'
|
@@ -679,14 +670,14 @@ if ( ! class_exists( 'WCJ_Module' ) ) :
|
|
679 |
* settings_section.
|
680 |
* only for `module`
|
681 |
*
|
682 |
-
* @version
|
683 |
*/
|
684 |
function add_enable_module_setting( $settings, $module_desc = '' ) {
|
685 |
if ( 'module' != $this->type ) {
|
686 |
return $settings;
|
687 |
}
|
688 |
if ( '' === $module_desc && isset( $this->extra_desc ) ) {
|
689 |
-
$module_desc = $this->extra_desc;
|
690 |
}
|
691 |
if ( ! isset( $this->link ) && isset( $this->link_slug ) && '' != $this->link_slug ) {
|
692 |
$this->link = 'https://booster.io/features/' . $this->link_slug . '/';
|
2 |
/**
|
3 |
* Booster for WooCommerce Module
|
4 |
*
|
5 |
+
* @version 4.0.0
|
6 |
* @since 2.2.0
|
7 |
* @author Algoritmika Ltd.
|
8 |
+
* @todo [dev] maybe should be `abstract` ?
|
9 |
*/
|
10 |
|
11 |
if ( ! defined( 'ABSPATH' ) ) exit;
|
12 |
|
13 |
if ( ! class_exists( 'WCJ_Module' ) ) :
|
14 |
|
15 |
+
class WCJ_Module {
|
16 |
|
17 |
public $id;
|
18 |
public $short_desc;
|
469 |
return wcj_is_module_enabled( ( 'module' === $this->type ? $this->id : $this->parent_id ) );
|
470 |
}
|
471 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
472 |
/**
|
473 |
* settings_section.
|
474 |
*
|
519 |
function add_tools_list( $settings ) {
|
520 |
return array_merge( $settings, array(
|
521 |
array(
|
522 |
+
'title' => __( 'Tools', 'woocommerce-jetpack' ),
|
523 |
'type' => 'title',
|
524 |
'desc' => '',
|
525 |
'id' => 'wcj_' . $this->id . '_tools_options'
|
670 |
* settings_section.
|
671 |
* only for `module`
|
672 |
*
|
673 |
+
* @version 4.0.0
|
674 |
*/
|
675 |
function add_enable_module_setting( $settings, $module_desc = '' ) {
|
676 |
if ( 'module' != $this->type ) {
|
677 |
return $settings;
|
678 |
}
|
679 |
if ( '' === $module_desc && isset( $this->extra_desc ) ) {
|
680 |
+
$module_desc = '<div style="padding: 15px; background-color: #ffffff; color: #000000;">' . $this->extra_desc . '</div>';
|
681 |
}
|
682 |
if ( ! isset( $this->link ) && isset( $this->link_slug ) && '' != $this->link_slug ) {
|
683 |
$this->link = 'https://booster.io/features/' . $this->link_slug . '/';
|
includes/classes/class-wcj-pdf-invoice.php
CHANGED
@@ -23,9 +23,10 @@ class WCJ_PDF_Invoice extends WCJ_Invoice {
|
|
23 |
* prepare_pdf.
|
24 |
*
|
25 |
* @version 3.4.3
|
26 |
-
* @todo check `addTTFfont()`
|
27 |
-
* @todo
|
28 |
-
* @todo
|
|
|
29 |
*/
|
30 |
function prepare_pdf() {
|
31 |
|
@@ -56,9 +57,8 @@ class WCJ_PDF_Invoice extends WCJ_Invoice {
|
|
56 |
|
57 |
// Set document information
|
58 |
$pdf->SetCreator( PDF_CREATOR );
|
59 |
-
// $pdf->SetAuthor( 'Booster for WooCommerce' );
|
60 |
$invoice_title = $invoice_type;
|
61 |
-
$invoice_types =
|
62 |
foreach ( $invoice_types as $invoice_type_data ) {
|
63 |
if ( $invoice_type === $invoice_type_data['id'] ) {
|
64 |
$invoice_title = $invoice_type_data['title'];
|
@@ -85,9 +85,9 @@ class WCJ_PDF_Invoice extends WCJ_Invoice {
|
|
85 |
$the_logo,
|
86 |
$the_logo_width_mm,
|
87 |
do_shortcode( get_option( 'wcj_invoicing_' . $invoice_type . '_header_title_text', $invoice_title ) ),
|
88 |
-
do_shortcode( get_option( 'wcj_invoicing_' . $invoice_type . '_header_text', __( 'Company Name', 'woocommerce-jetpack' ) ) ),
|
89 |
-
wcj_hex2rgb(
|
90 |
-
wcj_hex2rgb(
|
91 |
} else {
|
92 |
$pdf->SetPrintHeader( false );
|
93 |
}
|
@@ -105,8 +105,8 @@ class WCJ_PDF_Invoice extends WCJ_Invoice {
|
|
105 |
$tcpdf_font = wcj_get_tcpdf_font( $invoice_type );
|
106 |
|
107 |
// Set Header and Footer fonts
|
108 |
-
$pdf->setHeaderFont( array(
|
109 |
-
$pdf->setFooterFont( array(
|
110 |
|
111 |
// Set default monospaced font
|
112 |
$pdf->SetDefaultMonospacedFont( PDF_FONT_MONOSPACED );
|
@@ -126,12 +126,6 @@ class WCJ_PDF_Invoice extends WCJ_Invoice {
|
|
126 |
// Set image scale factor
|
127 |
$pdf->setImageScale( PDF_IMAGE_SCALE_RATIO );
|
128 |
|
129 |
-
/*// Set some language-dependent strings (optional)
|
130 |
-
if (@file_exists(dirname(__FILE__).'/lang/eng.php')) {
|
131 |
-
require_once(dirname(__FILE__).'/lang/eng.php');
|
132 |
-
$pdf->setLanguageArray($l);
|
133 |
-
}*/
|
134 |
-
|
135 |
// Set default font subsetting mode
|
136 |
$pdf->setFontSubsetting( true );
|
137 |
|
@@ -184,8 +178,8 @@ class WCJ_PDF_Invoice extends WCJ_Invoice {
|
|
184 |
*
|
185 |
* @version 3.6.0
|
186 |
* @since 3.5.0
|
187 |
-
* @todo pass other params (billing_country, payment_method) as global (same as user_id) instead of $_GET
|
188 |
-
* @todo `force_balance_tags()` - there are some bugs and performance issues, see http://wordpress.stackexchange.com/questions/89121/why-doesnt-default-wordpress-page-view-use-force-balance-tags
|
189 |
*/
|
190 |
function get_html( $order_id, $pdf ) {
|
191 |
$_GET['order_id'] = $order_id;
|
@@ -210,7 +204,7 @@ class WCJ_PDF_Invoice extends WCJ_Invoice {
|
|
210 |
* get_pdf.
|
211 |
*
|
212 |
* @version 3.8.0
|
213 |
-
* @todo (maybe) `die()` on success
|
214 |
*/
|
215 |
function get_pdf( $dest ) {
|
216 |
$pdf = $this->prepare_pdf();
|
23 |
* prepare_pdf.
|
24 |
*
|
25 |
* @version 3.4.3
|
26 |
+
* @todo [dev] check `addTTFfont()`
|
27 |
+
* @todo [dev] maybe `$pdf->SetAuthor( 'Booster for WooCommerce' )`
|
28 |
+
* @todo [dev] maybe `$pdf->setLanguageArray( $l )`
|
29 |
+
* @todo [feature] (maybe) option to set different font in footer (and maybe also header)
|
30 |
*/
|
31 |
function prepare_pdf() {
|
32 |
|
57 |
|
58 |
// Set document information
|
59 |
$pdf->SetCreator( PDF_CREATOR );
|
|
|
60 |
$invoice_title = $invoice_type;
|
61 |
+
$invoice_types = wcj_get_invoice_types();
|
62 |
foreach ( $invoice_types as $invoice_type_data ) {
|
63 |
if ( $invoice_type === $invoice_type_data['id'] ) {
|
64 |
$invoice_title = $invoice_type_data['title'];
|
85 |
$the_logo,
|
86 |
$the_logo_width_mm,
|
87 |
do_shortcode( get_option( 'wcj_invoicing_' . $invoice_type . '_header_title_text', $invoice_title ) ),
|
88 |
+
do_shortcode( get_option( 'wcj_invoicing_' . $invoice_type . '_header_text' , __( 'Company Name', 'woocommerce-jetpack' ) ) ),
|
89 |
+
wcj_hex2rgb( get_option( 'wcj_invoicing_' . $invoice_type . '_header_text_color', '#cccccc' ) ),
|
90 |
+
wcj_hex2rgb( get_option( 'wcj_invoicing_' . $invoice_type . '_header_line_color', '#cccccc' ) ) );
|
91 |
} else {
|
92 |
$pdf->SetPrintHeader( false );
|
93 |
}
|
105 |
$tcpdf_font = wcj_get_tcpdf_font( $invoice_type );
|
106 |
|
107 |
// Set Header and Footer fonts
|
108 |
+
$pdf->setHeaderFont( array( $tcpdf_font, '', PDF_FONT_SIZE_MAIN ) );
|
109 |
+
$pdf->setFooterFont( array( $tcpdf_font, '', PDF_FONT_SIZE_DATA ) );
|
110 |
|
111 |
// Set default monospaced font
|
112 |
$pdf->SetDefaultMonospacedFont( PDF_FONT_MONOSPACED );
|
126 |
// Set image scale factor
|
127 |
$pdf->setImageScale( PDF_IMAGE_SCALE_RATIO );
|
128 |
|
|
|
|
|
|
|
|
|
|
|
|
|
129 |
// Set default font subsetting mode
|
130 |
$pdf->setFontSubsetting( true );
|
131 |
|
178 |
*
|
179 |
* @version 3.6.0
|
180 |
* @since 3.5.0
|
181 |
+
* @todo [dev] pass other params (billing_country, payment_method) as global (same as user_id) instead of $_GET
|
182 |
+
* @todo [fix] `force_balance_tags()` - there are some bugs and performance issues, see http://wordpress.stackexchange.com/questions/89121/why-doesnt-default-wordpress-page-view-use-force-balance-tags
|
183 |
*/
|
184 |
function get_html( $order_id, $pdf ) {
|
185 |
$_GET['order_id'] = $order_id;
|
204 |
* get_pdf.
|
205 |
*
|
206 |
* @version 3.8.0
|
207 |
+
* @todo [dev] (maybe) `die()` on success
|
208 |
*/
|
209 |
function get_pdf( $dest ) {
|
210 |
$pdf = $this->prepare_pdf();
|
includes/core/wcj-modules.php
CHANGED
@@ -2,7 +2,7 @@
|
|
2 |
/**
|
3 |
* Booster for WooCommerce - Modules
|
4 |
*
|
5 |
-
* @version
|
6 |
* @since 3.2.4
|
7 |
* @author Algoritmika Ltd.
|
8 |
*/
|
@@ -83,6 +83,7 @@ $wcj_module_files = array(
|
|
83 |
'class-wcj-shipping-by-user-role.php',
|
84 |
'class-wcj-shipping-by-products.php',
|
85 |
'class-wcj-shipping-by-cities.php',
|
|
|
86 |
'class-wcj-shipping-by-order-amount.php',
|
87 |
'class-wcj-address-formats.php',
|
88 |
'class-wcj-orders.php',
|
@@ -114,6 +115,7 @@ $wcj_module_files = array(
|
|
114 |
'class-wcj-my-account.php',
|
115 |
'class-wcj-custom-css.php',
|
116 |
'class-wcj-custom-js.php',
|
|
|
117 |
'class-wcj-products-xml.php',
|
118 |
'class-wcj-export-import.php',
|
119 |
'class-wcj-eu-vat-number.php',
|
2 |
/**
|
3 |
* Booster for WooCommerce - Modules
|
4 |
*
|
5 |
+
* @version 4.0.0
|
6 |
* @since 3.2.4
|
7 |
* @author Algoritmika Ltd.
|
8 |
*/
|
83 |
'class-wcj-shipping-by-user-role.php',
|
84 |
'class-wcj-shipping-by-products.php',
|
85 |
'class-wcj-shipping-by-cities.php',
|
86 |
+
'class-wcj-shipping-by-time.php',
|
87 |
'class-wcj-shipping-by-order-amount.php',
|
88 |
'class-wcj-address-formats.php',
|
89 |
'class-wcj-orders.php',
|
115 |
'class-wcj-my-account.php',
|
116 |
'class-wcj-custom-css.php',
|
117 |
'class-wcj-custom-js.php',
|
118 |
+
'class-wcj-custom-php.php',
|
119 |
'class-wcj-products-xml.php',
|
120 |
'class-wcj-export-import.php',
|
121 |
'class-wcj-eu-vat-number.php',
|
includes/functions/wcj-functions-general.php
CHANGED
@@ -2,13 +2,47 @@
|
|
2 |
/**
|
3 |
* Booster for WooCommerce - Functions - General
|
4 |
*
|
5 |
-
* @version
|
6 |
* @author Algoritmika Ltd.
|
7 |
* @todo add `wcj_add_actions()` and `wcj_add_filters()`
|
8 |
*/
|
9 |
|
10 |
if ( ! defined( 'ABSPATH' ) ) exit;
|
11 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
12 |
if ( ! function_exists( 'wcj_help_tip' ) ) {
|
13 |
/**
|
14 |
* wcj_help_tip.
|
@@ -702,13 +736,21 @@ if ( ! function_exists( 'wcj_get_select_options' ) ) {
|
|
702 |
|
703 |
if ( ! function_exists( 'wcj_is_frontend' ) ) {
|
704 |
/*
|
705 |
-
*
|
706 |
*
|
707 |
-
* @since
|
708 |
* @return boolean
|
709 |
*/
|
710 |
function wcj_is_frontend() {
|
711 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
712 |
}
|
713 |
}
|
714 |
|
2 |
/**
|
3 |
* Booster for WooCommerce - Functions - General
|
4 |
*
|
5 |
+
* @version 4.0.0
|
6 |
* @author Algoritmika Ltd.
|
7 |
* @todo add `wcj_add_actions()` and `wcj_add_filters()`
|
8 |
*/
|
9 |
|
10 |
if ( ! defined( 'ABSPATH' ) ) exit;
|
11 |
|
12 |
+
if ( ! function_exists( 'wcj_range_match' ) ) {
|
13 |
+
/**
|
14 |
+
* wcj_range_match.
|
15 |
+
*
|
16 |
+
* @version 4.0.0
|
17 |
+
* @since 3.4.0
|
18 |
+
*/
|
19 |
+
function wcj_range_match( $postcode_range, $postcode_to_check ) {
|
20 |
+
$postcode_range = explode( '...', $postcode_range );
|
21 |
+
return ( 2 === count( $postcode_range ) && $postcode_to_check >= $postcode_range[0] && $postcode_to_check <= $postcode_range[1] );
|
22 |
+
}
|
23 |
+
}
|
24 |
+
|
25 |
+
if ( ! function_exists( 'wcj_check_postcode' ) ) {
|
26 |
+
/**
|
27 |
+
* wcj_check_postcode.
|
28 |
+
*
|
29 |
+
* @version 4.0.0
|
30 |
+
* @since 3.4.0
|
31 |
+
*/
|
32 |
+
function wcj_check_postcode( $postcode_to_check, $postcodes ) {
|
33 |
+
foreach ( $postcodes as $postcode ) {
|
34 |
+
if (
|
35 |
+
( $postcode === $postcode_to_check ) ||
|
36 |
+
( false !== strpos( $postcode, '*' ) && fnmatch( $postcode, $postcode_to_check ) ) ||
|
37 |
+
( false !== strpos( $postcode, '...' ) && wcj_range_match( $postcode, $postcode_to_check ) )
|
38 |
+
) {
|
39 |
+
return true;
|
40 |
+
}
|
41 |
+
}
|
42 |
+
return false;
|
43 |
+
}
|
44 |
+
}
|
45 |
+
|
46 |
if ( ! function_exists( 'wcj_help_tip' ) ) {
|
47 |
/**
|
48 |
* wcj_help_tip.
|
736 |
|
737 |
if ( ! function_exists( 'wcj_is_frontend' ) ) {
|
738 |
/*
|
739 |
+
* wcj_is_frontend()
|
740 |
*
|
741 |
+
* @since 4.0.0
|
742 |
* @return boolean
|
743 |
*/
|
744 |
function wcj_is_frontend() {
|
745 |
+
if ( ! is_admin() ) {
|
746 |
+
return true;
|
747 |
+
} elseif ( defined( 'DOING_AJAX' ) && DOING_AJAX ) {
|
748 |
+
return ( ! isset( $_REQUEST['action'] ) || ! is_string( $_REQUEST['action'] ) || ! in_array( $_REQUEST['action'], array(
|
749 |
+
'woocommerce_load_variations',
|
750 |
+
) ) );
|
751 |
+
} else {
|
752 |
+
return false;
|
753 |
+
}
|
754 |
}
|
755 |
}
|
756 |
|
includes/functions/wcj-functions-html.php
CHANGED
@@ -2,7 +2,7 @@
|
|
2 |
/**
|
3 |
* Booster for WooCommerce - Functions - HTML Functions
|
4 |
*
|
5 |
-
* @version
|
6 |
* @author Algoritmika Ltd.
|
7 |
*/
|
8 |
|
@@ -50,6 +50,25 @@ if ( ! function_exists( 'wcj_get_table_html' ) ) {
|
|
50 |
}
|
51 |
}
|
52 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
53 |
if ( ! function_exists( 'wcj_get_option_html' ) ) {
|
54 |
/**
|
55 |
* wcj_get_option_html.
|
2 |
/**
|
3 |
* Booster for WooCommerce - Functions - HTML Functions
|
4 |
*
|
5 |
+
* @version 4.0.0
|
6 |
* @author Algoritmika Ltd.
|
7 |
*/
|
8 |
|
50 |
}
|
51 |
}
|
52 |
|
53 |
+
if ( ! function_exists( 'wcj_get_select_html' ) ) {
|
54 |
+
/**
|
55 |
+
* wcj_get_select_html.
|
56 |
+
*
|
57 |
+
* @version 4.0.0
|
58 |
+
* @since 4.0.0
|
59 |
+
* @todo [dev] `selected`, `class`
|
60 |
+
*/
|
61 |
+
function wcj_get_select_html( $id, $options, $style = '' ) {
|
62 |
+
$html = '';
|
63 |
+
$html .= '<select id="' . $id . '" name="' . $id . '" style="' . $style . '">';
|
64 |
+
foreach ( $options as $option_id => $option_title ) {
|
65 |
+
$html .= '<option value="' . $option_id . '">' . $option_title . '</option>';
|
66 |
+
}
|
67 |
+
$html .= '</select>';
|
68 |
+
return $html;
|
69 |
+
}
|
70 |
+
}
|
71 |
+
|
72 |
if ( ! function_exists( 'wcj_get_option_html' ) ) {
|
73 |
/**
|
74 |
* wcj_get_option_html.
|
includes/functions/wcj-functions-price-currency.php
CHANGED
@@ -2,7 +2,7 @@
|
|
2 |
/**
|
3 |
* Booster for WooCommerce - Functions - Price and Currency
|
4 |
*
|
5 |
-
* @version
|
6 |
* @since 2.7.0
|
7 |
* @author Algoritmika Ltd.
|
8 |
*/
|
@@ -362,12 +362,12 @@ if ( ! function_exists( 'wcj_update_products_price_by_country' ) ) {
|
|
362 |
/**
|
363 |
* wcj_update_products_price_by_country - all products.
|
364 |
*
|
365 |
-
* @version
|
366 |
* @since 2.5.3
|
367 |
*/
|
368 |
function wcj_update_products_price_by_country() {
|
369 |
-
$offset
|
370 |
-
$block_size =
|
371 |
while( true ) {
|
372 |
$args = array(
|
373 |
'post_type' => 'product',
|
@@ -376,16 +376,17 @@ if ( ! function_exists( 'wcj_update_products_price_by_country' ) ) {
|
|
376 |
'offset' => $offset,
|
377 |
'orderby' => 'title',
|
378 |
'order' => 'ASC',
|
|
|
379 |
);
|
380 |
$loop = new WP_Query( $args );
|
381 |
-
if ( ! $loop->have_posts() )
|
382 |
-
|
383 |
-
|
|
|
384 |
wcj_update_products_price_by_country_for_single_product( $product_id );
|
385 |
-
|
386 |
$offset += $block_size;
|
387 |
}
|
388 |
-
wp_reset_postdata();
|
389 |
}
|
390 |
}
|
391 |
|
@@ -411,7 +412,7 @@ if ( ! function_exists( 'wcj_get_currency_by_country' ) ) {
|
|
411 |
/**
|
412 |
* wcj_get_currency_by_country.
|
413 |
*
|
414 |
-
* @version
|
415 |
* @since 2.5.4
|
416 |
*/
|
417 |
function wcj_get_currency_by_country( $country_code ) {
|
@@ -424,10 +425,16 @@ if ( ! function_exists( 'wcj_get_currency_by_country' ) ) {
|
|
424 |
$country_exchange_rate_group = explode( ',', $country_exchange_rate_group );
|
425 |
break;
|
426 |
case 'multiselect':
|
427 |
-
$country_exchange_rate_group = get_option( 'wcj_price_by_country_countries_group_' . $i );
|
|
|
|
|
|
|
428 |
break;
|
429 |
case 'chosen_select':
|
430 |
-
$country_exchange_rate_group = get_option( 'wcj_price_by_country_countries_group_chosen_select_' . $i );
|
|
|
|
|
|
|
431 |
break;
|
432 |
}
|
433 |
if ( in_array( $country_code, $country_exchange_rate_group ) ) {
|
2 |
/**
|
3 |
* Booster for WooCommerce - Functions - Price and Currency
|
4 |
*
|
5 |
+
* @version 4.0.0
|
6 |
* @since 2.7.0
|
7 |
* @author Algoritmika Ltd.
|
8 |
*/
|
362 |
/**
|
363 |
* wcj_update_products_price_by_country - all products.
|
364 |
*
|
365 |
+
* @version 4.0.0
|
366 |
* @since 2.5.3
|
367 |
*/
|
368 |
function wcj_update_products_price_by_country() {
|
369 |
+
$offset = 0;
|
370 |
+
$block_size = 512;
|
371 |
while( true ) {
|
372 |
$args = array(
|
373 |
'post_type' => 'product',
|
376 |
'offset' => $offset,
|
377 |
'orderby' => 'title',
|
378 |
'order' => 'ASC',
|
379 |
+
'fields' => 'ids',
|
380 |
);
|
381 |
$loop = new WP_Query( $args );
|
382 |
+
if ( ! $loop->have_posts() ) {
|
383 |
+
break;
|
384 |
+
}
|
385 |
+
foreach ( $loop->posts as $product_id ) {
|
386 |
wcj_update_products_price_by_country_for_single_product( $product_id );
|
387 |
+
}
|
388 |
$offset += $block_size;
|
389 |
}
|
|
|
390 |
}
|
391 |
}
|
392 |
|
412 |
/**
|
413 |
* wcj_get_currency_by_country.
|
414 |
*
|
415 |
+
* @version 4.0.0
|
416 |
* @since 2.5.4
|
417 |
*/
|
418 |
function wcj_get_currency_by_country( $country_code ) {
|
425 |
$country_exchange_rate_group = explode( ',', $country_exchange_rate_group );
|
426 |
break;
|
427 |
case 'multiselect':
|
428 |
+
$country_exchange_rate_group = get_option( 'wcj_price_by_country_countries_group_' . $i, '' );
|
429 |
+
if ( '' === $country_exchange_rate_group ) {
|
430 |
+
$country_exchange_rate_group = array();
|
431 |
+
}
|
432 |
break;
|
433 |
case 'chosen_select':
|
434 |
+
$country_exchange_rate_group = get_option( 'wcj_price_by_country_countries_group_chosen_select_' . $i, '' );
|
435 |
+
if ( '' === $country_exchange_rate_group ) {
|
436 |
+
$country_exchange_rate_group = array();
|
437 |
+
}
|
438 |
break;
|
439 |
}
|
440 |
if ( in_array( $country_code, $country_exchange_rate_group ) ) {
|
includes/functions/wcj-functions-users.php
CHANGED
@@ -186,7 +186,6 @@ if ( ! function_exists( 'wcj_is_user_role' ) ) {
|
|
186 |
* @version 3.7.0
|
187 |
* @since 2.5.0
|
188 |
* @return bool
|
189 |
-
* @todo clean up
|
190 |
*/
|
191 |
function wcj_is_user_role( $user_role, $user_id = 0 ) {
|
192 |
if ( ! function_exists( 'wp_get_current_user' ) ) {
|
@@ -212,13 +211,5 @@ if ( ! function_exists( 'wcj_is_user_role' ) ) {
|
|
212 |
return ( in_array( $user_role, $_user->roles ) );
|
213 |
}
|
214 |
}
|
215 |
-
/* if ( ! is_array( $user_role ) ) {
|
216 |
-
$user_role = array( $user_role );
|
217 |
-
}
|
218 |
-
if ( in_array( 'administrator', $user_role ) ) {
|
219 |
-
$user_role[] = 'super_admin';
|
220 |
-
}
|
221 |
-
$_intersect = array_intersect( $user_role, $_user->roles );
|
222 |
-
return ( ! empty( $_intersect ) ); */
|
223 |
}
|
224 |
}
|
186 |
* @version 3.7.0
|
187 |
* @since 2.5.0
|
188 |
* @return bool
|
|
|
189 |
*/
|
190 |
function wcj_is_user_role( $user_role, $user_id = 0 ) {
|
191 |
if ( ! function_exists( 'wp_get_current_user' ) ) {
|
211 |
return ( in_array( $user_role, $_user->roles ) );
|
212 |
}
|
213 |
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
214 |
}
|
215 |
}
|
includes/gateways/class-wc-gateway-wcj-custom.php
CHANGED
@@ -21,16 +21,6 @@ if ( ! function_exists( 'init_wc_gateway_wcj_custom_class' ) ) {
|
|
21 |
*/
|
22 |
class WC_Gateway_WCJ_Custom_Template extends WC_Payment_Gateway {
|
23 |
|
24 |
-
/**
|
25 |
-
* set_icon
|
26 |
-
*/
|
27 |
-
/* function set_icon() {
|
28 |
-
$icon_url = get_option( 'wcj_payment_gateways_icons_woocommerce_wcj_custom_icon', '' );
|
29 |
-
if ( $icon_url === '' )
|
30 |
-
return $this->get_option( 'icon', '' );
|
31 |
-
return $icon_url;
|
32 |
-
} */
|
33 |
-
|
34 |
/**
|
35 |
* Initialise Gateway Settings Form Fields
|
36 |
*
|
@@ -48,9 +38,8 @@ if ( ! function_exists( 'init_wc_gateway_wcj_custom_class' ) ) {
|
|
48 |
}
|
49 |
|
50 |
$desc = '';
|
51 |
-
$icon_url = $this->get_option( 'icon', '' )
|
52 |
if ( $icon_url !== '' ) {
|
53 |
-
//$desc = '<img src="' . $icon_url . '" alt="WooJetpack Custom" title="WooJetpack Custom" />';
|
54 |
$desc = '<img src="' . $icon_url . '" alt="' . $this->title . '" title="' . $this->title . '" />';
|
55 |
}
|
56 |
|
@@ -143,13 +132,11 @@ if ( ! function_exists( 'init_wc_gateway_wcj_custom_class' ) ) {
|
|
143 |
'send_email_to_admin' => array(
|
144 |
'title' => __( 'Send Additional Emails', 'woocommerce-jetpack' ),
|
145 |
'label' => __( 'Send to Admin', 'woocommerce-jetpack' ),
|
146 |
-
// 'description' => __( 'This may help if you are using pending or custom default status and not getting new order emails.', 'woocommerce-jetpack' ),
|
147 |
'default' => 'no',
|
148 |
'type' => 'checkbox',
|
149 |
),
|
150 |
|
151 |
'send_email_to_customer' => array(
|
152 |
-
'title' => '',//__( 'Send Additional Email to Customer', 'woocommerce-jetpack' ),
|
153 |
'label' => __( 'Send to Customer', 'woocommerce-jetpack' ),
|
154 |
'description' => __( 'This may help if you are using pending or custom default status and not getting new order emails.', 'woocommerce-jetpack' ),
|
155 |
'default' => 'no',
|
@@ -285,8 +272,9 @@ if ( ! function_exists( 'init_wc_gateway_wcj_custom_class' ) ) {
|
|
285 |
* Output for the order received page.
|
286 |
*/
|
287 |
function thankyou_page() {
|
288 |
-
if ( $this->instructions )
|
289 |
echo do_shortcode( wpautop( wptexturize( $this->instructions ) ) );
|
|
|
290 |
}
|
291 |
|
292 |
/**
|
@@ -299,7 +287,10 @@ if ( ! function_exists( 'init_wc_gateway_wcj_custom_class' ) ) {
|
|
299 |
* @param bool $plain_text
|
300 |
*/
|
301 |
function email_instructions( $order, $sent_to_admin, $plain_text = false ) {
|
302 |
-
if (
|
|
|
|
|
|
|
303 |
echo do_shortcode( wpautop( wptexturize( $this->instructions_in_email ) ) . PHP_EOL );
|
304 |
}
|
305 |
}
|
@@ -347,12 +338,12 @@ if ( ! function_exists( 'init_wc_gateway_wcj_custom_class' ) ) {
|
|
347 |
* init.
|
348 |
*
|
349 |
* @version 3.9.0
|
350 |
-
* @todo clean up
|
351 |
*/
|
352 |
function init( $id_count ) {
|
353 |
$this->id = ( 1 === $id_count ) ? 'jetpack_custom_gateway' : 'jetpack_custom_gateway_' . $id_count;
|
354 |
$this->has_fields = false;
|
355 |
-
$this->method_title = get_option( 'wcj_custom_payment_gateways_admin_title_' . $id_count,
|
|
|
356 |
$this->method_description = __( 'Booster for WooCommerce: Custom Payment Gateway', 'woocommerce-jetpack' ) . ' #' . $id_count;
|
357 |
$this->id_count = $id_count;
|
358 |
// Load the settings.
|
@@ -360,10 +351,11 @@ if ( ! function_exists( 'init_wc_gateway_wcj_custom_class' ) ) {
|
|
360 |
$this->init_settings();
|
361 |
// Define user set variables
|
362 |
$this->title = $this->get_option( 'title' );
|
363 |
-
$this->description = do_shortcode( str_replace( '[wcj_input_field', '[wcj_input_field attach_to="' . $this->id . '"',
|
364 |
-
|
|
|
365 |
$this->instructions_in_email = $this->get_option( 'instructions_in_email', '' );
|
366 |
-
$this->icon = $this->get_option( 'icon', '' )
|
367 |
$this->min_amount = $this->get_option( 'min_amount', 0 );
|
368 |
$this->enable_for_methods = $this->get_option( 'enable_for_methods', array() );
|
369 |
$this->enable_for_virtual = $this->get_option( 'enable_for_virtual', 'yes' ) === 'yes';
|
@@ -373,8 +365,8 @@ if ( ! function_exists( 'init_wc_gateway_wcj_custom_class' ) ) {
|
|
373 |
$this->custom_return_url = $this->get_option( 'custom_return_url', '' );
|
374 |
// Actions
|
375 |
add_action( 'woocommerce_update_options_payment_gateways_' . $this->id, array( $this, 'process_admin_options' ) );
|
376 |
-
add_action( 'woocommerce_thankyou_'
|
377 |
-
add_action( 'woocommerce_email_before_order_table',
|
378 |
}
|
379 |
|
380 |
/**
|
21 |
*/
|
22 |
class WC_Gateway_WCJ_Custom_Template extends WC_Payment_Gateway {
|
23 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
24 |
/**
|
25 |
* Initialise Gateway Settings Form Fields
|
26 |
*
|
38 |
}
|
39 |
|
40 |
$desc = '';
|
41 |
+
$icon_url = $this->get_option( 'icon', '' );
|
42 |
if ( $icon_url !== '' ) {
|
|
|
43 |
$desc = '<img src="' . $icon_url . '" alt="' . $this->title . '" title="' . $this->title . '" />';
|
44 |
}
|
45 |
|
132 |
'send_email_to_admin' => array(
|
133 |
'title' => __( 'Send Additional Emails', 'woocommerce-jetpack' ),
|
134 |
'label' => __( 'Send to Admin', 'woocommerce-jetpack' ),
|
|
|
135 |
'default' => 'no',
|
136 |
'type' => 'checkbox',
|
137 |
),
|
138 |
|
139 |
'send_email_to_customer' => array(
|
|
|
140 |
'label' => __( 'Send to Customer', 'woocommerce-jetpack' ),
|
141 |
'description' => __( 'This may help if you are using pending or custom default status and not getting new order emails.', 'woocommerce-jetpack' ),
|
142 |
'default' => 'no',
|
272 |
* Output for the order received page.
|
273 |
*/
|
274 |
function thankyou_page() {
|
275 |
+
if ( $this->instructions ) {
|
276 |
echo do_shortcode( wpautop( wptexturize( $this->instructions ) ) );
|
277 |
+
}
|
278 |
}
|
279 |
|
280 |
/**
|
287 |
* @param bool $plain_text
|
288 |
*/
|
289 |
function email_instructions( $order, $sent_to_admin, $plain_text = false ) {
|
290 |
+
if (
|
291 |
+
$this->instructions_in_email && ! $sent_to_admin && $this->id === wcj_order_get_payment_method( $order ) &&
|
292 |
+
$this->default_order_status === ( WCJ_IS_WC_VERSION_BELOW_3 ? $order->status : $order->get_status() )
|
293 |
+
) {
|
294 |
echo do_shortcode( wpautop( wptexturize( $this->instructions_in_email ) ) . PHP_EOL );
|
295 |
}
|
296 |
}
|
338 |
* init.
|
339 |
*
|
340 |
* @version 3.9.0
|
|
|
341 |
*/
|
342 |
function init( $id_count ) {
|
343 |
$this->id = ( 1 === $id_count ) ? 'jetpack_custom_gateway' : 'jetpack_custom_gateway_' . $id_count;
|
344 |
$this->has_fields = false;
|
345 |
+
$this->method_title = get_option( 'wcj_custom_payment_gateways_admin_title_' . $id_count,
|
346 |
+
__( 'Custom Gateway', 'woocommerce-jetpack' ) . ' #' . $id_count );
|
347 |
$this->method_description = __( 'Booster for WooCommerce: Custom Payment Gateway', 'woocommerce-jetpack' ) . ' #' . $id_count;
|
348 |
$this->id_count = $id_count;
|
349 |
// Load the settings.
|
351 |
$this->init_settings();
|
352 |
// Define user set variables
|
353 |
$this->title = $this->get_option( 'title' );
|
354 |
+
$this->description = do_shortcode( str_replace( '[wcj_input_field', '[wcj_input_field attach_to="' . $this->id . '"',
|
355 |
+
$this->get_option( 'description' ) ) );
|
356 |
+
$this->instructions = $this->get_option( 'instructions', '' );
|
357 |
$this->instructions_in_email = $this->get_option( 'instructions_in_email', '' );
|
358 |
+
$this->icon = $this->get_option( 'icon', '' );
|
359 |
$this->min_amount = $this->get_option( 'min_amount', 0 );
|
360 |
$this->enable_for_methods = $this->get_option( 'enable_for_methods', array() );
|
361 |
$this->enable_for_virtual = $this->get_option( 'enable_for_virtual', 'yes' ) === 'yes';
|
365 |
$this->custom_return_url = $this->get_option( 'custom_return_url', '' );
|
366 |
// Actions
|
367 |
add_action( 'woocommerce_update_options_payment_gateways_' . $this->id, array( $this, 'process_admin_options' ) );
|
368 |
+
add_action( 'woocommerce_thankyou_' . $this->id, array( $this, 'thankyou_page' ) );
|
369 |
+
add_action( 'woocommerce_email_before_order_table', array( $this, 'email_instructions' ), 10, 3 ); // Customer Emails
|
370 |
}
|
371 |
|
372 |
/**
|
includes/js/wcj-order-quantities.js
CHANGED
@@ -1,43 +1,54 @@
|
|
1 |
-
/**
|
2 |
-
* wcj-order-quantities.js
|
3 |
-
*
|
4 |
-
* @version
|
5 |
-
* @since 3.2.2
|
6 |
-
|
7 |
-
|
8 |
-
|
9 |
-
|
10 |
-
|
11 |
-
|
12 |
-
|
13 |
-
|
14 |
-
|
15 |
-
|
16 |
-
|
17 |
-
|
18 |
-
}
|
19 |
-
|
20 |
-
|
21 |
-
jQuery('[name=quantity]').val(product_quantities[variation_id]['
|
22 |
-
}
|
23 |
-
|
24 |
-
|
25 |
-
|
26 |
-
|
27 |
-
|
28 |
-
|
29 |
-
|
30 |
-
|
31 |
-
|
32 |
-
|
33 |
-
|
34 |
-
|
35 |
-
}
|
36 |
-
|
37 |
-
|
38 |
-
jQuery
|
39 |
-
|
40 |
-
|
41 |
-
|
42 |
-
|
43 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
/**
|
2 |
+
* wcj-order-quantities.js
|
3 |
+
*
|
4 |
+
* @version 4.0.0
|
5 |
+
* @since 3.2.2
|
6 |
+
* @todo [dev] maybe `jQuery('[name=quantity]').val('0')` on `jQuery.isEmptyObject(product_quantities[variation_id])` (instead of `return`)
|
7 |
+
*/
|
8 |
+
|
9 |
+
function check_qty(){
|
10 |
+
var variation_id = jQuery('[name=variation_id]').val();
|
11 |
+
if (0 == variation_id) {
|
12 |
+
return;
|
13 |
+
}
|
14 |
+
var current_qty = jQuery('[name=quantity]').val();
|
15 |
+
|
16 |
+
if (jQuery.isEmptyObject(product_quantities[variation_id])){
|
17 |
+
return;
|
18 |
+
}
|
19 |
+
|
20 |
+
if (quantities_options['reset_to_min']){
|
21 |
+
jQuery('[name=quantity]').val(product_quantities[variation_id]['min_qty']);
|
22 |
+
} else if (quantities_options['reset_to_max']){
|
23 |
+
jQuery('[name=quantity]').val(product_quantities[variation_id]['max_qty']);
|
24 |
+
} else if (current_qty < parseInt(product_quantities[variation_id]['min_qty'])){
|
25 |
+
jQuery('[name=quantity]').val(product_quantities[variation_id]['min_qty']);
|
26 |
+
} else if (current_qty > parseInt(product_quantities[variation_id]['max_qty'])){
|
27 |
+
jQuery('[name=quantity]').val(product_quantities[variation_id]['max_qty']);
|
28 |
+
}
|
29 |
+
}
|
30 |
+
|
31 |
+
function check_qty_no_reset(){
|
32 |
+
var variation_id = jQuery('[name=variation_id]').val();
|
33 |
+
if (0 == variation_id) {
|
34 |
+
return;
|
35 |
+
}
|
36 |
+
var current_qty = jQuery('[name=quantity]').val();
|
37 |
+
|
38 |
+
if (jQuery.isEmptyObject(product_quantities[variation_id])){
|
39 |
+
return;
|
40 |
+
}
|
41 |
+
|
42 |
+
if (current_qty < parseInt(product_quantities[variation_id]['min_qty'])){
|
43 |
+
jQuery('[name=quantity]').val(product_quantities[variation_id]['min_qty']);
|
44 |
+
} else if (current_qty > parseInt(product_quantities[variation_id]['max_qty'])){
|
45 |
+
jQuery('[name=quantity]').val(product_quantities[variation_id]['max_qty']);
|
46 |
+
}
|
47 |
+
}
|
48 |
+
|
49 |
+
jQuery(document).ready(function(){
|
50 |
+
jQuery('[name=variation_id]').on('change',check_qty);
|
51 |
+
if (quantities_options['force_on_add_to_cart']){
|
52 |
+
jQuery('.single_add_to_cart_button').on('click',check_qty_no_reset);
|
53 |
+
}
|
54 |
+
});
|
includes/pdf-invoices/class-wcj-pdf-invoicing-report-tool.php
CHANGED
@@ -2,7 +2,7 @@
|
|
2 |
/**
|
3 |
* Booster for WooCommerce - PDF Invoicing - Report Tool
|
4 |
*
|
5 |
-
* @version
|
6 |
* @since 2.2.1
|
7 |
* @author Algoritmika Ltd.
|
8 |
*/
|
@@ -59,15 +59,15 @@ class WCJ_PDF_Invoicing_Report_Tool {
|
|
59 |
/**
|
60 |
* generate_report_zip.
|
61 |
*
|
62 |
-
* @version
|
63 |
* @since 2.3.10
|
64 |
*/
|
65 |
function generate_report_zip() {
|
66 |
if ( isset( $_POST['get_invoices_report_zip'] ) ) {
|
67 |
if ( 'yes' === get_option( 'wcj_general_advanced_disable_save_sys_temp_dir', 'no' ) ) {
|
68 |
$this->notice = '<div class="error"><p><strong>' . sprintf(
|
69 |
-
__( 'This option is disabled with "Disable Saving PDFs in PHP directory for temporary files" checkbox in <a href="%s" target="_blank">WooCommerce > Settings > Booster >
|
70 |
-
admin_url( 'admin.php?page=wc-settings&tab=jetpack&wcj-cat=
|
71 |
'</strong></p></div>';
|
72 |
} else {
|
73 |
$_year = ( ! empty( $_POST['report_year'] ) ) ? $_POST['report_year'] : date( 'Y' );
|
2 |
/**
|
3 |
* Booster for WooCommerce - PDF Invoicing - Report Tool
|
4 |
*
|
5 |
+
* @version 4.0.0
|
6 |
* @since 2.2.1
|
7 |
* @author Algoritmika Ltd.
|
8 |
*/
|
59 |
/**
|
60 |
* generate_report_zip.
|
61 |
*
|
62 |
+
* @version 4.0.0
|
63 |
* @since 2.3.10
|
64 |
*/
|
65 |
function generate_report_zip() {
|
66 |
if ( isset( $_POST['get_invoices_report_zip'] ) ) {
|
67 |
if ( 'yes' === get_option( 'wcj_general_advanced_disable_save_sys_temp_dir', 'no' ) ) {
|
68 |
$this->notice = '<div class="error"><p><strong>' . sprintf(
|
69 |
+
__( 'This option is disabled with "Disable Saving PDFs in PHP directory for temporary files" checkbox in <a href="%s" target="_blank">WooCommerce > Settings > Booster > PDF Invoicing & Packing Slips > Advanced</a>.', 'woocommerce-jetpack' ),
|
70 |
+
admin_url( 'admin.php?page=wc-settings&tab=jetpack&wcj-cat=pdf_invoicing§ion=pdf_invoicing_advanced' ) ) .
|
71 |
'</strong></p></div>';
|
72 |
} else {
|
73 |
$_year = ( ! empty( $_POST['report_year'] ) ) ? $_POST['report_year'] : date( 'Y' );
|
includes/price-by-country/class-wcj-price-by-country-core.php
CHANGED
@@ -2,7 +2,7 @@
|
|
2 |
/**
|
3 |
* Booster for WooCommerce - Price by Country - Core
|
4 |
*
|
5 |
-
* @version
|
6 |
* @author Algoritmika Ltd.
|
7 |
*/
|
8 |
|
@@ -16,7 +16,7 @@ class WCJ_Price_by_Country_Core {
|
|
16 |
* Constructor.
|
17 |
*
|
18 |
* @version 3.6.0
|
19 |
-
* @todo check if we can just always execute `init()` on `init` hook
|
20 |
*/
|
21 |
function __construct() {
|
22 |
$this->customer_country_group_id = null;
|
@@ -228,8 +228,8 @@ class WCJ_Price_by_Country_Core {
|
|
228 |
/**
|
229 |
* get_customer_country_group_id.
|
230 |
*
|
231 |
-
* @version
|
232 |
-
* @todo (maybe)
|
233 |
*/
|
234 |
function get_customer_country_group_id() {
|
235 |
|
@@ -249,7 +249,6 @@ class WCJ_Price_by_Country_Core {
|
|
249 |
} elseif ( 'no' != ( $override_option = get_option( 'wcj_price_by_country_override_on_checkout_with_billing_country', 'no' ) )
|
250 |
&& (
|
251 |
( 'all' === get_option( 'wcj_price_by_country_override_scope', 'all' ) ) ||
|
252 |
-
// ( 'cart_and_checkout' === get_option( 'wcj_price_by_country_override_scope', 'all' ) && ( is_cart() || is_checkout() ) ) ||
|
253 |
( 'checkout' === get_option( 'wcj_price_by_country_override_scope', 'all' ) && is_checkout() )
|
254 |
)
|
255 |
&& isset( WC()->customer )
|
@@ -282,10 +281,10 @@ class WCJ_Price_by_Country_Core {
|
|
282 |
$country_exchange_rate_group = explode( ',', $country_exchange_rate_group );
|
283 |
break;
|
284 |
case 'multiselect':
|
285 |
-
$country_exchange_rate_group = get_option( 'wcj_price_by_country_countries_group_' . $i );
|
286 |
break;
|
287 |
case 'chosen_select':
|
288 |
-
$country_exchange_rate_group = get_option( 'wcj_price_by_country_countries_group_chosen_select_' . $i );
|
289 |
break;
|
290 |
}
|
291 |
if ( is_array( $country_exchange_rate_group ) && in_array( $country, $country_exchange_rate_group ) ) {
|
@@ -315,9 +314,8 @@ class WCJ_Price_by_Country_Core {
|
|
315 |
/**
|
316 |
* get_variation_prices_hash.
|
317 |
*
|
318 |
-
* @version
|
319 |
* @since 2.4.3
|
320 |
-
* @todo clean up
|
321 |
*/
|
322 |
function get_variation_prices_hash( $price_hash, $_product, $display ) {
|
323 |
$group_id = $this->get_customer_country_group_id();
|
@@ -328,12 +326,7 @@ class WCJ_Price_by_Country_Core {
|
|
328 |
get_option( 'wcj_price_by_country_make_pretty_min_amount_multiplier', 1 ),
|
329 |
get_option( 'woocommerce_price_num_decimals', 2 ),
|
330 |
get_option( 'wcj_price_by_country_local_enabled', 'yes' ),
|
331 |
-
|
332 |
-
// get_option( 'wcj_price_by_country_total_groups_number' ),
|
333 |
-
// get_option( 'wcj_price_by_country_exchange_rate_countries_group_' . $group_id ),
|
334 |
-
// get_option( 'wcj_price_by_country_countries_group_' . $group_id ),
|
335 |
-
// get_option( 'wcj_price_by_country_countries_group_chosen_select_' . $group_id ),
|
336 |
-
get_option( 'wcj_price_by_country_exchange_rate_currency_group_' . $group_id ),
|
337 |
get_option( 'wcj_price_by_country_exchange_rate_group_' . $group_id, 1 ),
|
338 |
get_option( 'wcj_price_by_country_make_empty_price_group_' . $group_id, 'no' ),
|
339 |
);
|
2 |
/**
|
3 |
* Booster for WooCommerce - Price by Country - Core
|
4 |
*
|
5 |
+
* @version 4.0.0
|
6 |
* @author Algoritmika Ltd.
|
7 |
*/
|
8 |
|
16 |
* Constructor.
|
17 |
*
|
18 |
* @version 3.6.0
|
19 |
+
* @todo [dev] check if we can just always execute `init()` on `init` hook
|
20 |
*/
|
21 |
function __construct() {
|
22 |
$this->customer_country_group_id = null;
|
228 |
/**
|
229 |
* get_customer_country_group_id.
|
230 |
*
|
231 |
+
* @version 4.0.0
|
232 |
+
* @todo [feature] (maybe) `( 'cart_and_checkout' === get_option( 'wcj_price_by_country_override_scope', 'all' ) && ( is_cart() || is_checkout() ) ) ||`
|
233 |
*/
|
234 |
function get_customer_country_group_id() {
|
235 |
|
249 |
} elseif ( 'no' != ( $override_option = get_option( 'wcj_price_by_country_override_on_checkout_with_billing_country', 'no' ) )
|
250 |
&& (
|
251 |
( 'all' === get_option( 'wcj_price_by_country_override_scope', 'all' ) ) ||
|
|
|
252 |
( 'checkout' === get_option( 'wcj_price_by_country_override_scope', 'all' ) && is_checkout() )
|
253 |
)
|
254 |
&& isset( WC()->customer )
|
281 |
$country_exchange_rate_group = explode( ',', $country_exchange_rate_group );
|
282 |
break;
|
283 |
case 'multiselect':
|
284 |
+
$country_exchange_rate_group = get_option( 'wcj_price_by_country_countries_group_' . $i, '' );
|
285 |
break;
|
286 |
case 'chosen_select':
|
287 |
+
$country_exchange_rate_group = get_option( 'wcj_price_by_country_countries_group_chosen_select_' . $i, '' );
|
288 |
break;
|
289 |
}
|
290 |
if ( is_array( $country_exchange_rate_group ) && in_array( $country, $country_exchange_rate_group ) ) {
|
314 |
/**
|
315 |
* get_variation_prices_hash.
|
316 |
*
|
317 |
+
* @version 4.0.0
|
318 |
* @since 2.4.3
|
|
|
319 |
*/
|
320 |
function get_variation_prices_hash( $price_hash, $_product, $display ) {
|
321 |
$group_id = $this->get_customer_country_group_id();
|
326 |
get_option( 'wcj_price_by_country_make_pretty_min_amount_multiplier', 1 ),
|
327 |
get_option( 'woocommerce_price_num_decimals', 2 ),
|
328 |
get_option( 'wcj_price_by_country_local_enabled', 'yes' ),
|
329 |
+
get_option( 'wcj_price_by_country_exchange_rate_currency_group_' . $group_id, 'EUR' ),
|
|
|
|
|
|
|
|
|
|
|
330 |
get_option( 'wcj_price_by_country_exchange_rate_group_' . $group_id, 1 ),
|
331 |
get_option( 'wcj_price_by_country_make_empty_price_group_' . $group_id, 'no' ),
|
332 |
);
|
includes/price-by-country/class-wcj-price-by-country-local.php
CHANGED
@@ -2,7 +2,7 @@
|
|
2 |
/**
|
3 |
* Booster for WooCommerce - Price by Country - Local
|
4 |
*
|
5 |
-
* @version
|
6 |
* @author Algoritmika Ltd.
|
7 |
* @todo (maybe) remove this and leave only standard meta box option (i.e. only `'meta_box' === get_option( 'wcj_price_by_country_local_options_style', 'inline' )`)
|
8 |
*/
|
@@ -189,7 +189,7 @@ class WCJ_Price_by_Country_Local {
|
|
189 |
/**
|
190 |
* get_all_options_html.
|
191 |
*
|
192 |
-
* @version
|
193 |
*/
|
194 |
function get_all_options_html( $simple_or_variable, $current_post_id, $total_number, $variation_id_addon = '' ) {
|
195 |
$html = '';
|
@@ -203,13 +203,13 @@ class WCJ_Price_by_Country_Local {
|
|
203 |
$countries = '';
|
204 |
switch ( get_option( 'wcj_price_by_country_selection', 'comma_list' ) ) {
|
205 |
case 'comma_list':
|
206 |
-
$countries .= get_option( 'wcj_price_by_country_exchange_rate_countries_group_' . $i );
|
207 |
break;
|
208 |
case 'multiselect':
|
209 |
-
$countries .=
|
210 |
break;
|
211 |
case 'chosen_select':
|
212 |
-
$countries .=
|
213 |
break;
|
214 |
}
|
215 |
$admin_title = get_option( 'wcj_price_by_country_countries_group_admin_title_' . $i, __( 'Group', 'woocommerce-jetpack' ) . ' #' . $i );
|
2 |
/**
|
3 |
* Booster for WooCommerce - Price by Country - Local
|
4 |
*
|
5 |
+
* @version 4.0.0
|
6 |
* @author Algoritmika Ltd.
|
7 |
* @todo (maybe) remove this and leave only standard meta box option (i.e. only `'meta_box' === get_option( 'wcj_price_by_country_local_options_style', 'inline' )`)
|
8 |
*/
|
189 |
/**
|
190 |
* get_all_options_html.
|
191 |
*
|
192 |
+
* @version 4.0.0
|
193 |
*/
|
194 |
function get_all_options_html( $simple_or_variable, $current_post_id, $total_number, $variation_id_addon = '' ) {
|
195 |
$html = '';
|
203 |
$countries = '';
|
204 |
switch ( get_option( 'wcj_price_by_country_selection', 'comma_list' ) ) {
|
205 |
case 'comma_list':
|
206 |
+
$countries .= get_option( 'wcj_price_by_country_exchange_rate_countries_group_' . $i, '' );
|
207 |
break;
|
208 |
case 'multiselect':
|
209 |
+
$countries .= ( '' != ( $group = get_option( 'wcj_price_by_country_countries_group_' . $i, '' ) ) ? implode( ',', $group ) : '' );
|
210 |
break;
|
211 |
case 'chosen_select':
|
212 |
+
$countries .= ( '' != ( $group = get_option( 'wcj_price_by_country_countries_group_chosen_select_' . $i, '' ) ) ? implode( ',', $group ) : '' );
|
213 |
break;
|
214 |
}
|
215 |
$admin_title = get_option( 'wcj_price_by_country_countries_group_admin_title_' . $i, __( 'Group', 'woocommerce-jetpack' ) . ' #' . $i );
|
includes/reports/countries/wcj-country-sets.php
CHANGED
@@ -8,7 +8,6 @@
|
|
8 |
* @todo move to `wcj-functions-country.php`
|
9 |
* @todo use in "Price by Country" module for automatic group creation
|
10 |
* @todo add translations (`__`)
|
11 |
-
* @todo clean up
|
12 |
*/
|
13 |
|
14 |
return array(
|
@@ -24,12 +23,10 @@ return array(
|
|
24 |
'European Union' => array(
|
25 |
'AT', 'BE', 'BG', 'CY', 'CZ', 'DE', 'DK', 'EE', 'ES', 'FI', 'FR', 'GB', 'GR', 'HU', 'HR', 'IE', 'IT', 'LT', 'LU', 'LV', 'MT', 'NL', 'PL', 'PT', 'RO', 'SE', 'SI', 'SK',
|
26 |
),
|
|
|
27 |
'Europe' => array(
|
28 |
'AD', 'AL', 'AT', 'AX', 'BA', 'BE', 'BG', 'BY', 'CH', 'CZ', 'DE', 'DK', 'EE', 'ES', 'FI', 'FO', 'FR', 'FX', 'GB', 'GG', 'GI', 'GR', 'HR', 'HU', 'IE', 'IM', 'IS', 'IT', 'JE', 'LI', 'LT', 'LU', 'LV', 'MC', 'MD', 'ME', 'MK', 'MT', 'NL', 'NO', 'PL', 'PT', 'RO', 'RS', 'RU', 'SE', 'SI', 'SJ', 'SK', 'SM', 'TR', 'UA', 'VA',
|
29 |
),
|
30 |
-
/*'Europe excl EU' => array(
|
31 |
-
'AD', 'AL', 'AX', 'BA', 'BY', 'CH', 'FO', 'FX', 'GG', 'GI', 'IM', 'IS', 'JE', 'LI', 'MC', 'MD', 'ME', 'MK', 'NO', 'RS', 'RU', 'SJ', 'SM', 'TR', 'UA', 'VA',
|
32 |
-
),*/
|
33 |
|
34 |
'Central America' => array(
|
35 |
'AG', 'AI', 'AN', 'AW', 'BB', 'BL', 'BM', 'BS', 'BZ', 'CR', 'CU', 'DM', 'DO', 'GD', 'GL', 'GP', 'GT', 'HN', 'HT', 'JM', 'KY', 'KN', 'LC', 'MF', 'MQ', 'MS', 'NI', 'PA', 'PM', 'PR', 'SV', 'TC', 'TT', 'VC', 'VG', 'VI',
|
8 |
* @todo move to `wcj-functions-country.php`
|
9 |
* @todo use in "Price by Country" module for automatic group creation
|
10 |
* @todo add translations (`__`)
|
|
|
11 |
*/
|
12 |
|
13 |
return array(
|
23 |
'European Union' => array(
|
24 |
'AT', 'BE', 'BG', 'CY', 'CZ', 'DE', 'DK', 'EE', 'ES', 'FI', 'FR', 'GB', 'GR', 'HU', 'HR', 'IE', 'IT', 'LT', 'LU', 'LV', 'MT', 'NL', 'PL', 'PT', 'RO', 'SE', 'SI', 'SK',
|
25 |
),
|
26 |
+
|
27 |
'Europe' => array(
|
28 |
'AD', 'AL', 'AT', 'AX', 'BA', 'BE', 'BG', 'BY', 'CH', 'CZ', 'DE', 'DK', 'EE', 'ES', 'FI', 'FO', 'FR', 'FX', 'GB', 'GG', 'GI', 'GR', 'HR', 'HU', 'IE', 'IM', 'IS', 'IT', 'JE', 'LI', 'LT', 'LU', 'LV', 'MC', 'MD', 'ME', 'MK', 'MT', 'NL', 'NO', 'PL', 'PT', 'RO', 'RS', 'RU', 'SE', 'SI', 'SJ', 'SK', 'SM', 'TR', 'UA', 'VA',
|
29 |
),
|
|
|
|
|
|
|
30 |
|
31 |
'Central America' => array(
|
32 |
'AG', 'AI', 'AN', 'AW', 'BB', 'BL', 'BM', 'BS', 'BZ', 'CR', 'CU', 'DM', 'DO', 'GD', 'GL', 'GP', 'GT', 'HN', 'HT', 'JM', 'KY', 'KN', 'LC', 'MF', 'MQ', 'MS', 'NI', 'PA', 'PM', 'PR', 'SV', 'TC', 'TT', 'VC', 'VG', 'VI',
|
includes/settings/meta-box/wcj-settings-meta-box-price-by-country.php
CHANGED
@@ -2,7 +2,7 @@
|
|
2 |
/**
|
3 |
* Booster for WooCommerce - Settings Meta Box - Price by Country
|
4 |
*
|
5 |
-
* @version
|
6 |
* @since 3.3.0
|
7 |
* @author Algoritmika Ltd.
|
8 |
*/
|
@@ -21,10 +21,10 @@ for ( $i = 1; $i <= $total_number; $i++ ) {
|
|
21 |
$countries .= get_option( 'wcj_price_by_country_exchange_rate_countries_group_' . $i );
|
22 |
break;
|
23 |
case 'multiselect':
|
24 |
-
$countries .=
|
25 |
break;
|
26 |
case 'chosen_select':
|
27 |
-
$countries .=
|
28 |
break;
|
29 |
}
|
30 |
$admin_title = '<details>' . '<summary>' . $admin_title . ' [' . $group_currency_code . ']' . '</summary>' .
|
2 |
/**
|
3 |
* Booster for WooCommerce - Settings Meta Box - Price by Country
|
4 |
*
|
5 |
+
* @version 4.0.0
|
6 |
* @since 3.3.0
|
7 |
* @author Algoritmika Ltd.
|
8 |
*/
|
21 |
$countries .= get_option( 'wcj_price_by_country_exchange_rate_countries_group_' . $i );
|
22 |
break;
|
23 |
case 'multiselect':
|
24 |
+
$countries .= ( '' != ( $group = get_option( 'wcj_price_by_country_countries_group_' . $i, '' ) ) ? implode( ',', $group ) : '' );
|
25 |
break;
|
26 |
case 'chosen_select':
|
27 |
+
$countries .= ( '' != ( $group = get_option( 'wcj_price_by_country_countries_group_chosen_select_' . $i, '' ) ) ? implode( ',', $group ) : '' );
|
28 |
break;
|
29 |
}
|
30 |
$admin_title = '<details>' . '<summary>' . $admin_title . ' [' . $group_currency_code . ']' . '</summary>' .
|
includes/settings/wcj-settings-admin-tools.php
CHANGED
@@ -2,7 +2,7 @@
|
|
2 |
/**
|
3 |
* Booster for WooCommerce - Settings - Admin Tools
|
4 |
*
|
5 |
-
* @version
|
6 |
* @since 2.8.0
|
7 |
* @author Algoritmika Ltd.
|
8 |
*/
|
@@ -23,23 +23,19 @@ return array(
|
|
23 |
'type' => 'checkbox',
|
24 |
),
|
25 |
array(
|
26 |
-
'title' => __( '
|
27 |
-
'desc' => __( 'Enable', 'woocommerce-jetpack' ),
|
28 |
-
'id' => 'wcj_logging_enabled',
|
29 |
-
'default' => 'no',
|
30 |
-
'type' => 'checkbox',
|
31 |
-
),
|
32 |
-
array(
|
33 |
-
'title' => __( 'WooCommerce Log', 'woocommerce-jetpack' ),
|
34 |
'desc' => __( 'Enable', 'woocommerce-jetpack' ),
|
35 |
-
'
|
|
|
|
|
36 |
'default' => 'no',
|
37 |
'type' => 'checkbox',
|
38 |
),
|
39 |
array(
|
40 |
-
'title' => __( '
|
41 |
'desc' => __( 'Enable', 'woocommerce-jetpack' ),
|
42 |
-
'
|
|
|
43 |
'default' => 'no',
|
44 |
'type' => 'checkbox',
|
45 |
),
|
@@ -61,21 +57,6 @@ return array(
|
|
61 |
'type' => 'number',
|
62 |
'custom_attributes' => array( 'min' => 0 ),
|
63 |
),
|
64 |
-
/*
|
65 |
-
array(
|
66 |
-
'title' => __( 'Custom Shortcode', 'woocommerce-jetpack' ),
|
67 |
-
'id' => 'wcj_custom_shortcode_1',
|
68 |
-
'default' => '',
|
69 |
-
'type' => 'textarea',
|
70 |
-
),
|
71 |
-
*/
|
72 |
-
array(
|
73 |
-
'title' => __( 'System Info', 'woocommerce-jetpack' ),
|
74 |
-
'id' => 'wcj_admin_tools_system_info',
|
75 |
-
'default' => '',
|
76 |
-
'type' => 'custom_link',
|
77 |
-
'link' => '<pre>' . wcj_get_table_html( $this->get_system_info_table_array(), array( 'columns_styles' => array( 'padding:0;', 'padding:0;' ), 'table_heading_type' => 'vertical' ) ) . '</pre>',
|
78 |
-
),
|
79 |
array(
|
80 |
'title' => __( 'Show Order Meta', 'woocommerce-jetpack' ),
|
81 |
'desc' => __( 'Enable', 'woocommerce-jetpack' ),
|
@@ -101,4 +82,42 @@ return array(
|
|
101 |
'type' => 'sectionend',
|
102 |
'id' => 'wcj_admin_tools_module_options',
|
103 |
),
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
104 |
);
|
2 |
/**
|
3 |
* Booster for WooCommerce - Settings - Admin Tools
|
4 |
*
|
5 |
+
* @version 4.0.0
|
6 |
* @since 2.8.0
|
7 |
* @author Algoritmika Ltd.
|
8 |
*/
|
23 |
'type' => 'checkbox',
|
24 |
),
|
25 |
array(
|
26 |
+
'title' => __( 'Suppress Admin Connect Notice', 'woocommerce-jetpack' ),
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
27 |
'desc' => __( 'Enable', 'woocommerce-jetpack' ),
|
28 |
+
'desc_tip' => sprintf( __( 'Will remove "%s" admin notice.', 'woocommerce-jetpack' ),
|
29 |
+
__( 'Connect your store to WooCommerce.com to receive extensions updates and support.', 'woocommerce-jetpack' ) ),
|
30 |
+
'id' => 'wcj_admin_tools_suppress_connect_notice',
|
31 |
'default' => 'no',
|
32 |
'type' => 'checkbox',
|
33 |
),
|
34 |
array(
|
35 |
+
'title' => __( 'Suppress Admin Notices', 'woocommerce-jetpack' ),
|
36 |
'desc' => __( 'Enable', 'woocommerce-jetpack' ),
|
37 |
+
'desc_tip' => __( 'Will remove admin notices (including the Connect notice).', 'woocommerce-jetpack' ),
|
38 |
+
'id' => 'wcj_admin_tools_suppress_admin_notices',
|
39 |
'default' => 'no',
|
40 |
'type' => 'checkbox',
|
41 |
),
|
57 |
'type' => 'number',
|
58 |
'custom_attributes' => array( 'min' => 0 ),
|
59 |
),
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
60 |
array(
|
61 |
'title' => __( 'Show Order Meta', 'woocommerce-jetpack' ),
|
62 |
'desc' => __( 'Enable', 'woocommerce-jetpack' ),
|
82 |
'type' => 'sectionend',
|
83 |
'id' => 'wcj_admin_tools_module_options',
|
84 |
),
|
85 |
+
array(
|
86 |
+
'title' => __( 'Debug Tools Options', 'woocommerce-jetpack' ),
|
87 |
+
'type' => 'title',
|
88 |
+
'id' => 'wcj_debug_tools_options',
|
89 |
+
),
|
90 |
+
array(
|
91 |
+
'title' => __( 'Log', 'woocommerce-jetpack' ),
|
92 |
+
'desc' => __( 'Enable', 'woocommerce-jetpack' ),
|
93 |
+
'id' => 'wcj_logging_enabled',
|
94 |
+
'default' => 'no',
|
95 |
+
'type' => 'checkbox',
|
96 |
+
),
|
97 |
+
array(
|
98 |
+
'title' => __( 'WooCommerce Log', 'woocommerce-jetpack' ),
|
99 |
+
'desc' => __( 'Enable', 'woocommerce-jetpack' ),
|
100 |
+
'id' => 'wcj_wc_logging_enabled',
|
101 |
+
'default' => 'no',
|
102 |
+
'type' => 'checkbox',
|
103 |
+
),
|
104 |
+
array(
|
105 |
+
'title' => __( 'Debug', 'woocommerce-jetpack' ),
|
106 |
+
'desc' => __( 'Enable', 'woocommerce-jetpack' ),
|
107 |
+
'id' => 'wcj_debuging_enabled',
|
108 |
+
'default' => 'no',
|
109 |
+
'type' => 'checkbox',
|
110 |
+
),
|
111 |
+
array(
|
112 |
+
'title' => __( 'System Info', 'woocommerce-jetpack' ),
|
113 |
+
'id' => 'wcj_admin_tools_system_info',
|
114 |
+
'default' => '',
|
115 |
+
'type' => 'custom_link',
|
116 |
+
'link' => '<pre>' . wcj_get_table_html( $this->get_system_info_table_array(),
|
117 |
+
array( 'columns_styles' => array( 'padding:0;', 'padding:0;' ), 'table_heading_type' => 'vertical' ) ) . '</pre>',
|
118 |
+
),
|
119 |
+
array(
|
120 |
+
'type' => 'sectionend',
|
121 |
+
'id' => 'wcj_debug_tools_options',
|
122 |
+
),
|
123 |
);
|
includes/settings/wcj-settings-custom-css.php
CHANGED
@@ -2,7 +2,7 @@
|
|
2 |
/**
|
3 |
* Booster for WooCommerce Settings - Custom CSS
|
4 |
*
|
5 |
-
* @version
|
6 |
* @since 2.8.0
|
7 |
* @author Algoritmika Ltd.
|
8 |
*/
|
@@ -15,6 +15,16 @@ return array(
|
|
15 |
'type' => 'title',
|
16 |
'id' => 'wcj_custom_css_options',
|
17 |
),
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
18 |
array(
|
19 |
'title' => __( 'Custom CSS - Front end (Customers)', 'woocommerce-jetpack' ),
|
20 |
'id' => 'wcj_general_custom_css',
|
2 |
/**
|
3 |
* Booster for WooCommerce Settings - Custom CSS
|
4 |
*
|
5 |
+
* @version 4.0.0
|
6 |
* @since 2.8.0
|
7 |
* @author Algoritmika Ltd.
|
8 |
*/
|
15 |
'type' => 'title',
|
16 |
'id' => 'wcj_custom_css_options',
|
17 |
),
|
18 |
+
array(
|
19 |
+
'title' => __( 'Code Position', 'woocommerce-jetpack' ),
|
20 |
+
'id' => 'wcj_custom_css_hook',
|
21 |
+
'default' => 'head',
|
22 |
+
'type' => 'select',
|
23 |
+
'options' => array(
|
24 |
+
'head' => __( 'Header', 'woocommerce-jetpack' ),
|
25 |
+
'footer' => __( 'Footer', 'woocommerce-jetpack' ),
|
26 |
+
),
|
27 |
+
),
|
28 |
array(
|
29 |
'title' => __( 'Custom CSS - Front end (Customers)', 'woocommerce-jetpack' ),
|
30 |
'id' => 'wcj_general_custom_css',
|
includes/settings/wcj-settings-custom-js.php
CHANGED
@@ -2,7 +2,7 @@
|
|
2 |
/**
|
3 |
* Booster for WooCommerce Settings - Custom JS
|
4 |
*
|
5 |
-
* @version
|
6 |
* @since 2.8.0
|
7 |
* @author Algoritmika Ltd.
|
8 |
*/
|
@@ -15,6 +15,16 @@ return array(
|
|
15 |
'type' => 'title',
|
16 |
'id' => 'wcj_custom_js_options',
|
17 |
),
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
18 |
array(
|
19 |
'title' => __( 'Custom JS - Front end (Customers)', 'woocommerce-jetpack' ),
|
20 |
'id' => 'wcj_custom_js_frontend',
|
2 |
/**
|
3 |
* Booster for WooCommerce Settings - Custom JS
|
4 |
*
|
5 |
+
* @version 4.0.0
|
6 |
* @since 2.8.0
|
7 |
* @author Algoritmika Ltd.
|
8 |
*/
|
15 |
'type' => 'title',
|
16 |
'id' => 'wcj_custom_js_options',
|
17 |
),
|
18 |
+
array(
|
19 |
+
'title' => __( 'Code Position', 'woocommerce-jetpack' ),
|
20 |
+
'id' => 'wcj_custom_js_hook',
|
21 |
+
'default' => 'head',
|
22 |
+
'type' => 'select',
|
23 |
+
'options' => array(
|
24 |
+
'head' => __( 'Header', 'woocommerce-jetpack' ),
|
25 |
+
'footer' => __( 'Footer', 'woocommerce-jetpack' ),
|
26 |
+
),
|
27 |
+
),
|
28 |
array(
|
29 |
'title' => __( 'Custom JS - Front end (Customers)', 'woocommerce-jetpack' ),
|
30 |
'id' => 'wcj_custom_js_frontend',
|
includes/settings/wcj-settings-custom-php.php
ADDED
@@ -0,0 +1,35 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?php
|
2 |
+
/**
|
3 |
+
* Booster for WooCommerce Settings - Custom PHP
|
4 |
+
*
|
5 |
+
* @version 4.0.0
|
6 |
+
* @since 4.0.0
|
7 |
+
* @author Algoritmika Ltd.
|
8 |
+
*/
|
9 |
+
|
10 |
+
if ( ! defined( 'ABSPATH' ) ) exit; // Exit if accessed directly
|
11 |
+
|
12 |
+
$file_path = wcj_get_wcj_uploads_dir( 'custom_php', false ) . DIRECTORY_SEPARATOR . 'booster.php';
|
13 |
+
|
14 |
+
return array(
|
15 |
+
array(
|
16 |
+
'title' => __( 'Options', 'woocommerce-jetpack' ),
|
17 |
+
'type' => 'title',
|
18 |
+
'id' => 'wcj_custom_php_options',
|
19 |
+
),
|
20 |
+
array(
|
21 |
+
'title' => __( 'Custom PHP', 'woocommerce-jetpack' ),
|
22 |
+
'id' => 'wcj_custom_php',
|
23 |
+
'default' => '',
|
24 |
+
'type' => 'textarea',
|
25 |
+
'css' => 'width:100%;height:500px;font-family:monospace;',
|
26 |
+
'wcj_raw' => true,
|
27 |
+
'desc' => sprintf( __( 'Without the %s tag.', 'woocommerce-jetpack' ), '<code>' . esc_html( '<?php' ) . '</code>' ) .
|
28 |
+
( file_exists( $file_path ) ? '<br>' . sprintf(
|
29 |
+
__( 'Automatically created file: %s.', 'woocommerce-jetpack' ), '<code>' . $file_path . '</code>' ) : '' ),
|
30 |
+
),
|
31 |
+
array(
|
32 |
+
'type' => 'sectionend',
|
33 |
+
'id' => 'wcj_custom_php_options',
|
34 |
+
),
|
35 |
+
);
|
includes/settings/wcj-settings-global-discount.php
CHANGED
@@ -2,7 +2,7 @@
|
|
2 |
/**
|
3 |
* Booster for WooCommerce - Settings - Global Discount
|
4 |
*
|
5 |
-
* @version
|
6 |
* @since 2.8.0
|
7 |
* @author Algoritmika Ltd.
|
8 |
*/
|
@@ -176,6 +176,14 @@ $settings = array_merge( $settings, array(
|
|
176 |
'type' => 'title',
|
177 |
'id' => 'wcj_global_discount_advanced_options',
|
178 |
),
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
179 |
array(
|
180 |
'title' => __( 'Price Filters Priority', 'woocommerce-jetpack' ),
|
181 |
'desc_tip' => __( 'Priority for all module\'s price filters. Set to zero to use default priority.' ),
|
2 |
/**
|
3 |
* Booster for WooCommerce - Settings - Global Discount
|
4 |
*
|
5 |
+
* @version 4.0.0
|
6 |
* @since 2.8.0
|
7 |
* @author Algoritmika Ltd.
|
8 |
*/
|
176 |
'type' => 'title',
|
177 |
'id' => 'wcj_global_discount_advanced_options',
|
178 |
),
|
179 |
+
array(
|
180 |
+
'title' => __( 'Global Discount in Admin', 'woocommerce-jetpack' ),
|
181 |
+
'desc' => __( 'Enable', 'woocommerce-jetpack' ),
|
182 |
+
'desc_tip' => __( 'This will enable "global discount" product pricing in backend. It will also affect some modules, e.g.: "Products XML Feeds" module.', 'woocommerce-jetpack' ),
|
183 |
+
'id' => 'wcj_global_discount_enabled_in_admin',
|
184 |
+
'default' => 'no',
|
185 |
+
'type' => 'checkbox',
|
186 |
+
),
|
187 |
array(
|
188 |
'title' => __( 'Price Filters Priority', 'woocommerce-jetpack' ),
|
189 |
'desc_tip' => __( 'Priority for all module\'s price filters. Set to zero to use default priority.' ),
|
includes/settings/wcj-settings-order-custom-statuses.php
CHANGED
@@ -2,7 +2,7 @@
|
|
2 |
/**
|
3 |
* Booster for WooCommerce Settings - Order Custom Statuses
|
4 |
*
|
5 |
-
* @version
|
6 |
* @since 2.8.0
|
7 |
* @author Algoritmika Ltd.
|
8 |
*/
|
@@ -92,6 +92,16 @@ return array(
|
|
92 |
'type' => 'checkbox',
|
93 |
'custom_attributes' => apply_filters( 'booster_message', '', 'disabled' ),
|
94 |
),
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
95 |
array(
|
96 |
'type' => 'sectionend',
|
97 |
'id' => 'wcj_orders_custom_statuses_options',
|
2 |
/**
|
3 |
* Booster for WooCommerce Settings - Order Custom Statuses
|
4 |
*
|
5 |
+
* @version 4.0.0
|
6 |
* @since 2.8.0
|
7 |
* @author Algoritmika Ltd.
|
8 |
*/
|
92 |
'type' => 'checkbox',
|
93 |
'custom_attributes' => apply_filters( 'booster_message', '', 'disabled' ),
|
94 |
),
|
95 |
+
array(
|
96 |
+
'title' => __( 'Add Custom Statuses Buttons to Admin Order Preview Actions', 'woocommerce-jetpack' ),
|
97 |
+
'desc' => __( 'Add', 'woocommerce-jetpack' ),
|
98 |
+
'desc_tip' => __( 'If you wish to add custom statuses buttons to the admin orders preview page, enable the checkbox here.', 'woocommerce-jetpack' ) . ' ' .
|
99 |
+
apply_filters( 'booster_message', '', 'desc' ),
|
100 |
+
'id' => 'wcj_orders_custom_statuses_add_to_order_preview_actions',
|
101 |
+
'default' => 'no',
|
102 |
+
'type' => 'checkbox',
|
103 |
+
'custom_attributes' => apply_filters( 'booster_message', '', 'disabled' ),
|
104 |
+
),
|
105 |
array(
|
106 |
'type' => 'sectionend',
|
107 |
'id' => 'wcj_orders_custom_statuses_options',
|
includes/settings/wcj-settings-orders.php
CHANGED
@@ -2,7 +2,7 @@
|
|
2 |
/**
|
3 |
* Booster for WooCommerce Settings - Orders
|
4 |
*
|
5 |
-
* @version
|
6 |
* @since 2.8.0
|
7 |
* @author Algoritmika Ltd.
|
8 |
*/
|
@@ -68,6 +68,32 @@ $settings = array(
|
|
68 |
'type' => 'sectionend',
|
69 |
'id' => 'wcj_orders_navigation_options',
|
70 |
),
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
71 |
array(
|
72 |
'title' => __( 'Orders Auto-Complete', 'woocommerce-jetpack' ),
|
73 |
'type' => 'title',
|
2 |
/**
|
3 |
* Booster for WooCommerce Settings - Orders
|
4 |
*
|
5 |
+
* @version 4.0.0
|
6 |
* @since 2.8.0
|
7 |
* @author Algoritmika Ltd.
|
8 |
*/
|
68 |
'type' => 'sectionend',
|
69 |
'id' => 'wcj_orders_navigation_options',
|
70 |
),
|
71 |
+
array(
|
72 |
+
'title' => __( 'Editable Orders', 'woocommerce-jetpack' ),
|
73 |
+
'desc' => __( 'This section allows you to set which order statuses are editable.', 'woocommerce-jetpack' ),
|
74 |
+
'type' => 'title',
|
75 |
+
'id' => 'wcj_orders_editable_status_options',
|
76 |
+
),
|
77 |
+
array(
|
78 |
+
'title' => __( 'Editable Orders Statuses', 'woocommerce-jetpack' ),
|
79 |
+
'desc_tip' => apply_filters( 'booster_message', '', 'desc' ),
|
80 |
+
'desc' => __( 'Enable', 'woocommerce-jetpack' ),
|
81 |
+
'id' => 'wcj_orders_editable_status_enabled',
|
82 |
+
'default' => 'no',
|
83 |
+
'type' => 'checkbox',
|
84 |
+
'custom_attributes' => apply_filters( 'booster_message', '', 'disabled' ),
|
85 |
+
),
|
86 |
+
array(
|
87 |
+
'id' => 'wcj_orders_editable_status',
|
88 |
+
'default' => array( 'pending', 'on-hold', 'auto-draft' ),
|
89 |
+
'type' => 'multiselect',
|
90 |
+
'class' => 'chosen_select',
|
91 |
+
'options' => array_merge( wcj_get_order_statuses(), array( 'auto-draft' => __( 'Auto-draft', 'woocommerce-jetpack' ) ) ),
|
92 |
+
),
|
93 |
+
array(
|
94 |
+
'type' => 'sectionend',
|
95 |
+
'id' => 'wcj_orders_editable_status_options',
|
96 |
+
),
|
97 |
array(
|
98 |
'title' => __( 'Orders Auto-Complete', 'woocommerce-jetpack' ),
|
99 |
'type' => 'title',
|
includes/settings/wcj-settings-payment-gateways-currency.php
CHANGED
@@ -2,7 +2,7 @@
|
|
2 |
/**
|
3 |
* Booster for WooCommerce - Settings - Gateways Currency Converter
|
4 |
*
|
5 |
-
* @version
|
6 |
* @since 2.8.0
|
7 |
* @author Algoritmika Ltd.
|
8 |
* @todo [dev] maybe make "Advanced: Fix Chosen Payment Method" option enabled by default (or even remove option completely and always perform `$this->fix_chosen_payment_method()`)
|
@@ -12,7 +12,7 @@ if ( ! defined( 'ABSPATH' ) ) exit; // Exit if accessed directly
|
|
12 |
|
13 |
$settings = array(
|
14 |
array(
|
15 |
-
'title' => __( 'Payment Gateways
|
16 |
'type' => 'title',
|
17 |
'desc' => __( 'This section lets you set different currency for each payment gateway.', 'woocommerce-jetpack' ),
|
18 |
'id' => 'wcj_payment_gateways_currency_options',
|
@@ -53,6 +53,15 @@ foreach ( $available_gateways as $key => $gateway ) {
|
|
53 |
) );
|
54 |
}
|
55 |
$settings = array_merge( $settings, array(
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
56 |
array(
|
57 |
'title' => __( 'Exchange Rates Updates', 'woocommerce-jetpack' ),
|
58 |
'id' => 'wcj_gateways_currency_exchange_rate_update_auto',
|
@@ -69,6 +78,16 @@ $settings = array_merge( $settings, array(
|
|
69 |
: apply_filters( 'booster_message', '', 'desc' ),
|
70 |
'custom_attributes' => apply_filters( 'booster_message', '', 'disabled' ),
|
71 |
),
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
72 |
array(
|
73 |
'title' => __( 'Advanced: Fix "Chosen Payment Method"', 'woocommerce-jetpack' ),
|
74 |
'desc' => __( 'Enable', 'woocommerce-jetpack' ),
|
@@ -79,7 +98,7 @@ $settings = array_merge( $settings, array(
|
|
79 |
),
|
80 |
array(
|
81 |
'type' => 'sectionend',
|
82 |
-
'id' => '
|
83 |
),
|
84 |
) );
|
85 |
return $settings;
|
2 |
/**
|
3 |
* Booster for WooCommerce - Settings - Gateways Currency Converter
|
4 |
*
|
5 |
+
* @version 4.0.0
|
6 |
* @since 2.8.0
|
7 |
* @author Algoritmika Ltd.
|
8 |
* @todo [dev] maybe make "Advanced: Fix Chosen Payment Method" option enabled by default (or even remove option completely and always perform `$this->fix_chosen_payment_method()`)
|
12 |
|
13 |
$settings = array(
|
14 |
array(
|
15 |
+
'title' => __( 'Payment Gateways', 'woocommerce-jetpack' ),
|
16 |
'type' => 'title',
|
17 |
'desc' => __( 'This section lets you set different currency for each payment gateway.', 'woocommerce-jetpack' ),
|
18 |
'id' => 'wcj_payment_gateways_currency_options',
|
53 |
) );
|
54 |
}
|
55 |
$settings = array_merge( $settings, array(
|
56 |
+
array(
|
57 |
+
'type' => 'sectionend',
|
58 |
+
'id' => 'wcj_payment_gateways_currency_options',
|
59 |
+
),
|
60 |
+
array(
|
61 |
+
'title' => __( 'Options', 'woocommerce-jetpack' ),
|
62 |
+
'type' => 'title',
|
63 |
+
'id' => 'wcj_payment_gateways_currency_general_options',
|
64 |
+
),
|
65 |
array(
|
66 |
'title' => __( 'Exchange Rates Updates', 'woocommerce-jetpack' ),
|
67 |
'id' => 'wcj_gateways_currency_exchange_rate_update_auto',
|
78 |
: apply_filters( 'booster_message', '', 'desc' ),
|
79 |
'custom_attributes' => apply_filters( 'booster_message', '', 'disabled' ),
|
80 |
),
|
81 |
+
array(
|
82 |
+
'title' => __( 'Show Converted Prices', 'woocommerce-jetpack' ),
|
83 |
+
'id' => 'wcj_gateways_currency_page_scope',
|
84 |
+
'default' => 'cart_and_checkout',
|
85 |
+
'type' => 'select',
|
86 |
+
'options' => array(
|
87 |
+
'cart_and_checkout' => __( 'On both cart and checkout pages', 'woocommerce-jetpack' ),
|
88 |
+
'checkout_only' => __( 'On checkout page only', 'woocommerce-jetpack' ),
|
89 |
+
),
|
90 |
+
),
|
91 |
array(
|
92 |
'title' => __( 'Advanced: Fix "Chosen Payment Method"', 'woocommerce-jetpack' ),
|
93 |
'desc' => __( 'Enable', 'woocommerce-jetpack' ),
|
98 |
),
|
99 |
array(
|
100 |
'type' => 'sectionend',
|
101 |
+
'id' => 'wcj_payment_gateways_currency_general_options',
|
102 |
),
|
103 |
) );
|
104 |
return $settings;
|
includes/settings/wcj-settings-product-addons.php
CHANGED
@@ -2,7 +2,7 @@
|
|
2 |
/**
|
3 |
* Booster for WooCommerce - Settings - Product Addons
|
4 |
*
|
5 |
-
* @version
|
6 |
* @since 2.8.0
|
7 |
* @author Algoritmika Ltd.
|
8 |
* @todo (maybe) add `woocommerce_payment_complete` to `$qty_triggers` (also maybe add this trigger to "PDF Invoicing" module)
|
@@ -293,6 +293,14 @@ $settings = array_merge( $settings, array(
|
|
293 |
'type' => 'textarea',
|
294 |
'css' => 'width:100%;',
|
295 |
),
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
296 |
array(
|
297 |
'title' => __( 'Each Addon - Type: Radio Button (Each)', 'woocommerce-jetpack' ),
|
298 |
'desc' => wcj_message_replaced_values( array( '%addon_input%', '%addon_id%', '%addon_label%', '%addon_price%', '%addon_tooltip%' ) ),
|
2 |
/**
|
3 |
* Booster for WooCommerce - Settings - Product Addons
|
4 |
*
|
5 |
+
* @version 4.0.0
|
6 |
* @since 2.8.0
|
7 |
* @author Algoritmika Ltd.
|
8 |
* @todo (maybe) add `woocommerce_payment_complete` to `$qty_triggers` (also maybe add this trigger to "PDF Invoicing" module)
|
293 |
'type' => 'textarea',
|
294 |
'css' => 'width:100%;',
|
295 |
),
|
296 |
+
array(
|
297 |
+
'title' => __( 'Each Addon - Type: Select Box (Each Option)', 'woocommerce-jetpack' ),
|
298 |
+
'desc' => wcj_message_replaced_values( array( '%addon_label%', '%addon_price%' ) ),
|
299 |
+
'id' => 'wcj_product_addons_template_type_select_option',
|
300 |
+
'default' => '%addon_label% (%addon_price%)',
|
301 |
+
'type' => 'textarea',
|
302 |
+
'css' => 'width:100%;',
|
303 |
+
),
|
304 |
array(
|
305 |
'title' => __( 'Each Addon - Type: Radio Button (Each)', 'woocommerce-jetpack' ),
|
306 |
'desc' => wcj_message_replaced_values( array( '%addon_input%', '%addon_id%', '%addon_label%', '%addon_price%', '%addon_tooltip%' ) ),
|
includes/settings/wcj-settings-product-input-fields.php
CHANGED
@@ -340,7 +340,7 @@ $settings = array_merge( $settings, array(
|
|
340 |
'type' => 'checkbox',
|
341 |
),
|
342 |
array(
|
343 |
-
'title' => __( 'Strip
|
344 |
'desc' => __( 'Enable', 'woocommerce-jetpack' ),
|
345 |
'desc_tip' => sprintf( __( 'Enable this if you have single quotes %s converted to %s.', 'woocommerce-jetpack' ), '<code>\'</code>', '<code>\\\'</code>' ),
|
346 |
'id' => 'wcj_product_input_fields_stripslashes',
|
340 |
'type' => 'checkbox',
|
341 |
),
|
342 |
array(
|
343 |
+
'title' => __( 'Strip Slashes', 'woocommerce-jetpack' ),
|
344 |
'desc' => __( 'Enable', 'woocommerce-jetpack' ),
|
345 |
'desc_tip' => sprintf( __( 'Enable this if you have single quotes %s converted to %s.', 'woocommerce-jetpack' ), '<code>\'</code>', '<code>\\\'</code>' ),
|
346 |
'id' => 'wcj_product_input_fields_stripslashes',
|
includes/settings/wcj-settings-sale-flash.php
CHANGED
@@ -2,7 +2,7 @@
|
|
2 |
/**
|
3 |
* Booster for WooCommerce - Settings - Sale Flash
|
4 |
*
|
5 |
-
* @version
|
6 |
* @since 3.2.4
|
7 |
* @author Algoritmika Ltd.
|
8 |
*/
|
@@ -63,7 +63,7 @@ $settings = array(
|
|
63 |
array(
|
64 |
'title' => __( 'Per Product', 'woocommerce-jetpack' ),
|
65 |
'desc' => '<strong>' . __( 'Enable section', 'woocommerce-jetpack' ) . '</strong>',
|
66 |
-
'desc_tip' => __( 'This will add meta box to each product\'s edit page.', 'woocommerce-jetpack' ) . '
|
67 |
'id' => 'wcj_sale_flash_per_product_enabled',
|
68 |
'default' => 'no',
|
69 |
'type' => 'checkbox',
|
@@ -77,7 +77,7 @@ $settings = array(
|
|
77 |
|
78 |
$product_terms['product_cat'] = wcj_get_terms( 'product_cat' );
|
79 |
$product_terms['product_tag'] = wcj_get_terms( 'product_tag' );
|
80 |
-
foreach ( $product_terms as $id => $
|
81 |
$title = ( 'product_cat' === $id ? __( 'Per Category', 'woocommerce-jetpack' ) : __( 'Per Tag', 'woocommerce-jetpack' ) );
|
82 |
$settings = array_merge( $settings, array(
|
83 |
array(
|
@@ -94,13 +94,22 @@ foreach ( $product_terms as $id => $product_term ) {
|
|
94 |
'type' => 'checkbox',
|
95 |
'custom_attributes' => apply_filters( 'booster_message', '', 'disabled' ),
|
96 |
),
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
97 |
) );
|
98 |
-
foreach ( $
|
99 |
$settings = array_merge( $settings, array(
|
100 |
array(
|
101 |
-
'title' => $
|
102 |
'desc_tip' => __( 'You can use HTML and/or shortcodes here.', 'woocommerce-jetpack' ),
|
103 |
-
'id' =>
|
104 |
'default' => '<span class="onsale">' . __( 'Sale!', 'woocommerce' ) . '</span>',
|
105 |
'type' => 'textarea',
|
106 |
'css' => 'width:100%;',
|
2 |
/**
|
3 |
* Booster for WooCommerce - Settings - Sale Flash
|
4 |
*
|
5 |
+
* @version 4.0.0
|
6 |
* @since 3.2.4
|
7 |
* @author Algoritmika Ltd.
|
8 |
*/
|
63 |
array(
|
64 |
'title' => __( 'Per Product', 'woocommerce-jetpack' ),
|
65 |
'desc' => '<strong>' . __( 'Enable section', 'woocommerce-jetpack' ) . '</strong>',
|
66 |
+
'desc_tip' => __( 'This will add meta box to each product\'s edit page.', 'woocommerce-jetpack' ) . '<br>' . apply_filters( 'booster_message', '', 'desc' ),
|
67 |
'id' => 'wcj_sale_flash_per_product_enabled',
|
68 |
'default' => 'no',
|
69 |
'type' => 'checkbox',
|
77 |
|
78 |
$product_terms['product_cat'] = wcj_get_terms( 'product_cat' );
|
79 |
$product_terms['product_tag'] = wcj_get_terms( 'product_tag' );
|
80 |
+
foreach ( $product_terms as $id => $_product_terms ) {
|
81 |
$title = ( 'product_cat' === $id ? __( 'Per Category', 'woocommerce-jetpack' ) : __( 'Per Tag', 'woocommerce-jetpack' ) );
|
82 |
$settings = array_merge( $settings, array(
|
83 |
array(
|
94 |
'type' => 'checkbox',
|
95 |
'custom_attributes' => apply_filters( 'booster_message', '', 'disabled' ),
|
96 |
),
|
97 |
+
array(
|
98 |
+
'desc_tip' => __( 'Terms to Modify', 'woocommerce-jetpack' ),
|
99 |
+
'desc_tip' => __( 'Save changes to see new option fields.', 'woocommerce-jetpack' ),
|
100 |
+
'id' => 'wcj_sale_flash_per_' . $id . '_terms',
|
101 |
+
'default' => array(),
|
102 |
+
'type' => 'multiselect',
|
103 |
+
'class' => 'chosen_select',
|
104 |
+
'options' => $_product_terms,
|
105 |
+
),
|
106 |
) );
|
107 |
+
foreach ( get_option( 'wcj_sale_flash_per_' . $id . '_terms', array() ) as $term_id ) {
|
108 |
$settings = array_merge( $settings, array(
|
109 |
array(
|
110 |
+
'title' => ( isset( $_product_terms[ $term_id ] ) ? $_product_terms[ $term_id ] : sprintf( __( 'Term #%s', 'woocommerce-jetpack' ), $term_id ) ),
|
111 |
'desc_tip' => __( 'You can use HTML and/or shortcodes here.', 'woocommerce-jetpack' ),
|
112 |
+
'id' => "wcj_sale_flash_per_{$id}[{$term_id}]",
|
113 |
'default' => '<span class="onsale">' . __( 'Sale!', 'woocommerce' ) . '</span>',
|
114 |
'type' => 'textarea',
|
115 |
'css' => 'width:100%;',
|
includes/settings/wcj-settings-shipping-by-condition.php
CHANGED
@@ -2,9 +2,10 @@
|
|
2 |
/**
|
3 |
* Booster for WooCommerce - Settings - Shipping by Condition
|
4 |
*
|
5 |
-
* @version
|
6 |
* @since 3.2.1
|
7 |
* @author Algoritmika Ltd.
|
|
|
8 |
*/
|
9 |
|
10 |
if ( ! defined( 'ABSPATH' ) ) {
|
@@ -67,12 +68,14 @@ foreach ( $this->condition_options as $options_id => $options_data ) {
|
|
67 |
$custom_attributes = array();
|
68 |
$desc_tip = '';
|
69 |
}
|
|
|
|
|
70 |
$settings = array_merge( $settings, array(
|
71 |
array(
|
72 |
'title' => ( $use_shipping_instances ? $method['zone_name'] . ': ' . $method['shipping_method_title'] : $method->get_method_title() ),
|
73 |
'desc_tip' => $desc_tip,
|
74 |
-
'desc' => '<br>' . sprintf( __( 'Include %s', 'woocommerce-jetpack' ), $options_data['title'] ),
|
75 |
-
'id' =>
|
76 |
'default' => '',
|
77 |
'type' => $type,
|
78 |
'class' => $class,
|
@@ -82,8 +85,8 @@ foreach ( $this->condition_options as $options_id => $options_data ) {
|
|
82 |
),
|
83 |
array(
|
84 |
'desc_tip' => $desc_tip,
|
85 |
-
'desc' => '<br>' . sprintf( __( 'Exclude %s', 'woocommerce-jetpack' ), $options_data['title'] ),
|
86 |
-
'id' =>
|
87 |
'default' => '',
|
88 |
'type' => $type,
|
89 |
'class' => $class,
|
2 |
/**
|
3 |
* Booster for WooCommerce - Settings - Shipping by Condition
|
4 |
*
|
5 |
+
* @version 4.0.0
|
6 |
* @since 3.2.1
|
7 |
* @author Algoritmika Ltd.
|
8 |
+
* @todo [dev] hide settings for the disabled subsection
|
9 |
*/
|
10 |
|
11 |
if ( ! defined( 'ABSPATH' ) ) {
|
68 |
$custom_attributes = array();
|
69 |
$desc_tip = '';
|
70 |
}
|
71 |
+
$include_id = 'wcj_shipping_' . $options_id . '_include_' . ( $use_shipping_instances ? 'instance_' . $method['shipping_method_instance_id'] : $method->id );
|
72 |
+
$exclude_id = 'wcj_shipping_' . $options_id . '_exclude_' . ( $use_shipping_instances ? 'instance_' . $method['shipping_method_instance_id'] : $method->id );
|
73 |
$settings = array_merge( $settings, array(
|
74 |
array(
|
75 |
'title' => ( $use_shipping_instances ? $method['zone_name'] . ': ' . $method['shipping_method_title'] : $method->get_method_title() ),
|
76 |
'desc_tip' => $desc_tip,
|
77 |
+
'desc' => '<br>' . sprintf( __( 'Include %s', 'woocommerce-jetpack' ), $options_data['title'] ) . $this->get_extra_option_desc( $include_id ),
|
78 |
+
'id' => $include_id,
|
79 |
'default' => '',
|
80 |
'type' => $type,
|
81 |
'class' => $class,
|
85 |
),
|
86 |
array(
|
87 |
'desc_tip' => $desc_tip,
|
88 |
+
'desc' => '<br>' . sprintf( __( 'Exclude %s', 'woocommerce-jetpack' ), $options_data['title'] ) . $this->get_extra_option_desc( $exclude_id ),
|
89 |
+
'id' => $exclude_id,
|
90 |
'default' => '',
|
91 |
'type' => $type,
|
92 |
'class' => $class,
|
includes/settings/wcj-settings-template-editor.php
CHANGED
@@ -2,7 +2,7 @@
|
|
2 |
/**
|
3 |
* Booster for WooCommerce - Settings - Template Editor
|
4 |
*
|
5 |
-
* @version
|
6 |
* @since 3.9.0
|
7 |
* @author Algoritmika Ltd.
|
8 |
* @todo [dev] (maybe) always use `DIRECTORY_SEPARATOR` (instead of '\\' and '/')
|
@@ -49,7 +49,7 @@ foreach ( get_option( 'wcj_template_editor_templates_to_edit', array() ) as $tem
|
|
49 |
'id' => "wcj_template_editor_templates_content[{$template}]",
|
50 |
'type' => 'textarea',
|
51 |
'default' => file_get_contents( $default_template_path ),
|
52 |
-
'css' => 'width:100%;height:500px;',
|
53 |
'wcj_raw' => true,
|
54 |
),
|
55 |
) );
|
2 |
/**
|
3 |
* Booster for WooCommerce - Settings - Template Editor
|
4 |
*
|
5 |
+
* @version 4.0.0
|
6 |
* @since 3.9.0
|
7 |
* @author Algoritmika Ltd.
|
8 |
* @todo [dev] (maybe) always use `DIRECTORY_SEPARATOR` (instead of '\\' and '/')
|
49 |
'id' => "wcj_template_editor_templates_content[{$template}]",
|
50 |
'type' => 'textarea',
|
51 |
'default' => file_get_contents( $default_template_path ),
|
52 |
+
'css' => 'width:100%;height:500px;font-family:monospace;',
|
53 |
'wcj_raw' => true,
|
54 |
),
|
55 |
) );
|
includes/shortcodes/class-wcj-shortcodes-general.php
CHANGED
@@ -2,7 +2,7 @@
|
|
2 |
/**
|
3 |
* Booster for WooCommerce - Shortcodes - General
|
4 |
*
|
5 |
-
* @version
|
6 |
* @author Algoritmika Ltd.
|
7 |
*/
|
8 |
|
@@ -793,10 +793,10 @@ class WCJ_General_Shortcodes extends WCJ_Shortcodes {
|
|
793 |
*/
|
794 |
private function get_currency_selector( $atts, $content, $type = 'select' ) {
|
795 |
// Start
|
|
|
|
|
|
|
796 |
$html = '';
|
797 |
-
$form_method = $atts['form_method'];
|
798 |
-
$class = $atts['class'];
|
799 |
-
$style = $atts['style'];
|
800 |
$html .= '<form action="" method="' . $form_method . '">';
|
801 |
if ( 'select' === $type ) {
|
802 |
$html .= '<select name="wcj-currency" id="wcj-currency-select" style="' . $style . '" class="' . $class . '" onchange="this.form.submit()">';
|
@@ -870,75 +870,38 @@ class WCJ_General_Shortcodes extends WCJ_Shortcodes {
|
|
870 |
/**
|
871 |
* wcj_country_select_drop_down_list.
|
872 |
*
|
873 |
-
* @version
|
874 |
*/
|
875 |
function wcj_country_select_drop_down_list( $atts, $content ) {
|
876 |
-
|
877 |
-
$
|
878 |
-
|
879 |
-
$
|
880 |
-
$
|
881 |
-
$
|
882 |
-
|
883 |
-
$html .= '<form action="" method="' . $form_method . '">';
|
884 |
-
|
885 |
-
$html .= '<select name="wcj-country" id="wcj-country" style="' . $select_style . '" class="' . $select_class . '" onchange="this.form.submit()">';
|
886 |
-
$countries = wcj_get_countries();
|
887 |
-
|
888 |
-
/* $shortcode_countries = get_option( 'wcj_price_by_country_shortcode_countries', array() );
|
889 |
-
if ( '' == $shortcode_countries ) $shortcode_countries = array(); */
|
890 |
-
$shortcode_countries = $atts['countries'];
|
891 |
-
if ( '' == $shortcode_countries ) {
|
892 |
-
$shortcode_countries = array();
|
893 |
-
} else {
|
894 |
-
$shortcode_countries = str_replace( ' ', '', $shortcode_countries );
|
895 |
-
$shortcode_countries = trim( $shortcode_countries, ',' );
|
896 |
-
$shortcode_countries = explode( ',', $shortcode_countries );
|
897 |
-
}
|
898 |
-
|
899 |
-
/* if ( 'get' == $form_method ) {
|
900 |
-
$selected_country = ( isset( $_GET[ 'wcj-country' ] ) ) ? $_GET[ 'wcj-country' ] : '';
|
901 |
-
} else {
|
902 |
-
$selected_country = ( isset( $_POST[ 'wcj-country' ] ) ) ? $_POST[ 'wcj-country' ] : '';
|
903 |
-
} */
|
904 |
-
$selected_country = ( null !== ( $session_value = wcj_session_get( 'wcj-country' ) ) ? $session_value : '' );
|
905 |
-
|
906 |
if ( 'yes' === $atts['replace_with_currency'] ) {
|
907 |
$currencies_names_and_symbols = wcj_get_woocommerce_currencies_and_symbols();
|
908 |
}
|
909 |
-
|
|
|
|
|
910 |
if ( empty( $shortcode_countries ) ) {
|
911 |
foreach ( $countries as $country_code => $country_name ) {
|
912 |
-
|
913 |
-
$data_icon = '';
|
914 |
-
if ( 'yes' === get_option( 'wcj_price_by_country_jquery_wselect_enabled', 'no' ) ) {
|
915 |
-
$data_icon = ' data-icon="' . wcj_plugin_url() . '/assets/images/flag-icons/' . strtolower( $country_code ) . '.png"';
|
916 |
-
}
|
917 |
-
|
918 |
$option_label = ( 'yes' === $atts['replace_with_currency'] ) ? $currencies_names_and_symbols[ wcj_get_currency_by_country( $country_code ) ] : $country_name;
|
919 |
-
|
920 |
-
$html .= '<option' . $data_icon . ' value="' . $country_code . '" ' . selected( $country_code, $selected_country, false ) . '>' . $option_label . '</option>';
|
921 |
}
|
922 |
} else {
|
923 |
foreach ( $shortcode_countries as $country_code ) {
|
924 |
if ( isset( $countries[ $country_code ] ) ) {
|
925 |
-
|
926 |
-
$data_icon = '';
|
927 |
-
if ( 'yes' === get_option( 'wcj_price_by_country_jquery_wselect_enabled', 'no' ) ) {
|
928 |
-
$data_icon = ' data-icon="' . wcj_plugin_url() . '/assets/images/flag-icons/' . strtolower( $country_code ) . '.png"';
|
929 |
-
}
|
930 |
-
|
931 |
$option_label = ( 'yes' === $atts['replace_with_currency'] ) ? $currencies_names_and_symbols[ wcj_get_currency_by_country( $country_code ) ] : $countries[ $country_code ];
|
932 |
-
|
933 |
-
$html .= '<option' . $data_icon . ' value="' . $country_code . '" ' . selected( $country_code, $selected_country, false ) . '>' . $option_label . '</option>';
|
934 |
}
|
935 |
}
|
936 |
}
|
937 |
-
|
938 |
$html .= '</select>';
|
939 |
-
|
940 |
$html .= '</form>';
|
941 |
-
|
942 |
return $html;
|
943 |
}
|
944 |
|
2 |
/**
|
3 |
* Booster for WooCommerce - Shortcodes - General
|
4 |
*
|
5 |
+
* @version 4.0.0
|
6 |
* @author Algoritmika Ltd.
|
7 |
*/
|
8 |
|
793 |
*/
|
794 |
private function get_currency_selector( $atts, $content, $type = 'select' ) {
|
795 |
// Start
|
796 |
+
$form_method = $atts['form_method'];
|
797 |
+
$class = $atts['class'];
|
798 |
+
$style = $atts['style'];
|
799 |
$html = '';
|
|
|
|
|
|
|
800 |
$html .= '<form action="" method="' . $form_method . '">';
|
801 |
if ( 'select' === $type ) {
|
802 |
$html .= '<select name="wcj-currency" id="wcj-currency-select" style="' . $style . '" class="' . $class . '" onchange="this.form.submit()">';
|
870 |
/**
|
871 |
* wcj_country_select_drop_down_list.
|
872 |
*
|
873 |
+
* @version 4.0.0
|
874 |
*/
|
875 |
function wcj_country_select_drop_down_list( $atts, $content ) {
|
876 |
+
$form_method = $atts['form_method'];
|
877 |
+
$select_class = $atts['class'];
|
878 |
+
$select_style = $atts['style'];
|
879 |
+
$countries = wcj_get_countries();
|
880 |
+
$shortcode_countries = ( empty( $atts['countries'] ) ? array() : array_map( 'trim', explode( ',', $atts['countries'] ) ) );
|
881 |
+
$selected_country = ( null !== ( $session_value = wcj_session_get( 'wcj-country' ) ) ? $session_value : '' );
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
882 |
if ( 'yes' === $atts['replace_with_currency'] ) {
|
883 |
$currencies_names_and_symbols = wcj_get_woocommerce_currencies_and_symbols();
|
884 |
}
|
885 |
+
$html = '';
|
886 |
+
$html .= '<form action="" method="' . $form_method . '">';
|
887 |
+
$html .= '<select name="wcj-country" id="wcj-country" style="' . $select_style . '" class="' . $select_class . '" onchange="this.form.submit()">';
|
888 |
if ( empty( $shortcode_countries ) ) {
|
889 |
foreach ( $countries as $country_code => $country_name ) {
|
890 |
+
$data_icon = ( 'yes' === get_option( 'wcj_price_by_country_jquery_wselect_enabled', 'no' ) ? ' data-icon="' . wcj_plugin_url() . '/assets/images/flag-icons/' . strtolower( $country_code ) . '.png"' : '' );
|
|
|
|
|
|
|
|
|
|
|
891 |
$option_label = ( 'yes' === $atts['replace_with_currency'] ) ? $currencies_names_and_symbols[ wcj_get_currency_by_country( $country_code ) ] : $country_name;
|
892 |
+
$html .= '<option' . $data_icon . ' value="' . $country_code . '" ' . selected( $country_code, $selected_country, false ) . '>' . $option_label . '</option>';
|
|
|
893 |
}
|
894 |
} else {
|
895 |
foreach ( $shortcode_countries as $country_code ) {
|
896 |
if ( isset( $countries[ $country_code ] ) ) {
|
897 |
+
$data_icon = ( 'yes' === get_option( 'wcj_price_by_country_jquery_wselect_enabled', 'no' ) ? ' data-icon="' . wcj_plugin_url() . '/assets/images/flag-icons/' . strtolower( $country_code ) . '.png"' : '' );
|
|
|
|
|
|
|
|
|
|
|
898 |
$option_label = ( 'yes' === $atts['replace_with_currency'] ) ? $currencies_names_and_symbols[ wcj_get_currency_by_country( $country_code ) ] : $countries[ $country_code ];
|
899 |
+
$html .= '<option' . $data_icon . ' value="' . $country_code . '" ' . selected( $country_code, $selected_country, false ) . '>' . $option_label . '</option>';
|
|
|
900 |
}
|
901 |
}
|
902 |
}
|
|
|
903 |
$html .= '</select>';
|
|
|
904 |
$html .= '</form>';
|
|
|
905 |
return $html;
|
906 |
}
|
907 |
|
includes/shortcodes/class-wcj-shortcodes-orders.php
CHANGED
@@ -691,7 +691,7 @@ class WCJ_Orders_Shortcodes extends WCJ_Shortcodes {
|
|
691 |
/**
|
692 |
* wcj_order_items_total_weight.
|
693 |
*
|
694 |
-
* @version
|
695 |
* @deprecated 2.5.7
|
696 |
*/
|
697 |
function wcj_order_items_total_weight( $atts ) {
|
@@ -732,7 +732,7 @@ class WCJ_Orders_Shortcodes extends WCJ_Shortcodes {
|
|
732 |
*
|
733 |
* @version 3.5.0
|
734 |
* @since 3.4.0
|
735 |
-
* @todo (maybe) run `strip_tags` on `comment_content`
|
736 |
*/
|
737 |
function wcj_order_notes( $atts ) {
|
738 |
$notes = array();
|
691 |
/**
|
692 |
* wcj_order_items_total_weight.
|
693 |
*
|
694 |
+
* @version 2.5.7
|
695 |
* @deprecated 2.5.7
|
696 |
*/
|
697 |
function wcj_order_items_total_weight( $atts ) {
|
732 |
*
|
733 |
* @version 3.5.0
|
734 |
* @since 3.4.0
|
735 |
+
* @todo [dev] (maybe) run `strip_tags` on `comment_content`
|
736 |
*/
|
737 |
function wcj_order_notes( $atts ) {
|
738 |
$notes = array();
|
includes/shortcodes/class-wcj-shortcodes-products.php
CHANGED
@@ -2,7 +2,7 @@
|
|
2 |
/**
|
3 |
* Booster for WooCommerce - Shortcodes - Products
|
4 |
*
|
5 |
-
* @version
|
6 |
* @author Algoritmika Ltd.
|
7 |
*/
|
8 |
|
@@ -294,15 +294,12 @@ class WCJ_Products_Shortcodes extends WCJ_Shortcodes {
|
|
294 |
/**
|
295 |
* wcj_product_time_since_last_sale.
|
296 |
*
|
297 |
-
* @version
|
298 |
* @since 2.4.0
|
299 |
*/
|
300 |
function wcj_product_time_since_last_sale( $atts ) {
|
301 |
-
|
302 |
-
$
|
303 |
-
$saved_post = $post;
|
304 |
-
$offset = 0;
|
305 |
-
$block_size = 96;
|
306 |
while( true ) {
|
307 |
// Create args for new query
|
308 |
$args = array(
|
@@ -312,7 +309,8 @@ class WCJ_Products_Shortcodes extends WCJ_Shortcodes {
|
|
312 |
'offset' => $offset,
|
313 |
'orderby' => 'date',
|
314 |
'order' => 'DESC',
|
315 |
-
'date_query' => array(
|
|
|
316 |
);
|
317 |
// Run new query
|
318 |
$loop = new WP_Query( $args );
|
@@ -320,28 +318,19 @@ class WCJ_Products_Shortcodes extends WCJ_Shortcodes {
|
|
320 |
break;
|
321 |
}
|
322 |
// Analyze the results, i.e. orders
|
323 |
-
|
324 |
-
$order =
|
325 |
$items = $order->get_items();
|
326 |
foreach ( $items as $item ) {
|
327 |
// Run through all order's items
|
328 |
if ( $item['product_id'] == $atts['product_id'] ) {
|
329 |
// Found sale!
|
330 |
-
|
331 |
-
// wp_reset_postdata();
|
332 |
-
$woocommerce_loop = $saved_wc_loop;
|
333 |
-
$post = $saved_post;
|
334 |
-
setup_postdata( $post );
|
335 |
-
return $result;
|
336 |
}
|
337 |
}
|
338 |
-
|
339 |
$offset += $block_size;
|
340 |
}
|
341 |
-
// wp_reset_postdata();
|
342 |
-
$woocommerce_loop = $saved_wc_loop;
|
343 |
-
$post = $saved_post;
|
344 |
-
setup_postdata( $post );
|
345 |
// No sales found
|
346 |
return ( 'yes' === $atts['hide_if_no_sales'] ? '' : __( 'No sales yet.', 'woocommerce-jetpack' ) );
|
347 |
}
|
@@ -349,20 +338,24 @@ class WCJ_Products_Shortcodes extends WCJ_Shortcodes {
|
|
349 |
/**
|
350 |
* wcj_product_available_variations.
|
351 |
*
|
352 |
-
* @version
|
353 |
* @since 2.4.0
|
|
|
354 |
*/
|
355 |
function wcj_product_available_variations( $atts ) {
|
356 |
$return_html = '';
|
|
|
357 |
if ( $this->the_product->is_type( 'variable' ) ) {
|
358 |
$return_html .= '<table>';
|
359 |
foreach ( $this->the_product->get_available_variations() as $variation ) {
|
360 |
$return_html .= '<tr>';
|
361 |
foreach ( $variation['attributes'] as $attribute_slug => $attribute_name ) {
|
362 |
-
if ( '' == $attribute_name )
|
|
|
|
|
363 |
$return_html .= '<td>' . $attribute_name . '</td>';
|
364 |
}
|
365 |
-
$return_html .= '<td>' . $variation[
|
366 |
$return_html .= '</tr>';
|
367 |
}
|
368 |
$return_html .= '</table>';
|
@@ -833,7 +826,7 @@ class WCJ_Products_Shortcodes extends WCJ_Shortcodes {
|
|
833 |
/**
|
834 |
* wcj_product_wholesale_price_table.
|
835 |
*
|
836 |
-
* @version
|
837 |
* @todo (maybe) `if ( 'yes' === $atts['add_percent_row'] )` for 'fixed' or 'price_directly'; `if ( 'yes' === $atts['add_discount_row'] )` for 'percent' or 'price_directly'
|
838 |
*/
|
839 |
function wcj_product_wholesale_price_table( $atts ) {
|
@@ -857,6 +850,10 @@ class WCJ_Products_Shortcodes extends WCJ_Shortcodes {
|
|
857 |
}
|
858 |
}
|
859 |
|
|
|
|
|
|
|
|
|
860 |
$wholesale_price_levels = array();
|
861 |
if ( wcj_is_product_wholesale_enabled_per_product( $product_id ) ) {
|
862 |
for ( $i = 1; $i <= apply_filters( 'booster_option', 1, get_post_meta( $product_id, '_' . 'wcj_wholesale_price_levels_number' . $role_option_name_addon, true ) ); $i++ ) {
|
2 |
/**
|
3 |
* Booster for WooCommerce - Shortcodes - Products
|
4 |
*
|
5 |
+
* @version 4.0.0
|
6 |
* @author Algoritmika Ltd.
|
7 |
*/
|
8 |
|
294 |
/**
|
295 |
* wcj_product_time_since_last_sale.
|
296 |
*
|
297 |
+
* @version 4.0.0
|
298 |
* @since 2.4.0
|
299 |
*/
|
300 |
function wcj_product_time_since_last_sale( $atts ) {
|
301 |
+
$offset = 0;
|
302 |
+
$block_size = 512;
|
|
|
|
|
|
|
303 |
while( true ) {
|
304 |
// Create args for new query
|
305 |
$args = array(
|
309 |
'offset' => $offset,
|
310 |
'orderby' => 'date',
|
311 |
'order' => 'DESC',
|
312 |
+
'date_query' => array( 'after' => '-' . $atts['days_to_cover'] . ' days' ),
|
313 |
+
'fields' => 'ids',
|
314 |
);
|
315 |
// Run new query
|
316 |
$loop = new WP_Query( $args );
|
318 |
break;
|
319 |
}
|
320 |
// Analyze the results, i.e. orders
|
321 |
+
foreach ( $loop->posts as $order_id ) {
|
322 |
+
$order = wc_get_order( $order_id );
|
323 |
$items = $order->get_items();
|
324 |
foreach ( $items as $item ) {
|
325 |
// Run through all order's items
|
326 |
if ( $item['product_id'] == $atts['product_id'] ) {
|
327 |
// Found sale!
|
328 |
+
return sprintf( __( '%s ago', 'woocommerce-jetpack' ), human_time_diff( get_the_time( 'U', $order_id ), current_time( 'timestamp' ) ) );
|
|
|
|
|
|
|
|
|
|
|
329 |
}
|
330 |
}
|
331 |
+
}
|
332 |
$offset += $block_size;
|
333 |
}
|
|
|
|
|
|
|
|
|
334 |
// No sales found
|
335 |
return ( 'yes' === $atts['hide_if_no_sales'] ? '' : __( 'No sales yet.', 'woocommerce-jetpack' ) );
|
336 |
}
|
338 |
/**
|
339 |
* wcj_product_available_variations.
|
340 |
*
|
341 |
+
* @version 4.0.0
|
342 |
* @since 2.4.0
|
343 |
+
* @todo [dev] re-check `$attribute_name`
|
344 |
*/
|
345 |
function wcj_product_available_variations( $atts ) {
|
346 |
$return_html = '';
|
347 |
+
$param = ( isset( $atts['param'] ) ? $atts['param'] : 'price_html' );
|
348 |
if ( $this->the_product->is_type( 'variable' ) ) {
|
349 |
$return_html .= '<table>';
|
350 |
foreach ( $this->the_product->get_available_variations() as $variation ) {
|
351 |
$return_html .= '<tr>';
|
352 |
foreach ( $variation['attributes'] as $attribute_slug => $attribute_name ) {
|
353 |
+
if ( '' == $attribute_name ) {
|
354 |
+
$attribute_name = __( 'Any', 'woocommerce-jetpack' );
|
355 |
+
}
|
356 |
$return_html .= '<td>' . $attribute_name . '</td>';
|
357 |
}
|
358 |
+
$return_html .= '<td>' . $variation[ $param ] . '</td>';
|
359 |
$return_html .= '</tr>';
|
360 |
}
|
361 |
$return_html .= '</table>';
|
826 |
/**
|
827 |
* wcj_product_wholesale_price_table.
|
828 |
*
|
829 |
+
* @version 4.0.0
|
830 |
* @todo (maybe) `if ( 'yes' === $atts['add_percent_row'] )` for 'fixed' or 'price_directly'; `if ( 'yes' === $atts['add_discount_row'] )` for 'percent' or 'price_directly'
|
831 |
*/
|
832 |
function wcj_product_wholesale_price_table( $atts ) {
|
850 |
}
|
851 |
}
|
852 |
|
853 |
+
if ( isset( $atts['user_role'] ) ) {
|
854 |
+
$role_option_name_addon = '_' . $atts['user_role'];
|
855 |
+
}
|
856 |
+
|
857 |
$wholesale_price_levels = array();
|
858 |
if ( wcj_is_product_wholesale_enabled_per_product( $product_id ) ) {
|
859 |
for ( $i = 1; $i <= apply_filters( 'booster_option', 1, get_post_meta( $product_id, '_' . 'wcj_wholesale_price_levels_number' . $role_option_name_addon, true ) ); $i++ ) {
|
includes/widgets/class-wcj-widget-multicurrency.php
CHANGED
@@ -2,7 +2,7 @@
|
|
2 |
/**
|
3 |
* Booster for WooCommerce - Widget - Multicurrency
|
4 |
*
|
5 |
-
* @version
|
6 |
* @since 2.4.3
|
7 |
* @author Algoritmika Ltd.
|
8 |
*/
|
@@ -33,7 +33,7 @@ class WCJ_Widget_Multicurrency extends WCJ_Widget {
|
|
33 |
/**
|
34 |
* get_content.
|
35 |
*
|
36 |
-
* @version
|
37 |
* @since 3.1.0
|
38 |
*/
|
39 |
function get_content( $instance ) {
|
@@ -44,9 +44,15 @@ class WCJ_Widget_Multicurrency extends WCJ_Widget {
|
|
44 |
case 'link_list':
|
45 |
return do_shortcode( '[wcj_currency_select_link_list]' );
|
46 |
case 'radio_list':
|
47 |
-
return do_shortcode( '[wcj_currency_select_radio_list
|
|
|
|
|
48 |
default: // 'drop_down'
|
49 |
-
return do_shortcode( '[wcj_currency_select_drop_down_list
|
|
|
|
|
|
|
|
|
50 |
}
|
51 |
}
|
52 |
}
|
@@ -54,7 +60,7 @@ class WCJ_Widget_Multicurrency extends WCJ_Widget {
|
|
54 |
/**
|
55 |
* get_options.
|
56 |
*
|
57 |
-
* @version
|
58 |
* @since 3.1.0
|
59 |
*/
|
60 |
function get_options() {
|
@@ -78,6 +84,34 @@ class WCJ_Widget_Multicurrency extends WCJ_Widget {
|
|
78 |
),
|
79 |
'class' => 'widefat',
|
80 |
),
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
81 |
);
|
82 |
}
|
83 |
|
2 |
/**
|
3 |
* Booster for WooCommerce - Widget - Multicurrency
|
4 |
*
|
5 |
+
* @version 4.0.0
|
6 |
* @since 2.4.3
|
7 |
* @author Algoritmika Ltd.
|
8 |
*/
|
33 |
/**
|
34 |
* get_content.
|
35 |
*
|
36 |
+
* @version 4.0.0
|
37 |
* @since 3.1.0
|
38 |
*/
|
39 |
function get_content( $instance ) {
|
44 |
case 'link_list':
|
45 |
return do_shortcode( '[wcj_currency_select_link_list]' );
|
46 |
case 'radio_list':
|
47 |
+
return do_shortcode( '[wcj_currency_select_radio_list' .
|
48 |
+
' form_method="' . ( ! empty( $instance['form_method'] ) ? $instance['form_method'] : 'post' ) . '"' .
|
49 |
+
']' );
|
50 |
default: // 'drop_down'
|
51 |
+
return do_shortcode( '[wcj_currency_select_drop_down_list' .
|
52 |
+
' form_method="' . ( ! empty( $instance['form_method'] ) ? $instance['form_method'] : 'post' ) . '"' .
|
53 |
+
' class="' . ( ! empty( $instance['class'] ) ? $instance['class'] : '' ) . '"' .
|
54 |
+
' style="' . ( ! empty( $instance['style'] ) ? $instance['style'] : '' ) . '"' .
|
55 |
+
']' );
|
56 |
}
|
57 |
}
|
58 |
}
|
60 |
/**
|
61 |
* get_options.
|
62 |
*
|
63 |
+
* @version 4.0.0
|
64 |
* @since 3.1.0
|
65 |
*/
|
66 |
function get_options() {
|
84 |
),
|
85 |
'class' => 'widefat',
|
86 |
),
|
87 |
+
array(
|
88 |
+
'title' => __( 'Form Method', 'woocommerce-jetpack' ),
|
89 |
+
'desc' => '* ' . __( 'HTML form method for "Drop down" and "Radio list" types.', 'woocommerce-jetpack' ),
|
90 |
+
'id' => 'form_method',
|
91 |
+
'default' => 'post',
|
92 |
+
'type' => 'select',
|
93 |
+
'options' => array(
|
94 |
+
'post' => __( 'Post', 'woocommerce-jetpack' ),
|
95 |
+
'get' => __( 'Get', 'woocommerce-jetpack' ),
|
96 |
+
),
|
97 |
+
'class' => 'widefat',
|
98 |
+
),
|
99 |
+
array(
|
100 |
+
'title' => __( 'Class', 'woocommerce-jetpack' ),
|
101 |
+
'desc' => '* ' . __( 'HTML class for "Drop down" type.', 'woocommerce-jetpack' ),
|
102 |
+
'id' => 'class',
|
103 |
+
'default' => '',
|
104 |
+
'type' => 'text',
|
105 |
+
'class' => 'widefat',
|
106 |
+
),
|
107 |
+
array(
|
108 |
+
'title' => __( 'Style', 'woocommerce-jetpack' ),
|
109 |
+
'desc' => '* ' . __( 'HTML style for "Drop down" type.', 'woocommerce-jetpack' ),
|
110 |
+
'id' => 'style',
|
111 |
+
'default' => '',
|
112 |
+
'type' => 'text',
|
113 |
+
'class' => 'widefat',
|
114 |
+
),
|
115 |
);
|
116 |
}
|
117 |
|
langs/woocommerce-jetpack.pot
CHANGED
@@ -77,7 +77,7 @@ msgstr ""
|
|
77 |
|
78 |
#: includes/class-wcj-admin-bar.php:172
|
79 |
#: includes/admin/class-wc-settings-jetpack.php:416
|
80 |
-
#: includes/classes/class-wcj-module.php:
|
81 |
msgid "Documentation"
|
82 |
msgstr ""
|
83 |
|
@@ -96,7 +96,7 @@ msgstr ""
|
|
96 |
|
97 |
#: includes/class-wcj-admin-bar.php:245 includes/class-wcj-admin-bar.php:288
|
98 |
#: includes/class-wcj-admin-bar.php:602
|
99 |
-
#: includes/classes/class-wcj-module.php:
|
100 |
#: includes/settings/wcj-settings-wpml.php:74
|
101 |
msgid "Tools"
|
102 |
msgstr ""
|
@@ -111,16 +111,16 @@ msgstr ""
|
|
111 |
|
112 |
#: includes/class-wcj-admin-bar.php:276
|
113 |
#: includes/class-wcj-checkout-files-upload.php:218
|
114 |
-
#: includes/class-wcj-eu-vat-number.php:
|
115 |
#: includes/class-wcj-max-products-per-user.php:115
|
116 |
-
#: includes/class-wcj-orders.php:
|
117 |
#: includes/class-wcj-payment-gateways.php:91
|
118 |
#: includes/class-wcj-track-users.php:163
|
119 |
#: includes/class-wcj-track-users.php:251
|
120 |
#: includes/admin/class-wc-settings-jetpack.php:24
|
121 |
#: includes/admin/class-wc-settings-jetpack.php:221
|
122 |
-
#: includes/classes/class-wcj-module.php:
|
123 |
-
#: includes/classes/class-wcj-module.php:
|
124 |
#: includes/settings/wcj-settings-price-by-country.php:169
|
125 |
msgid "Booster"
|
126 |
msgstr ""
|
@@ -228,7 +228,7 @@ msgstr ""
|
|
228 |
|
229 |
#: includes/class-wcj-admin-bar.php:412
|
230 |
#: includes/settings/wcj-settings-stock.php:101
|
231 |
-
#: includes/shortcodes/class-wcj-shortcodes-products.php:
|
232 |
msgid "Out of stock"
|
233 |
msgstr ""
|
234 |
|
@@ -237,7 +237,7 @@ msgid "Most Stocked"
|
|
237 |
msgstr ""
|
238 |
|
239 |
#: includes/class-wcj-admin-bar.php:422
|
240 |
-
#: includes/class-wcj-eu-vat-number.php:
|
241 |
msgid "Taxes"
|
242 |
msgstr ""
|
243 |
|
@@ -452,7 +452,7 @@ msgstr ""
|
|
452 |
msgid "Customize admin products list."
|
453 |
msgstr ""
|
454 |
|
455 |
-
#: includes/class-wcj-admin-tools.php:24
|
456 |
msgid "Admin Tools"
|
457 |
msgstr ""
|
458 |
|
@@ -460,12 +460,16 @@ msgstr ""
|
|
460 |
msgid "Booster for WooCommerce debug and log tools."
|
461 |
msgstr ""
|
462 |
|
|
|
|
|
|
|
|
|
463 |
#: includes/class-wcj-admin-tools.php:32
|
464 |
msgid "Log."
|
465 |
msgstr ""
|
466 |
|
467 |
#: includes/class-wcj-admin-tools.php:33
|
468 |
-
#: includes/settings/wcj-settings-admin-tools.php:
|
469 |
msgid "Log"
|
470 |
msgstr ""
|
471 |
|
@@ -479,48 +483,48 @@ msgstr ""
|
|
479 |
msgid "Current PHP time limit: %s seconds."
|
480 |
msgstr ""
|
481 |
|
482 |
-
#: includes/class-wcj-admin-tools.php:
|
483 |
#: includes/settings/wcj-settings-export.php:157
|
484 |
#: includes/settings/wcj-settings-export.php:236
|
485 |
msgid "Product Meta"
|
486 |
msgstr ""
|
487 |
|
488 |
-
#: includes/class-wcj-admin-tools.php:
|
489 |
#: includes/settings/wcj-settings-export.php:86
|
490 |
#: includes/settings/wcj-settings-export.php:154
|
491 |
msgid "Order Meta"
|
492 |
msgstr ""
|
493 |
|
494 |
-
#: includes/class-wcj-admin-tools.php:
|
495 |
msgid "Order Items Meta"
|
496 |
msgstr ""
|
497 |
|
498 |
-
#: includes/class-wcj-admin-tools.php:
|
499 |
msgid "Item Key"
|
500 |
msgstr ""
|
501 |
|
502 |
-
#: includes/class-wcj-admin-tools.php:
|
503 |
msgid "Item Meta Key"
|
504 |
msgstr ""
|
505 |
|
506 |
-
#: includes/class-wcj-admin-tools.php:
|
507 |
msgid "Item Meta Value"
|
508 |
msgstr ""
|
509 |
|
510 |
-
#: includes/class-wcj-admin-tools.php:
|
511 |
msgid "Delete Log"
|
512 |
msgstr ""
|
513 |
|
514 |
-
#: includes/class-wcj-admin-tools.php:
|
515 |
#, php-format
|
516 |
msgid "Now: %s"
|
517 |
msgstr ""
|
518 |
|
519 |
-
#: includes/class-wcj-admin-tools.php:
|
520 |
msgid "Log is empty."
|
521 |
msgstr ""
|
522 |
|
523 |
-
#: includes/class-wcj-admin-tools.php:
|
524 |
msgid "NOT DEFINED"
|
525 |
msgstr ""
|
526 |
|
@@ -774,33 +778,33 @@ msgstr ""
|
|
774 |
msgid "Customize cross-sells products display."
|
775 |
msgstr ""
|
776 |
|
777 |
-
#: includes/class-wcj-crowdfunding.php:
|
778 |
msgid "Crowdfunding"
|
779 |
msgstr ""
|
780 |
|
781 |
-
#: includes/class-wcj-crowdfunding.php:
|
782 |
msgid "Add crowdfunding products to WooCommerce."
|
783 |
msgstr ""
|
784 |
|
785 |
-
#: includes/class-wcj-crowdfunding.php:
|
786 |
msgid "When enabled, module will add Crowdfunding metabox to product edit."
|
787 |
msgstr ""
|
788 |
|
789 |
-
#: includes/class-wcj-crowdfunding.php:
|
790 |
#, php-format
|
791 |
msgid ""
|
792 |
"To add crowdfunding info to the product, use <a href=\"%s\" target=\"_blank"
|
793 |
"\">Booster's crowdfunding shortcodes</a>."
|
794 |
msgstr ""
|
795 |
|
796 |
-
#: includes/class-wcj-crowdfunding.php:
|
797 |
#, php-format
|
798 |
msgid ""
|
799 |
"Shortcodes could be used for example in <a href=\"%s\">Product Info module</"
|
800 |
"a>."
|
801 |
msgstr ""
|
802 |
|
803 |
-
#: includes/class-wcj-crowdfunding.php:
|
804 |
#, php-format
|
805 |
msgid ""
|
806 |
"To change add to cart button labels use <a href=\"%s\">Add to Cart Labels "
|
@@ -1029,14 +1033,39 @@ msgstr ""
|
|
1029 |
msgid "Separate custom CSS for front and back end. Per product CSS."
|
1030 |
msgstr ""
|
1031 |
|
1032 |
-
#: includes/class-wcj-custom-js.php:
|
1033 |
msgid "Custom JS"
|
1034 |
msgstr ""
|
1035 |
|
1036 |
-
#: includes/class-wcj-custom-js.php:
|
1037 |
msgid "Separate custom JS for front and back end."
|
1038 |
msgstr ""
|
1039 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1040 |
#: includes/class-wcj-email-options.php:26
|
1041 |
#: includes/pdf-invoices/submodules/class-wcj-pdf-invoicing-emails.php:24
|
1042 |
#: includes/settings/wcj-settings-emails-verification.php:107
|
@@ -1199,7 +1228,7 @@ msgid "Booster: Send Email: %s"
|
|
1199 |
msgstr ""
|
1200 |
|
1201 |
#: includes/class-wcj-empty-cart-button.php:25
|
1202 |
-
#: includes/shortcodes/class-wcj-shortcodes-general.php:
|
1203 |
msgid "Empty Cart Button"
|
1204 |
msgstr ""
|
1205 |
|
@@ -1209,7 +1238,7 @@ msgid ""
|
|
1209 |
msgstr ""
|
1210 |
|
1211 |
#: includes/class-wcj-eu-vat-number.php:25
|
1212 |
-
#: includes/class-wcj-eu-vat-number.php:
|
1213 |
#: includes/settings/wcj-settings-eu-vat-number.php:22
|
1214 |
#: includes/settings/wcj-settings-eu-vat-number.php:29
|
1215 |
msgid "EU VAT Number"
|
@@ -1230,45 +1259,45 @@ msgstr ""
|
|
1230 |
msgid "Add all EU countries VAT standard rates to WooCommerce."
|
1231 |
msgstr ""
|
1232 |
|
1233 |
-
#: includes/class-wcj-eu-vat-number.php:
|
1234 |
msgid "Customer IP"
|
1235 |
msgstr ""
|
1236 |
|
1237 |
-
#: includes/class-wcj-eu-vat-number.php:
|
1238 |
-
#: includes/settings/wcj-settings-orders.php:
|
1239 |
#: includes/settings/wcj-settings-payment-gateways-by-country.php:27
|
1240 |
msgid "Country by IP"
|
1241 |
msgstr ""
|
1242 |
|
1243 |
-
#: includes/class-wcj-eu-vat-number.php:
|
1244 |
msgid "Customer EU VAT Number"
|
1245 |
msgstr ""
|
1246 |
|
1247 |
-
#: includes/class-wcj-eu-vat-number.php:
|
1248 |
msgid "Validate VAT and remove taxes"
|
1249 |
msgstr ""
|
1250 |
|
1251 |
-
#: includes/class-wcj-eu-vat-number.php:
|
1252 |
#: includes/settings/wcj-settings-eu-vat-number.php:165
|
1253 |
msgid "Validating VAT. Please wait..."
|
1254 |
msgstr ""
|
1255 |
|
1256 |
-
#: includes/class-wcj-eu-vat-number.php:
|
1257 |
#: includes/settings/wcj-settings-eu-vat-number.php:172
|
1258 |
msgid "VAT is valid."
|
1259 |
msgstr ""
|
1260 |
|
1261 |
-
#: includes/class-wcj-eu-vat-number.php:
|
1262 |
#: includes/settings/wcj-settings-eu-vat-number.php:179
|
1263 |
msgid "VAT is not valid."
|
1264 |
msgstr ""
|
1265 |
|
1266 |
-
#: includes/class-wcj-eu-vat-number.php:
|
1267 |
#: includes/settings/wcj-settings-eu-vat-number.php:187
|
1268 |
msgid "Validation failed. Please try again."
|
1269 |
msgstr ""
|
1270 |
|
1271 |
-
#: includes/class-wcj-eu-vat-number.php:
|
1272 |
#: includes/settings/wcj-settings-eu-vat-number.php:83
|
1273 |
msgid "<strong>EU VAT Number</strong> is not valid."
|
1274 |
msgstr ""
|
@@ -1298,68 +1327,68 @@ msgstr ""
|
|
1298 |
msgid "Export Customers (extracted from orders)."
|
1299 |
msgstr ""
|
1300 |
|
1301 |
-
#: includes/class-wcj-export-import.php:
|
1302 |
msgid "Customers are identified by billing email."
|
1303 |
msgstr ""
|
1304 |
|
1305 |
-
#: includes/class-wcj-export-import.php:
|
1306 |
msgid "Export Orders"
|
1307 |
msgstr ""
|
1308 |
|
1309 |
-
#: includes/class-wcj-export-import.php:
|
1310 |
msgid "Export Orders."
|
1311 |
msgstr ""
|
1312 |
|
1313 |
-
#: includes/class-wcj-export-import.php:
|
1314 |
msgid "Export Orders Items"
|
1315 |
msgstr ""
|
1316 |
|
1317 |
-
#: includes/class-wcj-export-import.php:
|
1318 |
msgid "Export Orders Items."
|
1319 |
msgstr ""
|
1320 |
|
1321 |
-
#: includes/class-wcj-export-import.php:
|
1322 |
msgid "Export Products"
|
1323 |
msgstr ""
|
1324 |
|
1325 |
-
#: includes/class-wcj-export-import.php:
|
1326 |
msgid "Export Products."
|
1327 |
msgstr ""
|
1328 |
|
1329 |
-
#: includes/class-wcj-export-import.php:
|
1330 |
-
#: includes/class-wcj-export-import.php:
|
1331 |
msgid "Filter by Billing Country"
|
1332 |
msgstr ""
|
1333 |
|
1334 |
-
#: includes/class-wcj-export-import.php:
|
1335 |
msgid "Filter by Product Title"
|
1336 |
msgstr ""
|
1337 |
|
1338 |
-
#: includes/class-wcj-export-import.php:
|
1339 |
#: includes/reports/wcj-class-reports-sales-daily.php:189
|
1340 |
#: includes/reports/wcj-class-reports-sales-gateways.php:137
|
1341 |
#: includes/settings/wcj-settings-orders.php:45
|
1342 |
msgid "Filter"
|
1343 |
msgstr ""
|
1344 |
|
1345 |
-
#: includes/class-wcj-export-import.php:
|
1346 |
#: includes/class-wcj-track-users.php:36
|
1347 |
msgid "All time"
|
1348 |
msgstr ""
|
1349 |
|
1350 |
-
#: includes/class-wcj-export-import.php:
|
1351 |
msgid "Custom:"
|
1352 |
msgstr ""
|
1353 |
|
1354 |
-
#: includes/class-wcj-export-import.php:
|
1355 |
msgid "Go"
|
1356 |
msgstr ""
|
1357 |
|
1358 |
-
#: includes/class-wcj-export-import.php:
|
1359 |
msgid "Download CSV"
|
1360 |
msgstr ""
|
1361 |
|
1362 |
-
#: includes/class-wcj-export-import.php:
|
1363 |
msgid "Download XML"
|
1364 |
msgstr ""
|
1365 |
|
@@ -1409,28 +1438,28 @@ msgstr ""
|
|
1409 |
msgid "Booster User Role"
|
1410 |
msgstr ""
|
1411 |
|
1412 |
-
#: includes/class-wcj-general.php:
|
1413 |
-
msgid "
|
1414 |
msgstr ""
|
1415 |
|
1416 |
-
#: includes/class-wcj-general.php:
|
1417 |
msgid "Role ID must not be numbers only!"
|
1418 |
msgstr ""
|
1419 |
|
1420 |
-
#: includes/class-wcj-general.php:
|
1421 |
msgid "Role successfully added!"
|
1422 |
msgstr ""
|
1423 |
|
1424 |
-
#: includes/class-wcj-general.php:
|
1425 |
msgid "Role already exists!"
|
1426 |
msgstr ""
|
1427 |
|
1428 |
-
#: includes/class-wcj-general.php:
|
1429 |
#, php-format
|
1430 |
msgid "Role %s successfully deleted!"
|
1431 |
msgstr ""
|
1432 |
|
1433 |
-
#: includes/class-wcj-general.php:
|
1434 |
#: includes/class-wcj-sku.php:536
|
1435 |
#: includes/reports/wcj-class-reports-sales.php:196
|
1436 |
#: includes/settings/wcj-settings-cross-sells.php:43
|
@@ -1442,7 +1471,7 @@ msgstr ""
|
|
1442 |
msgid "ID"
|
1443 |
msgstr ""
|
1444 |
|
1445 |
-
#: includes/class-wcj-general.php:
|
1446 |
#: includes/class-wcj-offer-price.php:172
|
1447 |
#: includes/export/class-wcj-fields-helper.php:282
|
1448 |
#: includes/tools/class-wcj-eu-countries-vat-rates-tool.php:70
|
@@ -1450,7 +1479,11 @@ msgstr ""
|
|
1450 |
msgid "Name"
|
1451 |
msgstr ""
|
1452 |
|
1453 |
-
#: includes/class-wcj-general.php:
|
|
|
|
|
|
|
|
|
1454 |
#: includes/class-wcj-product-by-user.php:197
|
1455 |
#: includes/settings/wcj-settings-pdf-invoicing-advanced.php:100
|
1456 |
#: includes/tools/class-wcj-order-statuses-tool.php:145
|
@@ -1458,7 +1491,7 @@ msgstr ""
|
|
1458 |
msgid "Actions"
|
1459 |
msgstr ""
|
1460 |
|
1461 |
-
#: includes/class-wcj-general.php:
|
1462 |
#: includes/class-wcj-payment-gateways.php:117
|
1463 |
#: includes/class-wcj-product-bulk-meta-editor.php:367
|
1464 |
#: includes/class-wcj-product-by-user.php:206
|
@@ -1469,15 +1502,15 @@ msgstr ""
|
|
1469 |
msgid "Delete"
|
1470 |
msgstr ""
|
1471 |
|
1472 |
-
#: includes/class-wcj-general.php:
|
1473 |
msgid "Existing Roles"
|
1474 |
msgstr ""
|
1475 |
|
1476 |
-
#: includes/class-wcj-general.php:
|
1477 |
msgid "Add New Role"
|
1478 |
msgstr ""
|
1479 |
|
1480 |
-
#: includes/class-wcj-general.php:
|
1481 |
#: includes/class-wcj-shipping-by-products.php:206
|
1482 |
#: includes/settings/wcj-settings-admin-orders-list.php:134
|
1483 |
#: includes/settings/wcj-settings-checkout-custom-fields.php:22
|
@@ -1491,9 +1524,10 @@ msgstr ""
|
|
1491 |
#: includes/settings/wcj-settings-order-custom-statuses.php:29
|
1492 |
#: includes/settings/wcj-settings-order-custom-statuses.php:37
|
1493 |
#: includes/settings/wcj-settings-order-custom-statuses.php:70
|
|
|
1494 |
#: includes/settings/wcj-settings-order-min-amount.php:53
|
1495 |
-
#: includes/settings/wcj-settings-orders.php:
|
1496 |
-
#: includes/settings/wcj-settings-orders.php:
|
1497 |
#: includes/settings/wcj-settings-pdf-invoicing-advanced.php:125
|
1498 |
#: includes/settings/wcj-settings-pdf-invoicing-advanced.php:183
|
1499 |
#: includes/settings/wcj-settings-product-by-condition.php:107
|
@@ -1511,7 +1545,8 @@ msgstr ""
|
|
1511 |
msgid "Add"
|
1512 |
msgstr ""
|
1513 |
|
1514 |
-
#: includes/class-wcj-general.php:
|
|
|
1515 |
#: includes/class-wcj-product-bulk-meta-editor.php:339
|
1516 |
#: includes/class-wcj-product-bulk-price-converter.php:148
|
1517 |
#: includes/class-wcj-sku.php:537
|
@@ -1520,12 +1555,13 @@ msgstr ""
|
|
1520 |
msgid "Product"
|
1521 |
msgstr ""
|
1522 |
|
1523 |
-
#: includes/class-wcj-general.php:
|
|
|
1524 |
#: includes/reports/wcj-class-reports-stock.php:270
|
1525 |
msgid "Category"
|
1526 |
msgstr ""
|
1527 |
|
1528 |
-
#: includes/class-wcj-general.php:
|
1529 |
msgid "Total Products:"
|
1530 |
msgstr ""
|
1531 |
|
@@ -1657,16 +1693,30 @@ msgstr ""
|
|
1657 |
#: includes/class-wcj-multicurrency.php:28
|
1658 |
#, php-format
|
1659 |
msgid ""
|
1660 |
-
"After setting currencies in the Currencies Options section below,
|
1661 |
-
"
|
1662 |
-
|
|
|
|
|
|
|
|
|
1663 |
msgstr ""
|
1664 |
|
1665 |
-
#: includes/class-wcj-multicurrency.php:
|
1666 |
#: includes/widgets/class-wcj-widget-multicurrency.php:27
|
1667 |
msgid "Booster - Multicurrency Switcher"
|
1668 |
msgstr ""
|
1669 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1670 |
#: includes/class-wcj-my-account.php:25
|
1671 |
msgid "My Account"
|
1672 |
msgstr ""
|
@@ -1684,7 +1734,7 @@ msgid "Addresses"
|
|
1684 |
msgstr ""
|
1685 |
|
1686 |
#: includes/class-wcj-my-account.php:35 includes/class-wcj-my-account.php:45
|
1687 |
-
#: includes/settings/wcj-settings-orders.php:
|
1688 |
msgid "Payment methods"
|
1689 |
msgstr ""
|
1690 |
|
@@ -1731,9 +1781,9 @@ msgstr ""
|
|
1731 |
#: includes/class-wcj-product-by-user.php:206
|
1732 |
#: includes/class-wcj-purchase-data.php:94
|
1733 |
#: includes/class-wcj-track-users.php:334
|
1734 |
-
#: includes/classes/class-wcj-module.php:
|
1735 |
-
#: includes/functions/wcj-functions-general.php:
|
1736 |
-
#: includes/functions/wcj-functions-html.php:
|
1737 |
#: includes/reports/wcj-class-reports-monthly-sales.php:351
|
1738 |
#: includes/settings/wcj-settings-empty-cart.php:85
|
1739 |
#: includes/shortcodes/class-wcj-shortcodes-products-add-form.php:364
|
@@ -1961,41 +2011,50 @@ msgstr ""
|
|
1961 |
msgid "No old slugs found."
|
1962 |
msgstr ""
|
1963 |
|
1964 |
-
#: includes/class-wcj-order-custom-statuses.php:
|
1965 |
msgid "Order Custom Statuses"
|
1966 |
msgstr ""
|
1967 |
|
1968 |
-
#: includes/class-wcj-order-custom-statuses.php:
|
1969 |
msgid "Custom statuses for WooCommerce orders."
|
1970 |
msgstr ""
|
1971 |
|
1972 |
-
#: includes/class-wcj-order-custom-statuses.php:
|
1973 |
#: includes/settings/wcj-settings-order-custom-statuses.php:14
|
1974 |
msgid "Custom Statuses"
|
1975 |
msgstr ""
|
1976 |
|
1977 |
-
#: includes/class-wcj-order-custom-statuses.php:
|
1978 |
msgid ""
|
1979 |
"Tool lets you add, edit or delete any custom status for WooCommerce orders."
|
1980 |
msgstr ""
|
1981 |
|
1982 |
-
#: includes/class-wcj-order-custom-statuses.php:
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1983 |
msgid "Processing"
|
1984 |
msgstr ""
|
1985 |
|
1986 |
-
#: includes/class-wcj-order-custom-statuses.php:
|
1987 |
msgid "Complete"
|
1988 |
msgstr ""
|
1989 |
|
1990 |
-
#: includes/class-wcj-order-custom-statuses.php:
|
1991 |
#, php-format
|
1992 |
msgid " <span class=\"count\">(%s)</span>"
|
1993 |
msgid_plural " <span class=\"count\">(%s)</span>"
|
1994 |
msgstr[0] ""
|
1995 |
msgstr[1] ""
|
1996 |
|
1997 |
-
#: includes/class-wcj-order-custom-statuses.php:
|
1998 |
-
#: includes/class-wcj-order-custom-statuses.php:
|
1999 |
msgid "Mark"
|
2000 |
msgstr ""
|
2001 |
|
@@ -2096,27 +2155,27 @@ msgid ""
|
|
2096 |
"regenerate download permissions for orders."
|
2097 |
msgstr ""
|
2098 |
|
2099 |
-
#: includes/class-wcj-orders.php:
|
2100 |
msgid "Order Navigation"
|
2101 |
msgstr ""
|
2102 |
|
2103 |
-
#: includes/class-wcj-orders.php:
|
2104 |
msgid "Previous order"
|
2105 |
msgstr ""
|
2106 |
|
2107 |
-
#: includes/class-wcj-orders.php:
|
2108 |
msgid "Next order"
|
2109 |
msgstr ""
|
2110 |
|
2111 |
-
#: includes/class-wcj-orders.php:
|
2112 |
msgid "No data."
|
2113 |
msgstr ""
|
2114 |
|
2115 |
-
#: includes/class-wcj-orders.php:
|
2116 |
msgid "Regenerate download permissions"
|
2117 |
msgstr ""
|
2118 |
|
2119 |
-
#: includes/class-wcj-orders.php:
|
2120 |
#, php-format
|
2121 |
msgid "Download permissions regenerated for %s order."
|
2122 |
msgid_plural "Download permissions regenerated for %s orders."
|
@@ -2157,11 +2216,11 @@ msgstr ""
|
|
2157 |
msgid "Set user roles to include/exclude for payment gateways to show up."
|
2158 |
msgstr ""
|
2159 |
|
2160 |
-
#: includes/class-wcj-payment-gateways-currency.php:
|
2161 |
msgid "Gateways Currency Converter"
|
2162 |
msgstr ""
|
2163 |
|
2164 |
-
#: includes/class-wcj-payment-gateways-currency.php:
|
2165 |
msgid "Currency converter for payment gateways."
|
2166 |
msgstr ""
|
2167 |
|
@@ -2363,32 +2422,32 @@ msgid ""
|
|
2363 |
"format options."
|
2364 |
msgstr ""
|
2365 |
|
2366 |
-
#: includes/class-wcj-price-labels.php:
|
2367 |
msgid "Custom Price Labels"
|
2368 |
msgstr ""
|
2369 |
|
2370 |
-
#: includes/class-wcj-price-labels.php:
|
2371 |
msgid "Create any custom price label for any product."
|
2372 |
msgstr ""
|
2373 |
|
2374 |
-
#: includes/class-wcj-price-labels.php:
|
2375 |
#: includes/settings/wcj-settings-price-labels.php:99
|
2376 |
msgid "Instead of the price"
|
2377 |
msgstr ""
|
2378 |
|
2379 |
-
#: includes/class-wcj-price-labels.php:
|
2380 |
msgid "Before the price"
|
2381 |
msgstr ""
|
2382 |
|
2383 |
-
#: includes/class-wcj-price-labels.php:
|
2384 |
msgid "Between regular and sale prices"
|
2385 |
msgstr ""
|
2386 |
|
2387 |
-
#: includes/class-wcj-price-labels.php:
|
2388 |
msgid "After the price"
|
2389 |
msgstr ""
|
2390 |
|
2391 |
-
#: includes/class-wcj-price-labels.php:
|
2392 |
#: includes/class-wcj-product-info.php:235
|
2393 |
#: includes/class-wcj-shipping-by-products.php:195
|
2394 |
#: includes/class-wcj-shipping-options.php:121
|
@@ -2399,11 +2458,13 @@ msgstr ""
|
|
2399 |
#: includes/settings/wcj-settings-admin-bar.php:34
|
2400 |
#: includes/settings/wcj-settings-admin-tools.php:20
|
2401 |
#: includes/settings/wcj-settings-admin-tools.php:27
|
2402 |
-
#: includes/settings/wcj-settings-admin-tools.php:
|
2403 |
-
#: includes/settings/wcj-settings-admin-tools.php:
|
2404 |
-
#: includes/settings/wcj-settings-admin-tools.php:
|
2405 |
-
#: includes/settings/wcj-settings-admin-tools.php:
|
2406 |
-
#: includes/settings/wcj-settings-admin-tools.php:
|
|
|
|
|
2407 |
#: includes/settings/wcj-settings-breadcrumbs.php:20
|
2408 |
#: includes/settings/wcj-settings-call-for-price.php:79
|
2409 |
#: includes/settings/wcj-settings-cart-customization.php:34
|
@@ -2434,7 +2495,7 @@ msgstr ""
|
|
2434 |
#: includes/settings/wcj-settings-currency-per-product.php:97
|
2435 |
#: includes/settings/wcj-settings-currency-per-product.php:104
|
2436 |
#: includes/settings/wcj-settings-currency-per-product.php:258
|
2437 |
-
#: includes/settings/wcj-settings-custom-css.php:
|
2438 |
#: includes/settings/wcj-settings-emails-verification.php:28
|
2439 |
#: includes/settings/wcj-settings-emails-verification.php:36
|
2440 |
#: includes/settings/wcj-settings-general.php:22
|
@@ -2443,6 +2504,7 @@ msgstr ""
|
|
2443 |
#: includes/settings/wcj-settings-general.php:123
|
2444 |
#: includes/settings/wcj-settings-general.php:174
|
2445 |
#: includes/settings/wcj-settings-global-discount.php:52
|
|
|
2446 |
#: includes/settings/wcj-settings-left-to-free-shipping.php:28
|
2447 |
#: includes/settings/wcj-settings-left-to-free-shipping.php:57
|
2448 |
#: includes/settings/wcj-settings-left-to-free-shipping.php:91
|
@@ -2469,9 +2531,10 @@ msgstr ""
|
|
2469 |
#: includes/settings/wcj-settings-order-quantities.php:195
|
2470 |
#: includes/settings/wcj-settings-orders.php:32
|
2471 |
#: includes/settings/wcj-settings-orders.php:60
|
2472 |
-
#: includes/settings/wcj-settings-orders.php:
|
|
|
2473 |
#: includes/settings/wcj-settings-payment-gateways-by-shipping.php:23
|
2474 |
-
#: includes/settings/wcj-settings-payment-gateways-currency.php:
|
2475 |
#: includes/settings/wcj-settings-payment-gateways-fees.php:66
|
2476 |
#: includes/settings/wcj-settings-payment-gateways-fees.php:82
|
2477 |
#: includes/settings/wcj-settings-pdf-invoicing-advanced.php:55
|
@@ -2521,10 +2584,11 @@ msgstr ""
|
|
2521 |
#: includes/settings/wcj-settings-product-by-user.php:107
|
2522 |
#: includes/settings/wcj-settings-product-info.php:35
|
2523 |
#: includes/settings/wcj-settings-product-info.php:68
|
2524 |
-
#: includes/settings/wcj-settings-product-input-fields.php:
|
2525 |
-
#: includes/settings/wcj-settings-product-input-fields.php:
|
2526 |
-
#: includes/settings/wcj-settings-product-input-fields.php:
|
2527 |
-
#: includes/settings/wcj-settings-product-input-fields.php:
|
|
|
2528 |
#: includes/settings/wcj-settings-product-open-pricing.php:100
|
2529 |
#: includes/settings/wcj-settings-product-open-pricing.php:107
|
2530 |
#: includes/settings/wcj-settings-product-open-pricing.php:128
|
@@ -2544,7 +2608,7 @@ msgstr ""
|
|
2544 |
#: includes/settings/wcj-settings-related-products.php:112
|
2545 |
#: includes/settings/wcj-settings-related-products.php:119
|
2546 |
#: includes/settings/wcj-settings-related-products.php:149
|
2547 |
-
#: includes/settings/wcj-settings-shipping-by-condition.php:
|
2548 |
#: includes/settings/wcj-settings-shipping-by-order-amount.php:21
|
2549 |
#: includes/settings/wcj-settings-shipping-calculator.php:20
|
2550 |
#: includes/settings/wcj-settings-shipping-calculator.php:27
|
@@ -2581,35 +2645,35 @@ msgstr ""
|
|
2581 |
msgid "Enable"
|
2582 |
msgstr ""
|
2583 |
|
2584 |
-
#: includes/class-wcj-price-labels.php:
|
2585 |
msgid "Hide on home page"
|
2586 |
msgstr ""
|
2587 |
|
2588 |
-
#: includes/class-wcj-price-labels.php:
|
2589 |
msgid "Hide on products page"
|
2590 |
msgstr ""
|
2591 |
|
2592 |
-
#: includes/class-wcj-price-labels.php:
|
2593 |
msgid "Hide on single"
|
2594 |
msgstr ""
|
2595 |
|
2596 |
-
#: includes/class-wcj-price-labels.php:
|
2597 |
msgid "Hide on all pages"
|
2598 |
msgstr ""
|
2599 |
|
2600 |
-
#: includes/class-wcj-price-labels.php:
|
2601 |
msgid "Hide on cart page only"
|
2602 |
msgstr ""
|
2603 |
|
2604 |
-
#: includes/class-wcj-price-labels.php:
|
2605 |
msgid "Hide for main price"
|
2606 |
msgstr ""
|
2607 |
|
2608 |
-
#: includes/class-wcj-price-labels.php:
|
2609 |
msgid "Hide for all variations"
|
2610 |
msgstr ""
|
2611 |
|
2612 |
-
#: includes/class-wcj-price-labels.php:
|
2613 |
msgid "Booster: Custom Price Labels"
|
2614 |
msgstr ""
|
2615 |
|
@@ -2923,7 +2987,7 @@ msgid "Products category"
|
|
2923 |
msgstr ""
|
2924 |
|
2925 |
#: includes/class-wcj-product-bulk-price-converter.php:262
|
2926 |
-
#: includes/shortcodes/class-wcj-shortcodes-products.php:
|
2927 |
msgid "Any"
|
2928 |
msgstr ""
|
2929 |
|
@@ -3140,7 +3204,7 @@ msgstr ""
|
|
3140 |
|
3141 |
#: includes/class-wcj-product-by-user.php:197
|
3142 |
#: includes/class-wcj-product-tabs.php:591
|
3143 |
-
#: includes/gateways/class-wc-gateway-wcj-custom.php:
|
3144 |
#: includes/input-fields/wcj-product-input-fields-options.php:51
|
3145 |
#: includes/settings/wcj-settings-admin-orders-list.php:172
|
3146 |
#: includes/settings/wcj-settings-checkout-fees.php:47
|
@@ -3165,7 +3229,7 @@ msgstr ""
|
|
3165 |
#: includes/shortcodes/class-wcj-shortcodes-products-add-form.php:334
|
3166 |
#: includes/widgets/class-wcj-widget-country-switcher.php:62
|
3167 |
#: includes/widgets/class-wcj-widget-left-to-free-shipping.php:52
|
3168 |
-
#: includes/widgets/class-wcj-widget-multicurrency.php:
|
3169 |
#: includes/widgets/class-wcj-widget-selector.php:52
|
3170 |
msgid "Title"
|
3171 |
msgstr ""
|
@@ -3181,7 +3245,7 @@ msgstr ""
|
|
3181 |
#: includes/admin/class-wc-settings-jetpack.php:480
|
3182 |
#: includes/admin/class-wc-settings-jetpack.php:492
|
3183 |
#: includes/admin/class-wc-settings-jetpack.php:501
|
3184 |
-
#: includes/functions/wcj-functions-general.php:
|
3185 |
msgid "Product Info"
|
3186 |
msgstr ""
|
3187 |
|
@@ -3229,10 +3293,12 @@ msgstr ""
|
|
3229 |
#: includes/settings/wcj-settings-cross-sells.php:14
|
3230 |
#: includes/settings/wcj-settings-custom-css.php:14
|
3231 |
#: includes/settings/wcj-settings-custom-js.php:14
|
|
|
3232 |
#: includes/settings/wcj-settings-empty-cart.php:14
|
3233 |
#: includes/settings/wcj-settings-eu-vat-number.php:15
|
3234 |
#: includes/settings/wcj-settings-global-discount.php:19
|
3235 |
#: includes/settings/wcj-settings-multicurrency-base-price.php:17
|
|
|
3236 |
#: includes/settings/wcj-settings-payment-gateways-icons.php:14
|
3237 |
#: includes/settings/wcj-settings-payment-gateways-per-category.php:18
|
3238 |
#: includes/settings/wcj-settings-price-by-user-role.php:14
|
@@ -3622,7 +3688,7 @@ msgstr ""
|
|
3622 |
#: includes/settings/wcj-settings-checkout-core-fields.php:71
|
3623 |
#: includes/settings/wcj-settings-currency-exchange-rates.php:142
|
3624 |
#: includes/settings/wcj-settings-order-numbers.php:46
|
3625 |
-
#: includes/settings/wcj-settings-orders.php:
|
3626 |
#: includes/settings/wcj-settings-product-add-to-cart.php:64
|
3627 |
#: includes/settings/meta-box/wcj-settings-meta-box-product-by-date.php:22
|
3628 |
#: includes/settings/meta-box/wcj-settings-meta-box-product-by-time.php:19
|
@@ -3829,19 +3895,21 @@ msgstr ""
|
|
3829 |
msgid "Customize products sale flash."
|
3830 |
msgstr ""
|
3831 |
|
3832 |
-
#: includes/class-wcj-sale-flash.php:
|
3833 |
#: includes/settings/wcj-settings-sale-flash.php:29
|
3834 |
-
#: includes/settings/wcj-settings-sale-flash.php:
|
3835 |
#: includes/settings/meta-box/wcj-settings-meta-box-sale-flash.php:26
|
3836 |
msgid "Sale!"
|
3837 |
msgstr ""
|
3838 |
|
3839 |
#: includes/class-wcj-shipping-by-cities.php:25
|
3840 |
-
msgid "Shipping Methods by
|
3841 |
msgstr ""
|
3842 |
|
3843 |
#: includes/class-wcj-shipping-by-cities.php:26
|
3844 |
-
msgid "
|
|
|
|
|
3845 |
msgstr ""
|
3846 |
|
3847 |
#: includes/class-wcj-shipping-by-cities.php:31
|
@@ -3852,6 +3920,22 @@ msgstr ""
|
|
3852 |
msgid "Otherwise enter cities one per line."
|
3853 |
msgstr ""
|
3854 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
3855 |
#: includes/class-wcj-shipping-by-order-amount.php:26
|
3856 |
#: includes/settings/wcj-settings-shipping-by-order-amount.php:33
|
3857 |
msgid "Shipping Methods by Min/Max Order Amount"
|
@@ -3940,7 +4024,7 @@ msgstr ""
|
|
3940 |
|
3941 |
#: includes/class-wcj-shipping-by-products.php:205
|
3942 |
#: includes/settings/wcj-settings-payment-gateways-by-shipping.php:25
|
3943 |
-
#: includes/settings/wcj-settings-shipping-by-condition.php:
|
3944 |
#: includes/settings/wcj-settings-shipping-by-order-amount.php:23
|
3945 |
#: includes/settings/wcj-settings-shipping-description.php:61
|
3946 |
#: includes/settings/wcj-settings-shipping-icons.php:63
|
@@ -3949,6 +4033,56 @@ msgstr ""
|
|
3949 |
msgid "Save changes after enabling this option."
|
3950 |
msgstr ""
|
3951 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
3952 |
#: includes/class-wcj-shipping-by-user-role.php:25
|
3953 |
msgid "Shipping Methods by Users"
|
3954 |
msgstr ""
|
@@ -4379,7 +4513,7 @@ msgstr ""
|
|
4379 |
#: includes/admin/class-wc-settings-jetpack.php:380
|
4380 |
#: includes/admin/class-wcj-tools.php:73
|
4381 |
#: includes/export/class-wcj-fields-helper.php:293
|
4382 |
-
#: includes/gateways/class-wc-gateway-wcj-custom.php:
|
4383 |
#: includes/settings/wcj-settings-checkout-custom-fields.php:172
|
4384 |
#: includes/settings/wcj-settings-eu-vat-number.php:34
|
4385 |
#: includes/settings/wcj-settings-product-by-user.php:13
|
@@ -4553,6 +4687,7 @@ msgstr ""
|
|
4553 |
#: includes/settings/wcj-settings-payment-gateways-by-currency.php:14
|
4554 |
#: includes/settings/wcj-settings-payment-gateways-by-shipping.php:37
|
4555 |
#: includes/settings/wcj-settings-payment-gateways-by-user-role.php:14
|
|
|
4556 |
#: includes/settings/wcj-settings-payment-gateways-min-max.php:65
|
4557 |
#: includes/settings/wcj-settings-reports.php:118
|
4558 |
msgid "Payment Gateways"
|
@@ -4574,19 +4709,19 @@ msgid ""
|
|
4574 |
"Methods and more."
|
4575 |
msgstr ""
|
4576 |
|
4577 |
-
#: includes/admin/wcj-modules-cats.php:
|
4578 |
msgid "PDF Invoicing & Packing Slips"
|
4579 |
msgstr ""
|
4580 |
|
4581 |
-
#: includes/admin/wcj-modules-cats.php:
|
4582 |
msgid "PDF Documents"
|
4583 |
msgstr ""
|
4584 |
|
4585 |
-
#: includes/admin/wcj-modules-cats.php:
|
4586 |
msgid "Emails & Misc."
|
4587 |
msgstr ""
|
4588 |
|
4589 |
-
#: includes/admin/wcj-modules-cats.php:
|
4590 |
msgid "Emails, Reports, Export, Admin Tools, General Options and more."
|
4591 |
msgstr ""
|
4592 |
|
@@ -4604,7 +4739,7 @@ msgstr ""
|
|
4604 |
msgid "Invisible"
|
4605 |
msgstr ""
|
4606 |
|
4607 |
-
#: includes/classes/class-wcj-module.php:
|
4608 |
#, php-format
|
4609 |
msgid ""
|
4610 |
"Booster: Free plugin's version is limited to only one \"%1$s\" product with "
|
@@ -4613,30 +4748,30 @@ msgid ""
|
|
4613 |
"\"%1$s\" products."
|
4614 |
msgstr ""
|
4615 |
|
4616 |
-
#: includes/classes/class-wcj-module.php:
|
4617 |
#, php-format
|
4618 |
msgid "Selected: %s."
|
4619 |
msgstr ""
|
4620 |
|
4621 |
-
#: includes/classes/class-wcj-module.php:
|
4622 |
msgid "Back to Module Settings"
|
4623 |
msgstr ""
|
4624 |
|
4625 |
-
#: includes/classes/class-wcj-module.php:
|
4626 |
#: includes/settings/wcj-settings-wpml.php:79
|
4627 |
msgid "Module Tools"
|
4628 |
msgstr ""
|
4629 |
|
4630 |
-
#: includes/classes/class-wcj-module.php:
|
4631 |
#: includes/settings/wcj-settings-checkout-core-fields.php:64
|
4632 |
msgid "enabled"
|
4633 |
msgstr ""
|
4634 |
|
4635 |
-
#: includes/classes/class-wcj-module.php:
|
4636 |
msgid "disabled"
|
4637 |
msgstr ""
|
4638 |
|
4639 |
-
#: includes/classes/class-wcj-module.php:
|
4640 |
#: includes/settings/wcj-settings-product-tabs.php:172
|
4641 |
#: includes/settings/wcj-settings-product-tabs.php:184
|
4642 |
#: includes/settings/wcj-settings-product-tabs.php:196
|
@@ -4644,27 +4779,27 @@ msgstr ""
|
|
4644 |
msgid "Deprecated"
|
4645 |
msgstr ""
|
4646 |
|
4647 |
-
#: includes/classes/class-wcj-module.php:
|
4648 |
msgid "Reset Settings"
|
4649 |
msgstr ""
|
4650 |
|
4651 |
-
#: includes/classes/class-wcj-module.php:
|
4652 |
msgid "Reset Module to Default Settings"
|
4653 |
msgstr ""
|
4654 |
|
4655 |
-
#: includes/classes/class-wcj-module.php:
|
4656 |
msgid "Reset Submodule to Default Settings"
|
4657 |
msgstr ""
|
4658 |
|
4659 |
-
#: includes/classes/class-wcj-module.php:
|
4660 |
msgid "Reset settings"
|
4661 |
msgstr ""
|
4662 |
|
4663 |
-
#: includes/classes/class-wcj-module.php:
|
4664 |
msgid "Module Options"
|
4665 |
msgstr ""
|
4666 |
|
4667 |
-
#: includes/classes/class-wcj-module.php:
|
4668 |
msgid "Enable Module"
|
4669 |
msgstr ""
|
4670 |
|
@@ -4673,14 +4808,14 @@ msgstr ""
|
|
4673 |
msgid "Company Name"
|
4674 |
msgstr ""
|
4675 |
|
4676 |
-
#: includes/classes/class-wcj-pdf-invoice.php:
|
4677 |
-
#: includes/functions/wcj-functions-general.php:
|
4678 |
#: includes/pdf-invoices/class-wcj-pdf-invoicing-report-tool.php:245
|
4679 |
msgid "Unexpected error"
|
4680 |
msgstr ""
|
4681 |
|
4682 |
#: includes/classes/class-wcj-shortcodes.php:109
|
4683 |
-
#: includes/shortcodes/class-wcj-shortcodes-general.php:
|
4684 |
#, php-format
|
4685 |
msgid "\"%s\" module is not enabled!"
|
4686 |
msgstr ""
|
@@ -4755,7 +4890,7 @@ msgid "Order status %s to %s"
|
|
4755 |
msgstr ""
|
4756 |
|
4757 |
#: includes/emails/class-wc-email-wcj-custom.php:229
|
4758 |
-
#: includes/gateways/class-wc-gateway-wcj-custom.php:
|
4759 |
#: includes/settings/wcj-settings-admin-products-list.php:19
|
4760 |
#: includes/settings/wcj-settings-admin-products-list.php:75
|
4761 |
#: includes/settings/wcj-settings-checkout-custom-fields.php:121
|
@@ -5008,7 +5143,7 @@ msgstr ""
|
|
5008 |
|
5009 |
#: includes/export/class-wcj-fields-helper.php:80
|
5010 |
#: includes/export/class-wcj-fields-helper.php:295
|
5011 |
-
#: includes/gateways/class-wc-gateway-wcj-custom.php:
|
5012 |
msgid "URL"
|
5013 |
msgstr ""
|
5014 |
|
@@ -5240,7 +5375,7 @@ msgstr ""
|
|
5240 |
#: includes/settings/meta-box/wcj-settings-meta-box-product-addons.php:45
|
5241 |
#: includes/shipping/class-wc-shipping-wcj-custom-with-shipping-zones.php:152
|
5242 |
#: includes/shipping/class-wc-shipping-wcj-custom.php:114
|
5243 |
-
#: includes/widgets/class-wcj-widget-multicurrency.php:
|
5244 |
msgid "Type"
|
5245 |
msgstr ""
|
5246 |
|
@@ -6519,92 +6654,92 @@ msgstr ""
|
|
6519 |
msgid "CoinMarketCap"
|
6520 |
msgstr ""
|
6521 |
|
6522 |
-
#: includes/functions/wcj-functions-general.php:
|
6523 |
#: includes/settings/wcj-settings-cross-sells.php:73
|
6524 |
#: includes/settings/wcj-settings-empty-cart.php:47
|
6525 |
msgid "Before cart"
|
6526 |
msgstr ""
|
6527 |
|
6528 |
-
#: includes/functions/wcj-functions-general.php:
|
6529 |
msgid "Before cart table"
|
6530 |
msgstr ""
|
6531 |
|
6532 |
-
#: includes/functions/wcj-functions-general.php:
|
6533 |
msgid "Before cart contents"
|
6534 |
msgstr ""
|
6535 |
|
6536 |
-
#: includes/functions/wcj-functions-general.php:
|
6537 |
msgid "Cart contents"
|
6538 |
msgstr ""
|
6539 |
|
6540 |
-
#: includes/functions/wcj-functions-general.php:
|
6541 |
msgid "Cart coupon"
|
6542 |
msgstr ""
|
6543 |
|
6544 |
-
#: includes/functions/wcj-functions-general.php:
|
6545 |
msgid "Cart actions"
|
6546 |
msgstr ""
|
6547 |
|
6548 |
-
#: includes/functions/wcj-functions-general.php:
|
6549 |
msgid "After cart contents"
|
6550 |
msgstr ""
|
6551 |
|
6552 |
-
#: includes/functions/wcj-functions-general.php:
|
6553 |
msgid "After cart table"
|
6554 |
msgstr ""
|
6555 |
|
6556 |
-
#: includes/functions/wcj-functions-general.php:
|
6557 |
#: includes/settings/wcj-settings-cross-sells.php:74
|
6558 |
msgid "Cart collaterals"
|
6559 |
msgstr ""
|
6560 |
|
6561 |
-
#: includes/functions/wcj-functions-general.php:
|
6562 |
#: includes/settings/wcj-settings-cross-sells.php:75
|
6563 |
#: includes/settings/wcj-settings-empty-cart.php:56
|
6564 |
msgid "After cart"
|
6565 |
msgstr ""
|
6566 |
|
6567 |
-
#: includes/functions/wcj-functions-general.php:
|
6568 |
msgid "Before cart totals"
|
6569 |
msgstr ""
|
6570 |
|
6571 |
-
#: includes/functions/wcj-functions-general.php:
|
6572 |
#: includes/settings/wcj-settings-empty-cart.php:49
|
6573 |
msgid "Cart totals: Before shipping"
|
6574 |
msgstr ""
|
6575 |
|
6576 |
-
#: includes/functions/wcj-functions-general.php:
|
6577 |
#: includes/settings/wcj-settings-empty-cart.php:50
|
6578 |
msgid "Cart totals: After shipping"
|
6579 |
msgstr ""
|
6580 |
|
6581 |
-
#: includes/functions/wcj-functions-general.php:
|
6582 |
#: includes/settings/wcj-settings-empty-cart.php:51
|
6583 |
msgid "Cart totals: Before order total"
|
6584 |
msgstr ""
|
6585 |
|
6586 |
-
#: includes/functions/wcj-functions-general.php:
|
6587 |
#: includes/settings/wcj-settings-empty-cart.php:52
|
6588 |
msgid "Cart totals: After order total"
|
6589 |
msgstr ""
|
6590 |
|
6591 |
-
#: includes/functions/wcj-functions-general.php:
|
6592 |
msgid "Proceed to checkout"
|
6593 |
msgstr ""
|
6594 |
|
6595 |
-
#: includes/functions/wcj-functions-general.php:
|
6596 |
msgid "After cart totals"
|
6597 |
msgstr ""
|
6598 |
|
6599 |
-
#: includes/functions/wcj-functions-general.php:
|
6600 |
msgid "Before shipping calculator"
|
6601 |
msgstr ""
|
6602 |
|
6603 |
-
#: includes/functions/wcj-functions-general.php:
|
6604 |
msgid "After shipping calculator"
|
6605 |
msgstr ""
|
6606 |
|
6607 |
-
#: includes/functions/wcj-functions-general.php:
|
6608 |
msgid "If cart is empty"
|
6609 |
msgstr ""
|
6610 |
|
@@ -6726,139 +6861,139 @@ msgstr ""
|
|
6726 |
msgid "You have Free delivery"
|
6727 |
msgstr ""
|
6728 |
|
6729 |
-
#: includes/gateways/class-wc-gateway-wcj-custom.php:
|
6730 |
msgid "Enable Custom Payment"
|
6731 |
msgstr ""
|
6732 |
|
6733 |
-
#: includes/gateways/class-wc-gateway-wcj-custom.php:
|
6734 |
#: includes/shipping/class-wc-shipping-wcj-custom-with-shipping-zones.php:146
|
6735 |
#: includes/shipping/class-wc-shipping-wcj-custom.php:109
|
6736 |
msgid "This controls the title which the user sees during checkout."
|
6737 |
msgstr ""
|
6738 |
|
6739 |
-
#: includes/gateways/class-wc-gateway-wcj-custom.php:
|
6740 |
msgid "Custom Payment"
|
6741 |
msgstr ""
|
6742 |
|
6743 |
-
#: includes/gateways/class-wc-gateway-wcj-custom.php:
|
6744 |
msgid "Payment method description that the customer will see on your checkout."
|
6745 |
msgstr ""
|
6746 |
|
6747 |
-
#: includes/gateways/class-wc-gateway-wcj-custom.php:
|
6748 |
msgid "You can add input fields with [wcj_input_field] shortcode."
|
6749 |
msgstr ""
|
6750 |
|
6751 |
-
#: includes/gateways/class-wc-gateway-wcj-custom.php:
|
6752 |
msgid "Custom Payment Description."
|
6753 |
msgstr ""
|
6754 |
|
6755 |
-
#: includes/gateways/class-wc-gateway-wcj-custom.php:
|
6756 |
msgid "Instructions"
|
6757 |
msgstr ""
|
6758 |
|
6759 |
-
#: includes/gateways/class-wc-gateway-wcj-custom.php:
|
6760 |
msgid "Instructions that will be added to the thank you page."
|
6761 |
msgstr ""
|
6762 |
|
6763 |
-
#: includes/gateways/class-wc-gateway-wcj-custom.php:
|
6764 |
msgid "Email Instructions"
|
6765 |
msgstr ""
|
6766 |
|
6767 |
-
#: includes/gateways/class-wc-gateway-wcj-custom.php:
|
6768 |
msgid "Instructions that will be added to the emails."
|
6769 |
msgstr ""
|
6770 |
|
6771 |
-
#: includes/gateways/class-wc-gateway-wcj-custom.php:
|
6772 |
msgid "Icon"
|
6773 |
msgstr ""
|
6774 |
|
6775 |
-
#: includes/gateways/class-wc-gateway-wcj-custom.php:
|
6776 |
#: includes/settings/wcj-settings-payment-gateways-icons.php:16
|
6777 |
msgid ""
|
6778 |
"If you want to show an image next to the gateway's name on the frontend, "
|
6779 |
"enter a URL to an image."
|
6780 |
msgstr ""
|
6781 |
|
6782 |
-
#: includes/gateways/class-wc-gateway-wcj-custom.php:
|
6783 |
#: includes/settings/wcj-settings-shipping-by-order-amount.php:57
|
6784 |
msgid "Minimum order amount"
|
6785 |
msgstr ""
|
6786 |
|
6787 |
-
#: includes/gateways/class-wc-gateway-wcj-custom.php:
|
6788 |
msgid ""
|
6789 |
"If you want to set minimum order amount (excluding fees) to show this "
|
6790 |
"gateway on frontend, enter a number here. Set to 0 to disable."
|
6791 |
msgstr ""
|
6792 |
|
6793 |
-
#: includes/gateways/class-wc-gateway-wcj-custom.php:
|
6794 |
#: includes/settings/wcj-settings-payment-gateways-by-shipping.php:59
|
6795 |
msgid "Enable for shipping methods"
|
6796 |
msgstr ""
|
6797 |
|
6798 |
-
#: includes/gateways/class-wc-gateway-wcj-custom.php:
|
6799 |
msgid ""
|
6800 |
"If gateway is only available for certain shipping methods, set it up here. "
|
6801 |
"Leave blank to enable for all methods."
|
6802 |
msgstr ""
|
6803 |
|
6804 |
-
#: includes/gateways/class-wc-gateway-wcj-custom.php:
|
6805 |
#: includes/settings/wcj-settings-payment-gateways-by-shipping.php:66
|
6806 |
msgid "Select shipping methods"
|
6807 |
msgstr ""
|
6808 |
|
6809 |
-
#: includes/gateways/class-wc-gateway-wcj-custom.php:
|
6810 |
msgid "Enable for virtual orders"
|
6811 |
msgstr ""
|
6812 |
|
6813 |
-
#: includes/gateways/class-wc-gateway-wcj-custom.php:
|
6814 |
msgid "Enable gateway if the order is virtual"
|
6815 |
msgstr ""
|
6816 |
|
6817 |
-
#: includes/gateways/class-wc-gateway-wcj-custom.php:
|
6818 |
#: includes/settings/wcj-settings-order-custom-statuses.php:19
|
6819 |
msgid "Default Order Status"
|
6820 |
msgstr ""
|
6821 |
|
6822 |
-
#: includes/gateways/class-wc-gateway-wcj-custom.php:
|
6823 |
msgid "Enable Custom Statuses feature to add custom statuses to the list."
|
6824 |
msgstr ""
|
6825 |
|
6826 |
-
#: includes/gateways/class-wc-gateway-wcj-custom.php:
|
6827 |
msgid "Send Additional Emails"
|
6828 |
msgstr ""
|
6829 |
|
6830 |
-
#: includes/gateways/class-wc-gateway-wcj-custom.php:
|
6831 |
msgid "Send to Admin"
|
6832 |
msgstr ""
|
6833 |
|
6834 |
-
#: includes/gateways/class-wc-gateway-wcj-custom.php:
|
6835 |
msgid "Send to Customer"
|
6836 |
msgstr ""
|
6837 |
|
6838 |
-
#: includes/gateways/class-wc-gateway-wcj-custom.php:
|
6839 |
msgid ""
|
6840 |
"This may help if you are using pending or custom default status and not "
|
6841 |
"getting new order emails."
|
6842 |
msgstr ""
|
6843 |
|
6844 |
-
#: includes/gateways/class-wc-gateway-wcj-custom.php:
|
6845 |
msgid "Custom Return URL (Thank You Page)"
|
6846 |
msgstr ""
|
6847 |
|
6848 |
-
#: includes/gateways/class-wc-gateway-wcj-custom.php:
|
6849 |
msgid "Enter full URL with http(s)."
|
6850 |
msgstr ""
|
6851 |
|
6852 |
-
#: includes/gateways/class-wc-gateway-wcj-custom.php:
|
6853 |
msgid "Optional. Leave blank to use default URL."
|
6854 |
msgstr ""
|
6855 |
|
6856 |
-
#: includes/gateways/class-wc-gateway-wcj-custom.php:
|
6857 |
#: includes/settings/wcj-settings-payment-gateways.php:38
|
6858 |
msgid "Custom Gateway"
|
6859 |
msgstr ""
|
6860 |
|
6861 |
-
#: includes/gateways/class-wc-gateway-wcj-custom.php:
|
6862 |
msgid "Booster for WooCommerce: Custom Payment Gateway"
|
6863 |
msgstr ""
|
6864 |
|
@@ -6872,7 +7007,7 @@ msgstr ""
|
|
6872 |
|
6873 |
#: includes/input-fields/class-wcj-product-input-fields-core.php:167
|
6874 |
#: includes/input-fields/class-wcj-product-input-fields-core.php:322
|
6875 |
-
#: includes/settings/wcj-settings-product-input-fields.php:
|
6876 |
msgid "Product Input Field"
|
6877 |
msgstr ""
|
6878 |
|
@@ -6884,7 +7019,7 @@ msgstr ""
|
|
6884 |
msgid "File is too big!"
|
6885 |
msgstr ""
|
6886 |
|
6887 |
-
#: includes/input-fields/class-wcj-product-input-fields-core.php:
|
6888 |
msgid "Select a country…"
|
6889 |
msgstr ""
|
6890 |
|
@@ -7302,7 +7437,7 @@ msgstr ""
|
|
7302 |
msgid ""
|
7303 |
"This option is disabled with \"Disable Saving PDFs in PHP directory for "
|
7304 |
"temporary files\" checkbox in <a href=\"%s\" target=\"_blank\">WooCommerce > "
|
7305 |
-
"Settings > Booster >
|
7306 |
msgstr ""
|
7307 |
|
7308 |
#: includes/pdf-invoices/class-wcj-pdf-invoicing-report-tool.php:80
|
@@ -7446,10 +7581,14 @@ msgid ""
|
|
7446 |
msgstr ""
|
7447 |
|
7448 |
#: includes/pdf-invoices/submodules/class-wcj-pdf-invoicing-footer.php:21
|
|
|
|
|
7449 |
msgid "Footer"
|
7450 |
msgstr ""
|
7451 |
|
7452 |
#: includes/pdf-invoices/submodules/class-wcj-pdf-invoicing-header.php:23
|
|
|
|
|
7453 |
msgid "Header"
|
7454 |
msgstr ""
|
7455 |
|
@@ -7822,14 +7961,14 @@ msgstr ""
|
|
7822 |
#: includes/settings/wcj-settings-order-quantities.php:79
|
7823 |
#: includes/settings/wcj-settings-order-quantities.php:180
|
7824 |
#: includes/settings/wcj-settings-order-quantities.php:213
|
7825 |
-
#: includes/settings/wcj-settings-orders.php:
|
7826 |
#: includes/settings/wcj-settings-price-formats.php:37
|
7827 |
#: includes/settings/wcj-settings-product-add-to-cart.php:273
|
7828 |
#: includes/settings/wcj-settings-product-listings.php:138
|
7829 |
#: includes/settings/wcj-settings-sale-flash.php:20
|
7830 |
#: includes/settings/wcj-settings-sale-flash.php:65
|
7831 |
#: includes/settings/wcj-settings-sale-flash.php:90
|
7832 |
-
#: includes/settings/wcj-settings-shipping-by-condition.php:
|
7833 |
#: includes/settings/wcj-settings-shipping-options.php:21
|
7834 |
#: includes/settings/wcj-settings-stock.php:20
|
7835 |
#: includes/settings/wcj-settings-stock.php:87
|
@@ -8356,24 +8495,39 @@ msgstr ""
|
|
8356 |
msgid "Show Booster Menus Only to Admin"
|
8357 |
msgstr ""
|
8358 |
|
8359 |
-
#: includes/settings/wcj-settings-admin-tools.php:
|
8360 |
-
msgid "
|
8361 |
msgstr ""
|
8362 |
|
8363 |
-
#: includes/settings/wcj-settings-admin-tools.php:
|
8364 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
8365 |
msgstr ""
|
8366 |
|
8367 |
-
#: includes/settings/wcj-settings-admin-tools.php:
|
|
|
|
|
|
|
|
|
8368 |
msgid "PHP Memory Limit"
|
8369 |
msgstr ""
|
8370 |
|
8371 |
-
#: includes/settings/wcj-settings-admin-tools.php:
|
8372 |
msgid "megabytes."
|
8373 |
msgstr ""
|
8374 |
|
8375 |
-
#: includes/settings/wcj-settings-admin-tools.php:
|
8376 |
-
#: includes/settings/wcj-settings-admin-tools.php:
|
8377 |
#: includes/settings/wcj-settings-offer-price.php:172
|
8378 |
#: includes/settings/wcj-settings-offer-price.php:180
|
8379 |
#: includes/settings/meta-box/wcj-settings-meta-box-offer-price.php:43
|
@@ -8381,30 +8535,42 @@ msgstr ""
|
|
8381 |
msgid "Set zero to disable."
|
8382 |
msgstr ""
|
8383 |
|
8384 |
-
#: includes/settings/wcj-settings-admin-tools.php:
|
8385 |
msgid "PHP Time Limit"
|
8386 |
msgstr ""
|
8387 |
|
8388 |
-
#: includes/settings/wcj-settings-admin-tools.php:
|
8389 |
msgid "seconds."
|
8390 |
msgstr ""
|
8391 |
|
8392 |
-
#: includes/settings/wcj-settings-admin-tools.php:
|
8393 |
-
msgid "System Info"
|
8394 |
-
msgstr ""
|
8395 |
-
|
8396 |
-
#: includes/settings/wcj-settings-admin-tools.php:80
|
8397 |
msgid "Show Order Meta"
|
8398 |
msgstr ""
|
8399 |
|
8400 |
-
#: includes/settings/wcj-settings-admin-tools.php:
|
8401 |
msgid "Show Product Meta"
|
8402 |
msgstr ""
|
8403 |
|
8404 |
-
#: includes/settings/wcj-settings-admin-tools.php:
|
8405 |
msgid "Show Variable Product Pricing Table"
|
8406 |
msgstr ""
|
8407 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
8408 |
#: includes/settings/wcj-settings-breadcrumbs.php:19
|
8409 |
msgid "Change Breadcrumbs Home URL"
|
8410 |
msgstr ""
|
@@ -8572,7 +8738,7 @@ msgstr ""
|
|
8572 |
#: includes/settings/wcj-settings-payment-gateways-min-max.php:15
|
8573 |
#: includes/settings/wcj-settings-price-formats.php:15
|
8574 |
#: includes/settings/wcj-settings-product-tabs.php:15
|
8575 |
-
#: includes/settings/wcj-settings-shipping-by-condition.php:
|
8576 |
#: includes/settings/wcj-settings-shipping-by-order-amount.php:15
|
8577 |
#: includes/settings/wcj-settings-shipping-time.php:25
|
8578 |
#: includes/settings/wcj-settings-wpml.php:22
|
@@ -8758,7 +8924,7 @@ msgid "Custom Fields Number"
|
|
8758 |
msgstr ""
|
8759 |
|
8760 |
#: includes/settings/wcj-settings-checkout-custom-fields.php:96
|
8761 |
-
#: includes/settings/wcj-settings-product-input-fields.php:
|
8762 |
msgid "Click Save changes after you change this number."
|
8763 |
msgstr ""
|
8764 |
|
@@ -8787,6 +8953,7 @@ msgstr ""
|
|
8787 |
|
8788 |
#: includes/settings/wcj-settings-checkout-custom-fields.php:199
|
8789 |
#: includes/settings/wcj-settings-eu-vat-number.php:63
|
|
|
8790 |
msgid "Class"
|
8791 |
msgstr ""
|
8792 |
|
@@ -9205,7 +9372,7 @@ msgstr ""
|
|
9205 |
#: includes/settings/wcj-settings-my-account.php:143
|
9206 |
#: includes/settings/wcj-settings-my-account.php:203
|
9207 |
#: includes/settings/wcj-settings-sale-flash.php:27
|
9208 |
-
#: includes/settings/wcj-settings-sale-flash.php:
|
9209 |
#: includes/settings/meta-box/wcj-settings-meta-box-add-to-cart-button-visibility.php:30
|
9210 |
#: includes/settings/meta-box/wcj-settings-meta-box-add-to-cart-button-visibility.php:49
|
9211 |
msgid "You can use HTML and/or shortcodes here."
|
@@ -9421,24 +9588,24 @@ msgid "Add notice"
|
|
9421 |
msgstr ""
|
9422 |
|
9423 |
#: includes/settings/wcj-settings-checkout-files-upload.php:250
|
9424 |
-
#: includes/settings/wcj-settings-product-input-fields.php:
|
9425 |
msgid "Emails Options"
|
9426 |
msgstr ""
|
9427 |
|
9428 |
#: includes/settings/wcj-settings-checkout-files-upload.php:255
|
9429 |
-
#: includes/settings/wcj-settings-product-input-fields.php:
|
9430 |
msgid "Attach Files to Admin's New Order Emails"
|
9431 |
msgstr ""
|
9432 |
|
9433 |
#: includes/settings/wcj-settings-checkout-files-upload.php:256
|
9434 |
#: includes/settings/wcj-settings-checkout-files-upload.php:263
|
9435 |
-
#: includes/settings/wcj-settings-product-input-fields.php:
|
9436 |
-
#: includes/settings/wcj-settings-product-input-fields.php:
|
9437 |
msgid "Attach"
|
9438 |
msgstr ""
|
9439 |
|
9440 |
#: includes/settings/wcj-settings-checkout-files-upload.php:262
|
9441 |
-
#: includes/settings/wcj-settings-product-input-fields.php:
|
9442 |
msgid "Attach Files to Customer's Processing Order Emails"
|
9443 |
msgstr ""
|
9444 |
|
@@ -9470,8 +9637,8 @@ msgstr ""
|
|
9470 |
#: includes/settings/wcj-settings-checkout-files-upload.php:298
|
9471 |
#: includes/settings/wcj-settings-checkout-files-upload.php:352
|
9472 |
#: includes/settings/wcj-settings-checkout-files-upload.php:393
|
9473 |
-
#: includes/settings/wcj-settings-product-addons.php:
|
9474 |
-
#: includes/settings/wcj-settings-product-addons.php:
|
9475 |
msgid "Before"
|
9476 |
msgstr ""
|
9477 |
|
@@ -9493,8 +9660,8 @@ msgstr ""
|
|
9493 |
#: includes/settings/wcj-settings-checkout-files-upload.php:321
|
9494 |
#: includes/settings/wcj-settings-checkout-files-upload.php:367
|
9495 |
#: includes/settings/wcj-settings-checkout-files-upload.php:408
|
9496 |
-
#: includes/settings/wcj-settings-product-addons.php:
|
9497 |
-
#: includes/settings/wcj-settings-product-addons.php:
|
9498 |
msgid "After"
|
9499 |
msgstr ""
|
9500 |
|
@@ -9534,8 +9701,8 @@ msgstr ""
|
|
9534 |
#: includes/settings/wcj-settings-pdf-invoicing-advanced.php:43
|
9535 |
#: includes/settings/wcj-settings-product-by-date.php:117
|
9536 |
#: includes/settings/wcj-settings-product-custom-info.php:186
|
9537 |
-
#: includes/settings/wcj-settings-product-input-fields.php:
|
9538 |
-
#: includes/settings/wcj-settings-shipping-by-condition.php:
|
9539 |
msgid "Advanced Options"
|
9540 |
msgstr ""
|
9541 |
|
@@ -9747,7 +9914,7 @@ msgid "No changes (default)"
|
|
9747 |
msgstr ""
|
9748 |
|
9749 |
#: includes/settings/wcj-settings-cross-sells.php:79
|
9750 |
-
#: includes/settings/wcj-settings-product-input-fields.php:
|
9751 |
#: includes/settings/wcj-settings-upsells.php:66
|
9752 |
msgid "Position priority"
|
9753 |
msgstr ""
|
@@ -9826,7 +9993,7 @@ msgstr ""
|
|
9826 |
#: includes/settings/wcj-settings-currency-per-product.php:119
|
9827 |
#: includes/settings/wcj-settings-multicurrency-base-price.php:22
|
9828 |
#: includes/settings/wcj-settings-multicurrency.php:22
|
9829 |
-
#: includes/settings/wcj-settings-payment-gateways-currency.php:
|
9830 |
#: includes/settings/wcj-settings-price-by-country.php:282
|
9831 |
msgid "Exchange Rates Updates"
|
9832 |
msgstr ""
|
@@ -10005,7 +10172,7 @@ msgstr ""
|
|
10005 |
#: includes/settings/wcj-settings-currency-per-product.php:124
|
10006 |
#: includes/settings/wcj-settings-multicurrency-base-price.php:27
|
10007 |
#: includes/settings/wcj-settings-multicurrency.php:28
|
10008 |
-
#: includes/settings/wcj-settings-payment-gateways-currency.php:
|
10009 |
#: includes/settings/wcj-settings-price-by-country.php:287
|
10010 |
msgid "Enter Rates Manually"
|
10011 |
msgstr ""
|
@@ -10013,7 +10180,7 @@ msgstr ""
|
|
10013 |
#: includes/settings/wcj-settings-currency-per-product.php:125
|
10014 |
#: includes/settings/wcj-settings-multicurrency-base-price.php:28
|
10015 |
#: includes/settings/wcj-settings-multicurrency.php:29
|
10016 |
-
#: includes/settings/wcj-settings-payment-gateways-currency.php:
|
10017 |
#: includes/settings/wcj-settings-price-by-country.php:288
|
10018 |
msgid "Automatically via Currency Exchange Rates module"
|
10019 |
msgstr ""
|
@@ -10021,7 +10188,7 @@ msgstr ""
|
|
10021 |
#: includes/settings/wcj-settings-currency-per-product.php:128
|
10022 |
#: includes/settings/wcj-settings-multicurrency-base-price.php:31
|
10023 |
#: includes/settings/wcj-settings-multicurrency.php:32
|
10024 |
-
#: includes/settings/wcj-settings-payment-gateways-currency.php:
|
10025 |
#: includes/settings/wcj-settings-price-by-country.php:291
|
10026 |
msgid "Visit"
|
10027 |
msgstr ""
|
@@ -10029,7 +10196,7 @@ msgstr ""
|
|
10029 |
#: includes/settings/wcj-settings-currency-per-product.php:128
|
10030 |
#: includes/settings/wcj-settings-multicurrency-base-price.php:31
|
10031 |
#: includes/settings/wcj-settings-multicurrency.php:32
|
10032 |
-
#: includes/settings/wcj-settings-payment-gateways-currency.php:
|
10033 |
#: includes/settings/wcj-settings-price-by-country.php:291
|
10034 |
msgid "Currency Exchange Rates module"
|
10035 |
msgstr ""
|
@@ -10107,23 +10274,28 @@ msgid "Currency Symbol"
|
|
10107 |
msgstr ""
|
10108 |
|
10109 |
#: includes/settings/wcj-settings-custom-css.php:19
|
|
|
|
|
|
|
|
|
|
|
10110 |
msgid "Custom CSS - Front end (Customers)"
|
10111 |
msgstr ""
|
10112 |
|
10113 |
-
#: includes/settings/wcj-settings-custom-css.php:
|
10114 |
msgid "Custom CSS - Back end (Admin)"
|
10115 |
msgstr ""
|
10116 |
|
10117 |
-
#: includes/settings/wcj-settings-custom-css.php:
|
10118 |
msgid "Custom CSS on per Product Basis"
|
10119 |
msgstr ""
|
10120 |
|
10121 |
-
#: includes/settings/wcj-settings-custom-css.php:
|
10122 |
msgid ""
|
10123 |
"Set product specific CSS to be loaded only on specific product's single page."
|
10124 |
msgstr ""
|
10125 |
|
10126 |
-
#: includes/settings/wcj-settings-custom-css.php:
|
10127 |
#: includes/settings/wcj-settings-order-quantities.php:54
|
10128 |
#: includes/settings/wcj-settings-order-quantities.php:112
|
10129 |
#: includes/settings/wcj-settings-order-quantities.php:196
|
@@ -10131,18 +10303,28 @@ msgstr ""
|
|
10131 |
msgid "This will add meta box to each product's edit page."
|
10132 |
msgstr ""
|
10133 |
|
10134 |
-
#: includes/settings/wcj-settings-custom-css.php:
|
10135 |
msgid "Custom CSS on per Product Basis - Default Field Value"
|
10136 |
msgstr ""
|
10137 |
|
10138 |
-
#: includes/settings/wcj-settings-custom-js.php:
|
10139 |
msgid "Custom JS - Front end (Customers)"
|
10140 |
msgstr ""
|
10141 |
|
10142 |
-
#: includes/settings/wcj-settings-custom-js.php:
|
10143 |
msgid "Custom JS - Back end (Admin)"
|
10144 |
msgstr ""
|
10145 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
10146 |
#: includes/settings/wcj-settings-email-options.php:14
|
10147 |
msgid "Product Info in Item Name"
|
10148 |
msgstr ""
|
@@ -10872,11 +11054,21 @@ msgid "Advanced Settings"
|
|
10872 |
msgstr ""
|
10873 |
|
10874 |
#: includes/settings/wcj-settings-global-discount.php:180
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
10875 |
#: includes/settings/wcj-settings-product-price-by-formula.php:92
|
10876 |
msgid "Price Filters Priority"
|
10877 |
msgstr ""
|
10878 |
|
10879 |
-
#: includes/settings/wcj-settings-global-discount.php:
|
10880 |
#: includes/settings/wcj-settings-multicurrency-base-price.php:68
|
10881 |
#: includes/settings/wcj-settings-multicurrency.php:112
|
10882 |
#: includes/settings/wcj-settings-price-by-country.php:157
|
@@ -11181,12 +11373,6 @@ msgid ""
|
|
11181 |
"Add additional price filters here. One per line. Leave blank if not sure."
|
11182 |
msgstr ""
|
11183 |
|
11184 |
-
#: includes/settings/wcj-settings-multicurrency.php:104
|
11185 |
-
#: includes/settings/wcj-settings-offer-price.php:73
|
11186 |
-
#, php-format
|
11187 |
-
msgid "E.g.: %s"
|
11188 |
-
msgstr ""
|
11189 |
-
|
11190 |
#: includes/settings/wcj-settings-multicurrency.php:124
|
11191 |
msgid ""
|
11192 |
"One currency probably should be set to current (original) shop currency with "
|
@@ -11773,6 +11959,16 @@ msgstr ""
|
|
11773 |
msgid "Enable this if you want the statuses in Status column to have colors."
|
11774 |
msgstr ""
|
11775 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
11776 |
#: includes/settings/wcj-settings-order-min-amount.php:16
|
11777 |
msgid "This section lets you set minimum order amount."
|
11778 |
msgstr ""
|
@@ -12180,76 +12376,92 @@ msgid "Metabox will contain \"Previous order\" and \"Next order\" links."
|
|
12180 |
msgstr ""
|
12181 |
|
12182 |
#: includes/settings/wcj-settings-orders.php:72
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
12183 |
msgid "Orders Auto-Complete"
|
12184 |
msgstr ""
|
12185 |
|
12186 |
-
#: includes/settings/wcj-settings-orders.php:
|
12187 |
msgid "This section lets you enable orders auto-complete function."
|
12188 |
msgstr ""
|
12189 |
|
12190 |
-
#: includes/settings/wcj-settings-orders.php:
|
12191 |
msgid "Auto-complete all WooCommerce orders"
|
12192 |
msgstr ""
|
12193 |
|
12194 |
-
#: includes/settings/wcj-settings-orders.php:
|
12195 |
msgid ""
|
12196 |
"E.g. if you sell digital products then you are not shipping anything and you "
|
12197 |
"may want auto-complete all your orders."
|
12198 |
msgstr ""
|
12199 |
|
12200 |
-
#: includes/settings/wcj-settings-orders.php:
|
12201 |
msgid ""
|
12202 |
"Fill this, if you want orders to be auto-completed for selected payment "
|
12203 |
"methods only. Leave blank to auto-complete all orders."
|
12204 |
msgstr ""
|
12205 |
|
12206 |
-
#: includes/settings/wcj-settings-orders.php:
|
12207 |
msgid "Add Country by IP Meta Box"
|
12208 |
msgstr ""
|
12209 |
|
12210 |
-
#: includes/settings/wcj-settings-orders.php:
|
12211 |
msgid ""
|
12212 |
"When enabled this will add \"Booster: Country by IP\" metabox to each "
|
12213 |
"order's edit page."
|
12214 |
msgstr ""
|
12215 |
|
12216 |
-
#: includes/settings/wcj-settings-orders.php:
|
12217 |
msgid "Bulk Regenerate Download Permissions for Orders"
|
12218 |
msgstr ""
|
12219 |
|
12220 |
-
#: includes/settings/wcj-settings-orders.php:
|
12221 |
msgid "Bulk Regenerate Download Permissions"
|
12222 |
msgstr ""
|
12223 |
|
12224 |
-
#: includes/settings/wcj-settings-orders.php:
|
12225 |
msgid "Bulk Actions"
|
12226 |
msgstr ""
|
12227 |
|
12228 |
-
#: includes/settings/wcj-settings-orders.php:
|
12229 |
msgid ""
|
12230 |
"When enabled this will add \"Regenerate download permissions\" action to "
|
12231 |
"\"Bulk Actions\" select box on admin orders page."
|
12232 |
msgstr ""
|
12233 |
|
12234 |
-
#: includes/settings/wcj-settings-orders.php:
|
12235 |
msgid "All Orders - Now"
|
12236 |
msgstr ""
|
12237 |
|
12238 |
-
#: includes/settings/wcj-settings-orders.php:
|
12239 |
msgid ""
|
12240 |
"Check this box and press \"Save changes\" button to start regeneration. "
|
12241 |
"Please note that both module and current section must be enabled before that."
|
12242 |
msgstr ""
|
12243 |
|
12244 |
-
#: includes/settings/wcj-settings-orders.php:
|
12245 |
msgid "Regenerate now"
|
12246 |
msgstr ""
|
12247 |
|
12248 |
-
#: includes/settings/wcj-settings-orders.php:
|
12249 |
msgid "All Orders - Periodically"
|
12250 |
msgstr ""
|
12251 |
|
12252 |
-
#: includes/settings/wcj-settings-orders.php:
|
12253 |
msgid "Regenerate"
|
12254 |
msgstr ""
|
12255 |
|
@@ -12289,20 +12501,13 @@ msgstr ""
|
|
12289 |
msgid "Include Postcodes (one per line)"
|
12290 |
msgstr ""
|
12291 |
|
12292 |
-
#: includes/settings/wcj-settings-payment-gateways-by-country.php:121
|
12293 |
-
#: includes/settings/wcj-settings-payment-gateways-by-country.php:131
|
12294 |
-
msgid ""
|
12295 |
-
"Postcodes containing wildcards (e.g. CB23*) and fully numeric ranges (e.g. "
|
12296 |
-
"<code>90210...99000</code>) are also supported."
|
12297 |
-
msgstr ""
|
12298 |
-
|
12299 |
#: includes/settings/wcj-settings-payment-gateways-by-country.php:130
|
12300 |
msgid "Exclude Postcodes (one per line)"
|
12301 |
msgstr ""
|
12302 |
|
12303 |
#: includes/settings/wcj-settings-payment-gateways-by-currency.php:16
|
12304 |
#: includes/settings/wcj-settings-payment-gateways-by-user-role.php:16
|
12305 |
-
#: includes/settings/wcj-settings-shipping-by-condition.php:
|
12306 |
msgid "Leave empty to disable."
|
12307 |
msgstr ""
|
12308 |
|
@@ -12320,7 +12525,7 @@ msgid "Denied Currencies"
|
|
12320 |
msgstr ""
|
12321 |
|
12322 |
#: includes/settings/wcj-settings-payment-gateways-by-shipping.php:22
|
12323 |
-
#: includes/settings/wcj-settings-shipping-by-condition.php:
|
12324 |
#: includes/settings/wcj-settings-shipping-by-order-amount.php:20
|
12325 |
#: includes/settings/wcj-settings-shipping-description.php:58
|
12326 |
#: includes/settings/wcj-settings-shipping-icons.php:60
|
@@ -12329,7 +12534,7 @@ msgid "Use Shipping Instances"
|
|
12329 |
msgstr ""
|
12330 |
|
12331 |
#: includes/settings/wcj-settings-payment-gateways-by-shipping.php:24
|
12332 |
-
#: includes/settings/wcj-settings-shipping-by-condition.php:
|
12333 |
#: includes/settings/wcj-settings-shipping-by-order-amount.php:22
|
12334 |
#: includes/settings/wcj-settings-shipping-description.php:60
|
12335 |
#: includes/settings/wcj-settings-shipping-icons.php:62
|
@@ -12361,19 +12566,29 @@ msgstr ""
|
|
12361 |
msgid "Exclude User Roles"
|
12362 |
msgstr ""
|
12363 |
|
12364 |
-
#: includes/settings/wcj-settings-payment-gateways-currency.php:15
|
12365 |
-
msgid "Payment Gateways Currency Options"
|
12366 |
-
msgstr ""
|
12367 |
-
|
12368 |
#: includes/settings/wcj-settings-payment-gateways-currency.php:17
|
12369 |
msgid "This section lets you set different currency for each payment gateway."
|
12370 |
msgstr ""
|
12371 |
|
12372 |
-
#: includes/settings/wcj-settings-payment-gateways-currency.php:
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
12373 |
msgid "Advanced: Fix \"Chosen Payment Method\""
|
12374 |
msgstr ""
|
12375 |
|
12376 |
-
#: includes/settings/wcj-settings-payment-gateways-currency.php:
|
12377 |
msgid ""
|
12378 |
"Enable this if you are having compatibility issues with some other plugins "
|
12379 |
"or modules."
|
@@ -12527,7 +12742,7 @@ msgstr ""
|
|
12527 |
|
12528 |
#: includes/settings/wcj-settings-payment-gateways-per-category.php:31
|
12529 |
#: includes/settings/wcj-settings-price-labels.php:125
|
12530 |
-
#: includes/settings/wcj-settings-product-input-fields.php:
|
12531 |
msgid "Product Categories - Include"
|
12532 |
msgstr ""
|
12533 |
|
@@ -12539,7 +12754,7 @@ msgstr ""
|
|
12539 |
|
12540 |
#: includes/settings/wcj-settings-payment-gateways-per-category.php:42
|
12541 |
#: includes/settings/wcj-settings-price-labels.php:134
|
12542 |
-
#: includes/settings/wcj-settings-product-input-fields.php:
|
12543 |
msgid "Product Categories - Exclude"
|
12544 |
msgstr ""
|
12545 |
|
@@ -12551,7 +12766,7 @@ msgstr ""
|
|
12551 |
|
12552 |
#: includes/settings/wcj-settings-payment-gateways-per-category.php:54
|
12553 |
#: includes/settings/wcj-settings-price-labels.php:107
|
12554 |
-
#: includes/settings/wcj-settings-product-input-fields.php:
|
12555 |
msgid "Products - Include"
|
12556 |
msgstr ""
|
12557 |
|
@@ -12563,7 +12778,7 @@ msgstr ""
|
|
12563 |
|
12564 |
#: includes/settings/wcj-settings-payment-gateways-per-category.php:67
|
12565 |
#: includes/settings/wcj-settings-price-labels.php:116
|
12566 |
-
#: includes/settings/wcj-settings-product-input-fields.php:
|
12567 |
msgid "Products - Exclude"
|
12568 |
msgstr ""
|
12569 |
|
@@ -13898,14 +14113,14 @@ msgstr ""
|
|
13898 |
|
13899 |
#: includes/settings/wcj-settings-product-addons.php:206
|
13900 |
#: includes/settings/wcj-settings-product-custom-info.php:109
|
13901 |
-
#: includes/settings/wcj-settings-product-input-fields.php:
|
13902 |
#: includes/settings/wcj-settings-product-open-pricing.php:17
|
13903 |
msgid "Before add to cart button"
|
13904 |
msgstr ""
|
13905 |
|
13906 |
#: includes/settings/wcj-settings-product-addons.php:207
|
13907 |
#: includes/settings/wcj-settings-product-custom-info.php:110
|
13908 |
-
#: includes/settings/wcj-settings-product-input-fields.php:
|
13909 |
#: includes/settings/wcj-settings-product-open-pricing.php:18
|
13910 |
msgid "After add to cart button"
|
13911 |
msgstr ""
|
@@ -13915,7 +14130,7 @@ msgid "Position Priority on Frontend"
|
|
13915 |
msgstr ""
|
13916 |
|
13917 |
#: includes/settings/wcj-settings-product-addons.php:212
|
13918 |
-
#: includes/settings/wcj-settings-shipping-by-condition.php:
|
13919 |
#: includes/settings/wcj-settings-shipping-options.php:41
|
13920 |
msgid "Set to zero to use the default priority."
|
13921 |
msgstr ""
|
@@ -13943,7 +14158,7 @@ msgstr ""
|
|
13943 |
|
13944 |
#: includes/settings/wcj-settings-product-addons.php:250
|
13945 |
#: includes/settings/wcj-settings-product-bookings.php:100
|
13946 |
-
#: includes/settings/wcj-settings-product-input-fields.php:
|
13947 |
#: includes/settings/wcj-settings-product-open-pricing.php:129
|
13948 |
msgid ""
|
13949 |
"Ensures that data outputted only once. Enable this if you see data outputted "
|
@@ -13971,23 +14186,27 @@ msgid "Each Addon - Type: Select Box"
|
|
13971 |
msgstr ""
|
13972 |
|
13973 |
#: includes/settings/wcj-settings-product-addons.php:297
|
13974 |
-
msgid "Each Addon - Type:
|
13975 |
msgstr ""
|
13976 |
|
13977 |
#: includes/settings/wcj-settings-product-addons.php:305
|
|
|
|
|
|
|
|
|
13978 |
msgid "All Addons - Final"
|
13979 |
msgstr ""
|
13980 |
|
13981 |
-
#: includes/settings/wcj-settings-product-addons.php:
|
13982 |
msgid "Cart Template"
|
13983 |
msgstr ""
|
13984 |
|
13985 |
-
#: includes/settings/wcj-settings-product-addons.php:
|
13986 |
-
#: includes/settings/wcj-settings-product-addons.php:
|
13987 |
msgid "Each Addon"
|
13988 |
msgstr ""
|
13989 |
|
13990 |
-
#: includes/settings/wcj-settings-product-addons.php:
|
13991 |
msgid "Order Details Table Template"
|
13992 |
msgstr ""
|
13993 |
|
@@ -14578,178 +14797,187 @@ msgstr ""
|
|
14578 |
msgid "Comma separated list of product IDs to exclude from product info."
|
14579 |
msgstr ""
|
14580 |
|
14581 |
-
#: includes/settings/wcj-settings-product-input-fields.php:
|
14582 |
msgid "Product Input Fields per Product Options"
|
14583 |
msgstr ""
|
14584 |
|
14585 |
-
#: includes/settings/wcj-settings-product-input-fields.php:
|
14586 |
-
#: includes/settings/wcj-settings-product-input-fields.php:
|
14587 |
msgid ""
|
14588 |
"Add custom input fields to product's single page for customer to fill before "
|
14589 |
"adding product to cart."
|
14590 |
msgstr ""
|
14591 |
|
14592 |
-
#: includes/settings/wcj-settings-product-input-fields.php:
|
14593 |
msgid ""
|
14594 |
"When enabled this module will add \"Product Input Fields\" tab to each "
|
14595 |
"product's \"Edit\" page."
|
14596 |
msgstr ""
|
14597 |
|
14598 |
-
#: includes/settings/wcj-settings-product-input-fields.php:
|
14599 |
msgid "Product Input Fields - per Product"
|
14600 |
msgstr ""
|
14601 |
|
14602 |
-
#: includes/settings/wcj-settings-product-input-fields.php:
|
14603 |
msgid "Add custom input field on per product basis."
|
14604 |
msgstr ""
|
14605 |
|
14606 |
-
#: includes/settings/wcj-settings-product-input-fields.php:
|
14607 |
msgid "Default Number of Product Input Fields per Product"
|
14608 |
msgstr ""
|
14609 |
|
14610 |
-
#: includes/settings/wcj-settings-product-input-fields.php:
|
14611 |
msgid ""
|
14612 |
"You will be able to change this number later as well as define the fields, "
|
14613 |
"for each product individually, in product's \"Edit\"."
|
14614 |
msgstr ""
|
14615 |
|
14616 |
-
#: includes/settings/wcj-settings-product-input-fields.php:
|
14617 |
msgid "Product Input Fields Global Options"
|
14618 |
msgstr ""
|
14619 |
|
14620 |
-
#: includes/settings/wcj-settings-product-input-fields.php:
|
14621 |
msgid "Product Input Fields - All Products"
|
14622 |
msgstr ""
|
14623 |
|
14624 |
-
#: includes/settings/wcj-settings-product-input-fields.php:
|
14625 |
msgid "Add custom input fields to all products."
|
14626 |
msgstr ""
|
14627 |
|
14628 |
-
#: includes/settings/wcj-settings-product-input-fields.php:
|
14629 |
msgid "Product Input Fields Number"
|
14630 |
msgstr ""
|
14631 |
|
14632 |
-
#: includes/settings/wcj-settings-product-input-fields.php:
|
14633 |
msgid "Product categories to include."
|
14634 |
msgstr ""
|
14635 |
|
14636 |
-
#: includes/settings/wcj-settings-product-input-fields.php:
|
14637 |
-
#: includes/settings/wcj-settings-product-input-fields.php:
|
14638 |
-
#: includes/settings/wcj-settings-product-input-fields.php:
|
14639 |
-
#: includes/settings/wcj-settings-product-input-fields.php:
|
14640 |
-
#: includes/settings/wcj-settings-product-input-fields.php:
|
14641 |
-
#: includes/settings/wcj-settings-product-input-fields.php:
|
14642 |
#: includes/settings/wcj-settings-wholesale-price.php:84
|
14643 |
#: includes/settings/wcj-settings-wholesale-price.php:101
|
14644 |
msgid "Leave blank to include all products."
|
14645 |
msgstr ""
|
14646 |
|
14647 |
-
#: includes/settings/wcj-settings-product-input-fields.php:
|
14648 |
msgid "Product categories to exclude."
|
14649 |
msgstr ""
|
14650 |
|
14651 |
-
#: includes/settings/wcj-settings-product-input-fields.php:
|
14652 |
msgid "Product Tags - Include"
|
14653 |
msgstr ""
|
14654 |
|
14655 |
-
#: includes/settings/wcj-settings-product-input-fields.php:
|
14656 |
msgid "Product tags to include."
|
14657 |
msgstr ""
|
14658 |
|
14659 |
-
#: includes/settings/wcj-settings-product-input-fields.php:
|
14660 |
msgid "Product Tags - Exclude"
|
14661 |
msgstr ""
|
14662 |
|
14663 |
-
#: includes/settings/wcj-settings-product-input-fields.php:
|
14664 |
msgid "Product tags to exclude."
|
14665 |
msgstr ""
|
14666 |
|
14667 |
-
#: includes/settings/wcj-settings-product-input-fields.php:
|
14668 |
msgid "Products to include."
|
14669 |
msgstr ""
|
14670 |
|
14671 |
-
#: includes/settings/wcj-settings-product-input-fields.php:
|
14672 |
msgid "Products to exclude."
|
14673 |
msgstr ""
|
14674 |
|
14675 |
-
#: includes/settings/wcj-settings-product-input-fields.php:
|
14676 |
msgid "Frontend View Options"
|
14677 |
msgstr ""
|
14678 |
|
14679 |
-
#: includes/settings/wcj-settings-product-input-fields.php:
|
14680 |
msgid "Position on Single Product Page"
|
14681 |
msgstr ""
|
14682 |
|
14683 |
-
#: includes/settings/wcj-settings-product-input-fields.php:
|
14684 |
msgid "HTML Template - Start"
|
14685 |
msgstr ""
|
14686 |
|
14687 |
-
#: includes/settings/wcj-settings-product-input-fields.php:
|
14688 |
msgid "HTML Template - Each Field"
|
14689 |
msgstr ""
|
14690 |
|
14691 |
-
#: includes/settings/wcj-settings-product-input-fields.php:
|
14692 |
msgid "HTML Template - End"
|
14693 |
msgstr ""
|
14694 |
|
14695 |
-
#: includes/settings/wcj-settings-product-input-fields.php:
|
14696 |
msgid "HTML Template - Radio Field"
|
14697 |
msgstr ""
|
14698 |
|
14699 |
-
#: includes/settings/wcj-settings-product-input-fields.php:
|
14700 |
msgid "HTML to add after required field title"
|
14701 |
msgstr ""
|
14702 |
|
14703 |
-
#: includes/settings/wcj-settings-product-input-fields.php:
|
14704 |
msgid "Cart Display Options"
|
14705 |
msgstr ""
|
14706 |
|
14707 |
-
#: includes/settings/wcj-settings-product-input-fields.php:
|
14708 |
msgid ""
|
14709 |
"When \"Add to cart item data\" is selected, \"Cart HTML Template\" options "
|
14710 |
"below will be ignored."
|
14711 |
msgstr ""
|
14712 |
|
14713 |
-
#: includes/settings/wcj-settings-product-input-fields.php:
|
14714 |
msgid "Add to cart item name"
|
14715 |
msgstr ""
|
14716 |
|
14717 |
-
#: includes/settings/wcj-settings-product-input-fields.php:
|
14718 |
msgid "Add to cart item data"
|
14719 |
msgstr ""
|
14720 |
|
14721 |
-
#: includes/settings/wcj-settings-product-input-fields.php:
|
14722 |
msgid "Cart HTML Template - Start"
|
14723 |
msgstr ""
|
14724 |
|
14725 |
-
#: includes/settings/wcj-settings-product-input-fields.php:
|
14726 |
msgid "Cart HTML Template - Each Field"
|
14727 |
msgstr ""
|
14728 |
|
14729 |
-
#: includes/settings/wcj-settings-product-input-fields.php:
|
14730 |
msgid "Cart HTML Template - End"
|
14731 |
msgstr ""
|
14732 |
|
14733 |
-
#: includes/settings/wcj-settings-product-input-fields.php:
|
14734 |
msgid "Order Table Template - Each Field"
|
14735 |
msgstr ""
|
14736 |
|
14737 |
-
#: includes/settings/wcj-settings-product-input-fields.php:
|
14738 |
msgid "Affects Order received page, Emails and Admin Orders View"
|
14739 |
msgstr ""
|
14740 |
|
14741 |
-
#: includes/settings/wcj-settings-product-input-fields.php:
|
14742 |
msgid "Admin Order View Options"
|
14743 |
msgstr ""
|
14744 |
|
14745 |
-
#: includes/settings/wcj-settings-product-input-fields.php:
|
14746 |
msgid "Replace Field ID with Field Label"
|
14747 |
msgstr ""
|
14748 |
|
14749 |
-
#: includes/settings/wcj-settings-product-input-fields.php:
|
14750 |
msgid "Check for Outputted Data"
|
14751 |
msgstr ""
|
14752 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
14753 |
#: includes/settings/wcj-settings-product-listings.php:31
|
14754 |
msgid "Shop Page Display Options"
|
14755 |
msgstr ""
|
@@ -15809,23 +16037,36 @@ msgstr ""
|
|
15809 |
msgid "Per Tag"
|
15810 |
msgstr ""
|
15811 |
|
15812 |
-
#: includes/settings/wcj-settings-
|
15813 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
15814 |
#, php-format
|
15815 |
msgid "Shipping Methods by %s"
|
15816 |
msgstr ""
|
15817 |
|
15818 |
-
#: includes/settings/wcj-settings-shipping-by-condition.php:
|
15819 |
#, php-format
|
15820 |
msgid "Include %s"
|
15821 |
msgstr ""
|
15822 |
|
15823 |
-
#: includes/settings/wcj-settings-shipping-by-condition.php:
|
15824 |
#, php-format
|
15825 |
msgid "Exclude %s"
|
15826 |
msgstr ""
|
15827 |
|
15828 |
-
#: includes/settings/wcj-settings-shipping-by-condition.php:
|
15829 |
msgid "Filter Priority"
|
15830 |
msgstr ""
|
15831 |
|
@@ -15903,11 +16144,6 @@ msgstr ""
|
|
15903 |
msgid "Description Visibility"
|
15904 |
msgstr ""
|
15905 |
|
15906 |
-
#: includes/settings/wcj-settings-shipping-description.php:26
|
15907 |
-
#: includes/settings/wcj-settings-shipping-icons.php:35
|
15908 |
-
msgid "On both cart and checkout pages"
|
15909 |
-
msgstr ""
|
15910 |
-
|
15911 |
#: includes/settings/wcj-settings-shipping-description.php:27
|
15912 |
#: includes/settings/wcj-settings-shipping-icons.php:36
|
15913 |
msgid "Only on cart page"
|
@@ -17381,16 +17617,16 @@ msgstr ""
|
|
17381 |
msgid "Edit Product"
|
17382 |
msgstr ""
|
17383 |
|
17384 |
-
#: includes/shortcodes/class-wcj-shortcodes-products.php:
|
17385 |
#, php-format
|
17386 |
msgid "%s ago"
|
17387 |
msgstr ""
|
17388 |
|
17389 |
-
#: includes/shortcodes/class-wcj-shortcodes-products.php:
|
17390 |
msgid "No sales yet."
|
17391 |
msgstr ""
|
17392 |
|
17393 |
-
#: includes/shortcodes/class-wcj-shortcodes-products.php:
|
17394 |
msgid "In stock"
|
17395 |
msgstr ""
|
17396 |
|
@@ -17552,18 +17788,46 @@ msgstr ""
|
|
17552 |
msgid "Multicurrency module not enabled!"
|
17553 |
msgstr ""
|
17554 |
|
17555 |
-
#: includes/widgets/class-wcj-widget-multicurrency.php:
|
17556 |
msgid "Drop down"
|
17557 |
msgstr ""
|
17558 |
|
17559 |
-
#: includes/widgets/class-wcj-widget-multicurrency.php:
|
17560 |
msgid "Radio list"
|
17561 |
msgstr ""
|
17562 |
|
17563 |
-
#: includes/widgets/class-wcj-widget-multicurrency.php:
|
17564 |
msgid "Link list"
|
17565 |
msgstr ""
|
17566 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
17567 |
#: includes/widgets/class-wcj-widget-selector.php:29
|
17568 |
msgid "Booster: Selector Widget"
|
17569 |
msgstr ""
|
77 |
|
78 |
#: includes/class-wcj-admin-bar.php:172
|
79 |
#: includes/admin/class-wc-settings-jetpack.php:416
|
80 |
+
#: includes/classes/class-wcj-module.php:689
|
81 |
msgid "Documentation"
|
82 |
msgstr ""
|
83 |
|
96 |
|
97 |
#: includes/class-wcj-admin-bar.php:245 includes/class-wcj-admin-bar.php:288
|
98 |
#: includes/class-wcj-admin-bar.php:602
|
99 |
+
#: includes/classes/class-wcj-module.php:522
|
100 |
#: includes/settings/wcj-settings-wpml.php:74
|
101 |
msgid "Tools"
|
102 |
msgstr ""
|
111 |
|
112 |
#: includes/class-wcj-admin-bar.php:276
|
113 |
#: includes/class-wcj-checkout-files-upload.php:218
|
114 |
+
#: includes/class-wcj-eu-vat-number.php:126
|
115 |
#: includes/class-wcj-max-products-per-user.php:115
|
116 |
+
#: includes/class-wcj-orders.php:124 includes/class-wcj-orders.php:153
|
117 |
#: includes/class-wcj-payment-gateways.php:91
|
118 |
#: includes/class-wcj-track-users.php:163
|
119 |
#: includes/class-wcj-track-users.php:251
|
120 |
#: includes/admin/class-wc-settings-jetpack.php:24
|
121 |
#: includes/admin/class-wc-settings-jetpack.php:221
|
122 |
+
#: includes/classes/class-wcj-module.php:349
|
123 |
+
#: includes/classes/class-wcj-module.php:549
|
124 |
#: includes/settings/wcj-settings-price-by-country.php:169
|
125 |
msgid "Booster"
|
126 |
msgstr ""
|
228 |
|
229 |
#: includes/class-wcj-admin-bar.php:412
|
230 |
#: includes/settings/wcj-settings-stock.php:101
|
231 |
+
#: includes/shortcodes/class-wcj-shortcodes-products.php:565
|
232 |
msgid "Out of stock"
|
233 |
msgstr ""
|
234 |
|
237 |
msgstr ""
|
238 |
|
239 |
#: includes/class-wcj-admin-bar.php:422
|
240 |
+
#: includes/class-wcj-eu-vat-number.php:190
|
241 |
msgid "Taxes"
|
242 |
msgstr ""
|
243 |
|
452 |
msgid "Customize admin products list."
|
453 |
msgstr ""
|
454 |
|
455 |
+
#: includes/class-wcj-admin-tools.php:24
|
456 |
msgid "Admin Tools"
|
457 |
msgstr ""
|
458 |
|
460 |
msgid "Booster for WooCommerce debug and log tools."
|
461 |
msgstr ""
|
462 |
|
463 |
+
#: includes/class-wcj-admin-tools.php:31
|
464 |
+
msgid "Debug Log"
|
465 |
+
msgstr ""
|
466 |
+
|
467 |
#: includes/class-wcj-admin-tools.php:32
|
468 |
msgid "Log."
|
469 |
msgstr ""
|
470 |
|
471 |
#: includes/class-wcj-admin-tools.php:33
|
472 |
+
#: includes/settings/wcj-settings-admin-tools.php:91
|
473 |
msgid "Log"
|
474 |
msgstr ""
|
475 |
|
483 |
msgid "Current PHP time limit: %s seconds."
|
484 |
msgstr ""
|
485 |
|
486 |
+
#: includes/class-wcj-admin-tools.php:110
|
487 |
#: includes/settings/wcj-settings-export.php:157
|
488 |
#: includes/settings/wcj-settings-export.php:236
|
489 |
msgid "Product Meta"
|
490 |
msgstr ""
|
491 |
|
492 |
+
#: includes/class-wcj-admin-tools.php:127
|
493 |
#: includes/settings/wcj-settings-export.php:86
|
494 |
#: includes/settings/wcj-settings-export.php:154
|
495 |
msgid "Order Meta"
|
496 |
msgstr ""
|
497 |
|
498 |
+
#: includes/class-wcj-admin-tools.php:161
|
499 |
msgid "Order Items Meta"
|
500 |
msgstr ""
|
501 |
|
502 |
+
#: includes/class-wcj-admin-tools.php:163
|
503 |
msgid "Item Key"
|
504 |
msgstr ""
|
505 |
|
506 |
+
#: includes/class-wcj-admin-tools.php:163
|
507 |
msgid "Item Meta Key"
|
508 |
msgstr ""
|
509 |
|
510 |
+
#: includes/class-wcj-admin-tools.php:163
|
511 |
msgid "Item Meta Value"
|
512 |
msgstr ""
|
513 |
|
514 |
+
#: includes/class-wcj-admin-tools.php:189
|
515 |
msgid "Delete Log"
|
516 |
msgstr ""
|
517 |
|
518 |
+
#: includes/class-wcj-admin-tools.php:192
|
519 |
#, php-format
|
520 |
msgid "Now: %s"
|
521 |
msgstr ""
|
522 |
|
523 |
+
#: includes/class-wcj-admin-tools.php:196
|
524 |
msgid "Log is empty."
|
525 |
msgstr ""
|
526 |
|
527 |
+
#: includes/class-wcj-admin-tools.php:227
|
528 |
msgid "NOT DEFINED"
|
529 |
msgstr ""
|
530 |
|
778 |
msgid "Customize cross-sells products display."
|
779 |
msgstr ""
|
780 |
|
781 |
+
#: includes/class-wcj-crowdfunding.php:25
|
782 |
msgid "Crowdfunding"
|
783 |
msgstr ""
|
784 |
|
785 |
+
#: includes/class-wcj-crowdfunding.php:26
|
786 |
msgid "Add crowdfunding products to WooCommerce."
|
787 |
msgstr ""
|
788 |
|
789 |
+
#: includes/class-wcj-crowdfunding.php:28
|
790 |
msgid "When enabled, module will add Crowdfunding metabox to product edit."
|
791 |
msgstr ""
|
792 |
|
793 |
+
#: includes/class-wcj-crowdfunding.php:30
|
794 |
#, php-format
|
795 |
msgid ""
|
796 |
"To add crowdfunding info to the product, use <a href=\"%s\" target=\"_blank"
|
797 |
"\">Booster's crowdfunding shortcodes</a>."
|
798 |
msgstr ""
|
799 |
|
800 |
+
#: includes/class-wcj-crowdfunding.php:34
|
801 |
#, php-format
|
802 |
msgid ""
|
803 |
"Shortcodes could be used for example in <a href=\"%s\">Product Info module</"
|
804 |
"a>."
|
805 |
msgstr ""
|
806 |
|
807 |
+
#: includes/class-wcj-crowdfunding.php:38
|
808 |
#, php-format
|
809 |
msgid ""
|
810 |
"To change add to cart button labels use <a href=\"%s\">Add to Cart Labels "
|
1033 |
msgid "Separate custom CSS for front and back end. Per product CSS."
|
1034 |
msgstr ""
|
1035 |
|
1036 |
+
#: includes/class-wcj-custom-js.php:27
|
1037 |
msgid "Custom JS"
|
1038 |
msgstr ""
|
1039 |
|
1040 |
+
#: includes/class-wcj-custom-js.php:28
|
1041 |
msgid "Separate custom JS for front and back end."
|
1042 |
msgstr ""
|
1043 |
|
1044 |
+
#: includes/class-wcj-custom-php.php:27
|
1045 |
+
#: includes/settings/wcj-settings-custom-php.php:21
|
1046 |
+
msgid "Custom PHP"
|
1047 |
+
msgstr ""
|
1048 |
+
|
1049 |
+
#: includes/class-wcj-custom-php.php:28
|
1050 |
+
msgid "Custom PHP."
|
1051 |
+
msgstr ""
|
1052 |
+
|
1053 |
+
#: includes/class-wcj-custom-php.php:30
|
1054 |
+
#, php-format
|
1055 |
+
msgid ""
|
1056 |
+
"Please note that if you enable the module and enter non-valid PHP code here, "
|
1057 |
+
"your site will become unavailable. To fix this you will have to add %s "
|
1058 |
+
"attribute to the URL (you must be logged as shop manager or admin (for this "
|
1059 |
+
"reason custom PHP code is not executed on %s page))."
|
1060 |
+
msgstr ""
|
1061 |
+
|
1062 |
+
#: includes/class-wcj-custom-php.php:32
|
1063 |
+
#: includes/settings/wcj-settings-multicurrency.php:104
|
1064 |
+
#: includes/settings/wcj-settings-offer-price.php:73
|
1065 |
+
#, php-format
|
1066 |
+
msgid "E.g.: %s"
|
1067 |
+
msgstr ""
|
1068 |
+
|
1069 |
#: includes/class-wcj-email-options.php:26
|
1070 |
#: includes/pdf-invoices/submodules/class-wcj-pdf-invoicing-emails.php:24
|
1071 |
#: includes/settings/wcj-settings-emails-verification.php:107
|
1228 |
msgstr ""
|
1229 |
|
1230 |
#: includes/class-wcj-empty-cart-button.php:25
|
1231 |
+
#: includes/shortcodes/class-wcj-shortcodes-general.php:501
|
1232 |
msgid "Empty Cart Button"
|
1233 |
msgstr ""
|
1234 |
|
1238 |
msgstr ""
|
1239 |
|
1240 |
#: includes/class-wcj-eu-vat-number.php:25
|
1241 |
+
#: includes/class-wcj-eu-vat-number.php:264
|
1242 |
#: includes/settings/wcj-settings-eu-vat-number.php:22
|
1243 |
#: includes/settings/wcj-settings-eu-vat-number.php:29
|
1244 |
msgid "EU VAT Number"
|
1259 |
msgid "Add all EU countries VAT standard rates to WooCommerce."
|
1260 |
msgstr ""
|
1261 |
|
1262 |
+
#: includes/class-wcj-eu-vat-number.php:178
|
1263 |
msgid "Customer IP"
|
1264 |
msgstr ""
|
1265 |
|
1266 |
+
#: includes/class-wcj-eu-vat-number.php:182 includes/class-wcj-orders.php:153
|
1267 |
+
#: includes/settings/wcj-settings-orders.php:126
|
1268 |
#: includes/settings/wcj-settings-payment-gateways-by-country.php:27
|
1269 |
msgid "Country by IP"
|
1270 |
msgstr ""
|
1271 |
|
1272 |
+
#: includes/class-wcj-eu-vat-number.php:186
|
1273 |
msgid "Customer EU VAT Number"
|
1274 |
msgstr ""
|
1275 |
|
1276 |
+
#: includes/class-wcj-eu-vat-number.php:196
|
1277 |
msgid "Validate VAT and remove taxes"
|
1278 |
msgstr ""
|
1279 |
|
1280 |
+
#: includes/class-wcj-eu-vat-number.php:336
|
1281 |
#: includes/settings/wcj-settings-eu-vat-number.php:165
|
1282 |
msgid "Validating VAT. Please wait..."
|
1283 |
msgstr ""
|
1284 |
|
1285 |
+
#: includes/class-wcj-eu-vat-number.php:337
|
1286 |
#: includes/settings/wcj-settings-eu-vat-number.php:172
|
1287 |
msgid "VAT is valid."
|
1288 |
msgstr ""
|
1289 |
|
1290 |
+
#: includes/class-wcj-eu-vat-number.php:338
|
1291 |
#: includes/settings/wcj-settings-eu-vat-number.php:179
|
1292 |
msgid "VAT is not valid."
|
1293 |
msgstr ""
|
1294 |
|
1295 |
+
#: includes/class-wcj-eu-vat-number.php:339
|
1296 |
#: includes/settings/wcj-settings-eu-vat-number.php:187
|
1297 |
msgid "Validation failed. Please try again."
|
1298 |
msgstr ""
|
1299 |
|
1300 |
+
#: includes/class-wcj-eu-vat-number.php:436
|
1301 |
#: includes/settings/wcj-settings-eu-vat-number.php:83
|
1302 |
msgid "<strong>EU VAT Number</strong> is not valid."
|
1303 |
msgstr ""
|
1327 |
msgid "Export Customers (extracted from orders)."
|
1328 |
msgstr ""
|
1329 |
|
1330 |
+
#: includes/class-wcj-export-import.php:39
|
1331 |
msgid "Customers are identified by billing email."
|
1332 |
msgstr ""
|
1333 |
|
1334 |
+
#: includes/class-wcj-export-import.php:42
|
1335 |
msgid "Export Orders"
|
1336 |
msgstr ""
|
1337 |
|
1338 |
+
#: includes/class-wcj-export-import.php:43
|
1339 |
msgid "Export Orders."
|
1340 |
msgstr ""
|
1341 |
|
1342 |
+
#: includes/class-wcj-export-import.php:46
|
1343 |
msgid "Export Orders Items"
|
1344 |
msgstr ""
|
1345 |
|
1346 |
+
#: includes/class-wcj-export-import.php:47
|
1347 |
msgid "Export Orders Items."
|
1348 |
msgstr ""
|
1349 |
|
1350 |
+
#: includes/class-wcj-export-import.php:50
|
1351 |
msgid "Export Products"
|
1352 |
msgstr ""
|
1353 |
|
1354 |
+
#: includes/class-wcj-export-import.php:51
|
1355 |
msgid "Export Products."
|
1356 |
msgstr ""
|
1357 |
|
1358 |
+
#: includes/class-wcj-export-import.php:192
|
1359 |
+
#: includes/class-wcj-export-import.php:198
|
1360 |
msgid "Filter by Billing Country"
|
1361 |
msgstr ""
|
1362 |
|
1363 |
+
#: includes/class-wcj-export-import.php:193
|
1364 |
msgid "Filter by Product Title"
|
1365 |
msgstr ""
|
1366 |
|
1367 |
+
#: includes/class-wcj-export-import.php:212
|
1368 |
#: includes/reports/wcj-class-reports-sales-daily.php:189
|
1369 |
#: includes/reports/wcj-class-reports-sales-gateways.php:137
|
1370 |
#: includes/settings/wcj-settings-orders.php:45
|
1371 |
msgid "Filter"
|
1372 |
msgstr ""
|
1373 |
|
1374 |
+
#: includes/class-wcj-export-import.php:231
|
1375 |
#: includes/class-wcj-track-users.php:36
|
1376 |
msgid "All time"
|
1377 |
msgstr ""
|
1378 |
|
1379 |
+
#: includes/class-wcj-export-import.php:244
|
1380 |
msgid "Custom:"
|
1381 |
msgstr ""
|
1382 |
|
1383 |
+
#: includes/class-wcj-export-import.php:249
|
1384 |
msgid "Go"
|
1385 |
msgstr ""
|
1386 |
|
1387 |
+
#: includes/class-wcj-export-import.php:269
|
1388 |
msgid "Download CSV"
|
1389 |
msgstr ""
|
1390 |
|
1391 |
+
#: includes/class-wcj-export-import.php:272
|
1392 |
msgid "Download XML"
|
1393 |
msgstr ""
|
1394 |
|
1438 |
msgid "Booster User Role"
|
1439 |
msgstr ""
|
1440 |
|
1441 |
+
#: includes/class-wcj-general.php:171
|
1442 |
+
msgid "All fields are required!"
|
1443 |
msgstr ""
|
1444 |
|
1445 |
+
#: includes/class-wcj-general.php:175
|
1446 |
msgid "Role ID must not be numbers only!"
|
1447 |
msgstr ""
|
1448 |
|
1449 |
+
#: includes/class-wcj-general.php:184
|
1450 |
msgid "Role successfully added!"
|
1451 |
msgstr ""
|
1452 |
|
1453 |
+
#: includes/class-wcj-general.php:186
|
1454 |
msgid "Role already exists!"
|
1455 |
msgstr ""
|
1456 |
|
1457 |
+
#: includes/class-wcj-general.php:199
|
1458 |
#, php-format
|
1459 |
msgid "Role %s successfully deleted!"
|
1460 |
msgstr ""
|
1461 |
|
1462 |
+
#: includes/class-wcj-general.php:205 includes/class-wcj-general.php:220
|
1463 |
#: includes/class-wcj-sku.php:536
|
1464 |
#: includes/reports/wcj-class-reports-sales.php:196
|
1465 |
#: includes/settings/wcj-settings-cross-sells.php:43
|
1471 |
msgid "ID"
|
1472 |
msgstr ""
|
1473 |
|
1474 |
+
#: includes/class-wcj-general.php:205 includes/class-wcj-general.php:221
|
1475 |
#: includes/class-wcj-offer-price.php:172
|
1476 |
#: includes/export/class-wcj-fields-helper.php:282
|
1477 |
#: includes/tools/class-wcj-eu-countries-vat-rates-tool.php:70
|
1479 |
msgid "Name"
|
1480 |
msgstr ""
|
1481 |
|
1482 |
+
#: includes/class-wcj-general.php:205 includes/class-wcj-general.php:222
|
1483 |
+
msgid "Capabilities"
|
1484 |
+
msgstr ""
|
1485 |
+
|
1486 |
+
#: includes/class-wcj-general.php:205
|
1487 |
#: includes/class-wcj-product-by-user.php:197
|
1488 |
#: includes/settings/wcj-settings-pdf-invoicing-advanced.php:100
|
1489 |
#: includes/tools/class-wcj-order-statuses-tool.php:145
|
1491 |
msgid "Actions"
|
1492 |
msgstr ""
|
1493 |
|
1494 |
+
#: includes/class-wcj-general.php:212
|
1495 |
#: includes/class-wcj-payment-gateways.php:117
|
1496 |
#: includes/class-wcj-product-bulk-meta-editor.php:367
|
1497 |
#: includes/class-wcj-product-by-user.php:206
|
1502 |
msgid "Delete"
|
1503 |
msgstr ""
|
1504 |
|
1505 |
+
#: includes/class-wcj-general.php:216
|
1506 |
msgid "Existing Roles"
|
1507 |
msgstr ""
|
1508 |
|
1509 |
+
#: includes/class-wcj-general.php:223
|
1510 |
msgid "Add New Role"
|
1511 |
msgstr ""
|
1512 |
|
1513 |
+
#: includes/class-wcj-general.php:226
|
1514 |
#: includes/class-wcj-shipping-by-products.php:206
|
1515 |
#: includes/settings/wcj-settings-admin-orders-list.php:134
|
1516 |
#: includes/settings/wcj-settings-checkout-custom-fields.php:22
|
1524 |
#: includes/settings/wcj-settings-order-custom-statuses.php:29
|
1525 |
#: includes/settings/wcj-settings-order-custom-statuses.php:37
|
1526 |
#: includes/settings/wcj-settings-order-custom-statuses.php:70
|
1527 |
+
#: includes/settings/wcj-settings-order-custom-statuses.php:97
|
1528 |
#: includes/settings/wcj-settings-order-min-amount.php:53
|
1529 |
+
#: includes/settings/wcj-settings-orders.php:132
|
1530 |
+
#: includes/settings/wcj-settings-orders.php:159
|
1531 |
#: includes/settings/wcj-settings-pdf-invoicing-advanced.php:125
|
1532 |
#: includes/settings/wcj-settings-pdf-invoicing-advanced.php:183
|
1533 |
#: includes/settings/wcj-settings-product-by-condition.php:107
|
1545 |
msgid "Add"
|
1546 |
msgstr ""
|
1547 |
|
1548 |
+
#: includes/class-wcj-general.php:289 includes/class-wcj-general.php:331
|
1549 |
+
#: includes/class-wcj-general.php:340
|
1550 |
#: includes/class-wcj-product-bulk-meta-editor.php:339
|
1551 |
#: includes/class-wcj-product-bulk-price-converter.php:148
|
1552 |
#: includes/class-wcj-sku.php:537
|
1555 |
msgid "Product"
|
1556 |
msgstr ""
|
1557 |
|
1558 |
+
#: includes/class-wcj-general.php:290 includes/class-wcj-general.php:332
|
1559 |
+
#: includes/class-wcj-general.php:341
|
1560 |
#: includes/reports/wcj-class-reports-stock.php:270
|
1561 |
msgid "Category"
|
1562 |
msgstr ""
|
1563 |
|
1564 |
+
#: includes/class-wcj-general.php:357
|
1565 |
msgid "Total Products:"
|
1566 |
msgstr ""
|
1567 |
|
1693 |
#: includes/class-wcj-multicurrency.php:28
|
1694 |
#, php-format
|
1695 |
msgid ""
|
1696 |
+
"After setting currencies in the Currencies Options section below, you can "
|
1697 |
+
"add switcher to the frontend with: %s"
|
1698 |
+
msgstr ""
|
1699 |
+
|
1700 |
+
#: includes/class-wcj-multicurrency.php:30
|
1701 |
+
#, php-format
|
1702 |
+
msgid "<strong>Widget:</strong> \"%s\""
|
1703 |
msgstr ""
|
1704 |
|
1705 |
+
#: includes/class-wcj-multicurrency.php:31
|
1706 |
#: includes/widgets/class-wcj-widget-multicurrency.php:27
|
1707 |
msgid "Booster - Multicurrency Switcher"
|
1708 |
msgstr ""
|
1709 |
|
1710 |
+
#: includes/class-wcj-multicurrency.php:33
|
1711 |
+
#, php-format
|
1712 |
+
msgid "<strong>Shortcodes:</strong> %s"
|
1713 |
+
msgstr ""
|
1714 |
+
|
1715 |
+
#: includes/class-wcj-multicurrency.php:36
|
1716 |
+
#, php-format
|
1717 |
+
msgid "<strong>PHP code:</strong> by using %s function, e.g.: %s"
|
1718 |
+
msgstr ""
|
1719 |
+
|
1720 |
#: includes/class-wcj-my-account.php:25
|
1721 |
msgid "My Account"
|
1722 |
msgstr ""
|
1734 |
msgstr ""
|
1735 |
|
1736 |
#: includes/class-wcj-my-account.php:35 includes/class-wcj-my-account.php:45
|
1737 |
+
#: includes/settings/wcj-settings-orders.php:112
|
1738 |
msgid "Payment methods"
|
1739 |
msgstr ""
|
1740 |
|
1781 |
#: includes/class-wcj-product-by-user.php:206
|
1782 |
#: includes/class-wcj-purchase-data.php:94
|
1783 |
#: includes/class-wcj-track-users.php:334
|
1784 |
+
#: includes/classes/class-wcj-module.php:658
|
1785 |
+
#: includes/functions/wcj-functions-general.php:189
|
1786 |
+
#: includes/functions/wcj-functions-html.php:115
|
1787 |
#: includes/reports/wcj-class-reports-monthly-sales.php:351
|
1788 |
#: includes/settings/wcj-settings-empty-cart.php:85
|
1789 |
#: includes/shortcodes/class-wcj-shortcodes-products-add-form.php:364
|
2011 |
msgid "No old slugs found."
|
2012 |
msgstr ""
|
2013 |
|
2014 |
+
#: includes/class-wcj-order-custom-statuses.php:26
|
2015 |
msgid "Order Custom Statuses"
|
2016 |
msgstr ""
|
2017 |
|
2018 |
+
#: includes/class-wcj-order-custom-statuses.php:27
|
2019 |
msgid "Custom statuses for WooCommerce orders."
|
2020 |
msgstr ""
|
2021 |
|
2022 |
+
#: includes/class-wcj-order-custom-statuses.php:33
|
2023 |
#: includes/settings/wcj-settings-order-custom-statuses.php:14
|
2024 |
msgid "Custom Statuses"
|
2025 |
msgstr ""
|
2026 |
|
2027 |
+
#: includes/class-wcj-order-custom-statuses.php:34
|
2028 |
msgid ""
|
2029 |
"Tool lets you add, edit or delete any custom status for WooCommerce orders."
|
2030 |
msgstr ""
|
2031 |
|
2032 |
+
#: includes/class-wcj-order-custom-statuses.php:158
|
2033 |
+
#, php-format
|
2034 |
+
msgid "Change order status to %s"
|
2035 |
+
msgstr ""
|
2036 |
+
|
2037 |
+
#: includes/class-wcj-order-custom-statuses.php:168
|
2038 |
+
msgid "Change status: "
|
2039 |
+
msgstr ""
|
2040 |
+
|
2041 |
+
#: includes/class-wcj-order-custom-statuses.php:208
|
2042 |
msgid "Processing"
|
2043 |
msgstr ""
|
2044 |
|
2045 |
+
#: includes/class-wcj-order-custom-statuses.php:218
|
2046 |
msgid "Complete"
|
2047 |
msgstr ""
|
2048 |
|
2049 |
+
#: includes/class-wcj-order-custom-statuses.php:323
|
2050 |
#, php-format
|
2051 |
msgid " <span class=\"count\">(%s)</span>"
|
2052 |
msgid_plural " <span class=\"count\">(%s)</span>"
|
2053 |
msgstr[0] ""
|
2054 |
msgstr[1] ""
|
2055 |
|
2056 |
+
#: includes/class-wcj-order-custom-statuses.php:397
|
2057 |
+
#: includes/class-wcj-order-custom-statuses.php:399
|
2058 |
msgid "Mark"
|
2059 |
msgstr ""
|
2060 |
|
2155 |
"regenerate download permissions for orders."
|
2156 |
msgstr ""
|
2157 |
|
2158 |
+
#: includes/class-wcj-orders.php:124
|
2159 |
msgid "Order Navigation"
|
2160 |
msgstr ""
|
2161 |
|
2162 |
+
#: includes/class-wcj-orders.php:140
|
2163 |
msgid "Previous order"
|
2164 |
msgstr ""
|
2165 |
|
2166 |
+
#: includes/class-wcj-orders.php:141
|
2167 |
msgid "Next order"
|
2168 |
msgstr ""
|
2169 |
|
2170 |
+
#: includes/class-wcj-orders.php:180
|
2171 |
msgid "No data."
|
2172 |
msgstr ""
|
2173 |
|
2174 |
+
#: includes/class-wcj-orders.php:225
|
2175 |
msgid "Regenerate download permissions"
|
2176 |
msgstr ""
|
2177 |
|
2178 |
+
#: includes/class-wcj-orders.php:239
|
2179 |
#, php-format
|
2180 |
msgid "Download permissions regenerated for %s order."
|
2181 |
msgid_plural "Download permissions regenerated for %s orders."
|
2216 |
msgid "Set user roles to include/exclude for payment gateways to show up."
|
2217 |
msgstr ""
|
2218 |
|
2219 |
+
#: includes/class-wcj-payment-gateways-currency.php:25
|
2220 |
msgid "Gateways Currency Converter"
|
2221 |
msgstr ""
|
2222 |
|
2223 |
+
#: includes/class-wcj-payment-gateways-currency.php:26
|
2224 |
msgid "Currency converter for payment gateways."
|
2225 |
msgstr ""
|
2226 |
|
2422 |
"format options."
|
2423 |
msgstr ""
|
2424 |
|
2425 |
+
#: includes/class-wcj-price-labels.php:23
|
2426 |
msgid "Custom Price Labels"
|
2427 |
msgstr ""
|
2428 |
|
2429 |
+
#: includes/class-wcj-price-labels.php:24
|
2430 |
msgid "Create any custom price label for any product."
|
2431 |
msgstr ""
|
2432 |
|
2433 |
+
#: includes/class-wcj-price-labels.php:32
|
2434 |
#: includes/settings/wcj-settings-price-labels.php:99
|
2435 |
msgid "Instead of the price"
|
2436 |
msgstr ""
|
2437 |
|
2438 |
+
#: includes/class-wcj-price-labels.php:33
|
2439 |
msgid "Before the price"
|
2440 |
msgstr ""
|
2441 |
|
2442 |
+
#: includes/class-wcj-price-labels.php:34
|
2443 |
msgid "Between regular and sale prices"
|
2444 |
msgstr ""
|
2445 |
|
2446 |
+
#: includes/class-wcj-price-labels.php:35
|
2447 |
msgid "After the price"
|
2448 |
msgstr ""
|
2449 |
|
2450 |
+
#: includes/class-wcj-price-labels.php:40
|
2451 |
#: includes/class-wcj-product-info.php:235
|
2452 |
#: includes/class-wcj-shipping-by-products.php:195
|
2453 |
#: includes/class-wcj-shipping-options.php:121
|
2458 |
#: includes/settings/wcj-settings-admin-bar.php:34
|
2459 |
#: includes/settings/wcj-settings-admin-tools.php:20
|
2460 |
#: includes/settings/wcj-settings-admin-tools.php:27
|
2461 |
+
#: includes/settings/wcj-settings-admin-tools.php:36
|
2462 |
+
#: includes/settings/wcj-settings-admin-tools.php:62
|
2463 |
+
#: includes/settings/wcj-settings-admin-tools.php:69
|
2464 |
+
#: includes/settings/wcj-settings-admin-tools.php:76
|
2465 |
+
#: includes/settings/wcj-settings-admin-tools.php:92
|
2466 |
+
#: includes/settings/wcj-settings-admin-tools.php:99
|
2467 |
+
#: includes/settings/wcj-settings-admin-tools.php:106
|
2468 |
#: includes/settings/wcj-settings-breadcrumbs.php:20
|
2469 |
#: includes/settings/wcj-settings-call-for-price.php:79
|
2470 |
#: includes/settings/wcj-settings-cart-customization.php:34
|
2495 |
#: includes/settings/wcj-settings-currency-per-product.php:97
|
2496 |
#: includes/settings/wcj-settings-currency-per-product.php:104
|
2497 |
#: includes/settings/wcj-settings-currency-per-product.php:258
|
2498 |
+
#: includes/settings/wcj-settings-custom-css.php:44
|
2499 |
#: includes/settings/wcj-settings-emails-verification.php:28
|
2500 |
#: includes/settings/wcj-settings-emails-verification.php:36
|
2501 |
#: includes/settings/wcj-settings-general.php:22
|
2504 |
#: includes/settings/wcj-settings-general.php:123
|
2505 |
#: includes/settings/wcj-settings-general.php:174
|
2506 |
#: includes/settings/wcj-settings-global-discount.php:52
|
2507 |
+
#: includes/settings/wcj-settings-global-discount.php:181
|
2508 |
#: includes/settings/wcj-settings-left-to-free-shipping.php:28
|
2509 |
#: includes/settings/wcj-settings-left-to-free-shipping.php:57
|
2510 |
#: includes/settings/wcj-settings-left-to-free-shipping.php:91
|
2531 |
#: includes/settings/wcj-settings-order-quantities.php:195
|
2532 |
#: includes/settings/wcj-settings-orders.php:32
|
2533 |
#: includes/settings/wcj-settings-orders.php:60
|
2534 |
+
#: includes/settings/wcj-settings-orders.php:80
|
2535 |
+
#: includes/settings/wcj-settings-orders.php:105
|
2536 |
#: includes/settings/wcj-settings-payment-gateways-by-shipping.php:23
|
2537 |
+
#: includes/settings/wcj-settings-payment-gateways-currency.php:93
|
2538 |
#: includes/settings/wcj-settings-payment-gateways-fees.php:66
|
2539 |
#: includes/settings/wcj-settings-payment-gateways-fees.php:82
|
2540 |
#: includes/settings/wcj-settings-pdf-invoicing-advanced.php:55
|
2584 |
#: includes/settings/wcj-settings-product-by-user.php:107
|
2585 |
#: includes/settings/wcj-settings-product-info.php:35
|
2586 |
#: includes/settings/wcj-settings-product-info.php:68
|
2587 |
+
#: includes/settings/wcj-settings-product-input-fields.php:23
|
2588 |
+
#: includes/settings/wcj-settings-product-input-fields.php:53
|
2589 |
+
#: includes/settings/wcj-settings-product-input-fields.php:318
|
2590 |
+
#: includes/settings/wcj-settings-product-input-fields.php:336
|
2591 |
+
#: includes/settings/wcj-settings-product-input-fields.php:344
|
2592 |
#: includes/settings/wcj-settings-product-open-pricing.php:100
|
2593 |
#: includes/settings/wcj-settings-product-open-pricing.php:107
|
2594 |
#: includes/settings/wcj-settings-product-open-pricing.php:128
|
2608 |
#: includes/settings/wcj-settings-related-products.php:112
|
2609 |
#: includes/settings/wcj-settings-related-products.php:119
|
2610 |
#: includes/settings/wcj-settings-related-products.php:149
|
2611 |
+
#: includes/settings/wcj-settings-shipping-by-condition.php:26
|
2612 |
#: includes/settings/wcj-settings-shipping-by-order-amount.php:21
|
2613 |
#: includes/settings/wcj-settings-shipping-calculator.php:20
|
2614 |
#: includes/settings/wcj-settings-shipping-calculator.php:27
|
2645 |
msgid "Enable"
|
2646 |
msgstr ""
|
2647 |
|
2648 |
+
#: includes/class-wcj-price-labels.php:41
|
2649 |
msgid "Hide on home page"
|
2650 |
msgstr ""
|
2651 |
|
2652 |
+
#: includes/class-wcj-price-labels.php:42
|
2653 |
msgid "Hide on products page"
|
2654 |
msgstr ""
|
2655 |
|
2656 |
+
#: includes/class-wcj-price-labels.php:43
|
2657 |
msgid "Hide on single"
|
2658 |
msgstr ""
|
2659 |
|
2660 |
+
#: includes/class-wcj-price-labels.php:44
|
2661 |
msgid "Hide on all pages"
|
2662 |
msgstr ""
|
2663 |
|
2664 |
+
#: includes/class-wcj-price-labels.php:45
|
2665 |
msgid "Hide on cart page only"
|
2666 |
msgstr ""
|
2667 |
|
2668 |
+
#: includes/class-wcj-price-labels.php:46
|
2669 |
msgid "Hide for main price"
|
2670 |
msgstr ""
|
2671 |
|
2672 |
+
#: includes/class-wcj-price-labels.php:47
|
2673 |
msgid "Hide for all variations"
|
2674 |
msgstr ""
|
2675 |
|
2676 |
+
#: includes/class-wcj-price-labels.php:134
|
2677 |
msgid "Booster: Custom Price Labels"
|
2678 |
msgstr ""
|
2679 |
|
2987 |
msgstr ""
|
2988 |
|
2989 |
#: includes/class-wcj-product-bulk-price-converter.php:262
|
2990 |
+
#: includes/shortcodes/class-wcj-shortcodes-products.php:354
|
2991 |
msgid "Any"
|
2992 |
msgstr ""
|
2993 |
|
3204 |
|
3205 |
#: includes/class-wcj-product-by-user.php:197
|
3206 |
#: includes/class-wcj-product-tabs.php:591
|
3207 |
+
#: includes/gateways/class-wc-gateway-wcj-custom.php:55
|
3208 |
#: includes/input-fields/wcj-product-input-fields-options.php:51
|
3209 |
#: includes/settings/wcj-settings-admin-orders-list.php:172
|
3210 |
#: includes/settings/wcj-settings-checkout-fees.php:47
|
3229 |
#: includes/shortcodes/class-wcj-shortcodes-products-add-form.php:334
|
3230 |
#: includes/widgets/class-wcj-widget-country-switcher.php:62
|
3231 |
#: includes/widgets/class-wcj-widget-left-to-free-shipping.php:52
|
3232 |
+
#: includes/widgets/class-wcj-widget-multicurrency.php:69
|
3233 |
#: includes/widgets/class-wcj-widget-selector.php:52
|
3234 |
msgid "Title"
|
3235 |
msgstr ""
|
3245 |
#: includes/admin/class-wc-settings-jetpack.php:480
|
3246 |
#: includes/admin/class-wc-settings-jetpack.php:492
|
3247 |
#: includes/admin/class-wc-settings-jetpack.php:501
|
3248 |
+
#: includes/functions/wcj-functions-general.php:448
|
3249 |
msgid "Product Info"
|
3250 |
msgstr ""
|
3251 |
|
3293 |
#: includes/settings/wcj-settings-cross-sells.php:14
|
3294 |
#: includes/settings/wcj-settings-custom-css.php:14
|
3295 |
#: includes/settings/wcj-settings-custom-js.php:14
|
3296 |
+
#: includes/settings/wcj-settings-custom-php.php:16
|
3297 |
#: includes/settings/wcj-settings-empty-cart.php:14
|
3298 |
#: includes/settings/wcj-settings-eu-vat-number.php:15
|
3299 |
#: includes/settings/wcj-settings-global-discount.php:19
|
3300 |
#: includes/settings/wcj-settings-multicurrency-base-price.php:17
|
3301 |
+
#: includes/settings/wcj-settings-payment-gateways-currency.php:61
|
3302 |
#: includes/settings/wcj-settings-payment-gateways-icons.php:14
|
3303 |
#: includes/settings/wcj-settings-payment-gateways-per-category.php:18
|
3304 |
#: includes/settings/wcj-settings-price-by-user-role.php:14
|
3688 |
#: includes/settings/wcj-settings-checkout-core-fields.php:71
|
3689 |
#: includes/settings/wcj-settings-currency-exchange-rates.php:142
|
3690 |
#: includes/settings/wcj-settings-order-numbers.php:46
|
3691 |
+
#: includes/settings/wcj-settings-orders.php:180
|
3692 |
#: includes/settings/wcj-settings-product-add-to-cart.php:64
|
3693 |
#: includes/settings/meta-box/wcj-settings-meta-box-product-by-date.php:22
|
3694 |
#: includes/settings/meta-box/wcj-settings-meta-box-product-by-time.php:19
|
3895 |
msgid "Customize products sale flash."
|
3896 |
msgstr ""
|
3897 |
|
3898 |
+
#: includes/class-wcj-sale-flash.php:84 includes/class-wcj-sale-flash.php:120
|
3899 |
#: includes/settings/wcj-settings-sale-flash.php:29
|
3900 |
+
#: includes/settings/wcj-settings-sale-flash.php:113
|
3901 |
#: includes/settings/meta-box/wcj-settings-meta-box-sale-flash.php:26
|
3902 |
msgid "Sale!"
|
3903 |
msgstr ""
|
3904 |
|
3905 |
#: includes/class-wcj-shipping-by-cities.php:25
|
3906 |
+
msgid "Shipping Methods by City or Postcode"
|
3907 |
msgstr ""
|
3908 |
|
3909 |
#: includes/class-wcj-shipping-by-cities.php:26
|
3910 |
+
msgid ""
|
3911 |
+
"Set shipping cities or postcodes to include/exclude for shipping methods to "
|
3912 |
+
"show up."
|
3913 |
msgstr ""
|
3914 |
|
3915 |
#: includes/class-wcj-shipping-by-cities.php:31
|
3920 |
msgid "Otherwise enter cities one per line."
|
3921 |
msgstr ""
|
3922 |
|
3923 |
+
#: includes/class-wcj-shipping-by-cities.php:38
|
3924 |
+
msgid "Postcodes"
|
3925 |
+
msgstr ""
|
3926 |
+
|
3927 |
+
#: includes/class-wcj-shipping-by-cities.php:39
|
3928 |
+
msgid "Otherwise enter postcodes one per line."
|
3929 |
+
msgstr ""
|
3930 |
+
|
3931 |
+
#: includes/class-wcj-shipping-by-cities.php:40
|
3932 |
+
#: includes/settings/wcj-settings-payment-gateways-by-country.php:121
|
3933 |
+
#: includes/settings/wcj-settings-payment-gateways-by-country.php:131
|
3934 |
+
msgid ""
|
3935 |
+
"Postcodes containing wildcards (e.g. CB23*) and fully numeric ranges (e.g. "
|
3936 |
+
"<code>90210...99000</code>) are also supported."
|
3937 |
+
msgstr ""
|
3938 |
+
|
3939 |
#: includes/class-wcj-shipping-by-order-amount.php:26
|
3940 |
#: includes/settings/wcj-settings-shipping-by-order-amount.php:33
|
3941 |
msgid "Shipping Methods by Min/Max Order Amount"
|
4024 |
|
4025 |
#: includes/class-wcj-shipping-by-products.php:205
|
4026 |
#: includes/settings/wcj-settings-payment-gateways-by-shipping.php:25
|
4027 |
+
#: includes/settings/wcj-settings-shipping-by-condition.php:28
|
4028 |
#: includes/settings/wcj-settings-shipping-by-order-amount.php:23
|
4029 |
#: includes/settings/wcj-settings-shipping-description.php:61
|
4030 |
#: includes/settings/wcj-settings-shipping-icons.php:63
|
4033 |
msgid "Save changes after enabling this option."
|
4034 |
msgstr ""
|
4035 |
|
4036 |
+
#: includes/class-wcj-shipping-by-time.php:27
|
4037 |
+
msgid "Shipping Methods by Current Date/Time"
|
4038 |
+
msgstr ""
|
4039 |
+
|
4040 |
+
#: includes/class-wcj-shipping-by-time.php:28
|
4041 |
+
msgid ""
|
4042 |
+
"Set date and/or time to include/exclude for shipping methods to show up."
|
4043 |
+
msgstr ""
|
4044 |
+
|
4045 |
+
#: includes/class-wcj-shipping-by-time.php:33
|
4046 |
+
msgid "Time"
|
4047 |
+
msgstr ""
|
4048 |
+
|
4049 |
+
#: includes/class-wcj-shipping-by-time.php:34
|
4050 |
+
#, php-format
|
4051 |
+
msgid "Current time: %s."
|
4052 |
+
msgstr ""
|
4053 |
+
|
4054 |
+
#: includes/class-wcj-shipping-by-time.php:35
|
4055 |
+
#, php-format
|
4056 |
+
msgid ""
|
4057 |
+
"Time <em>from</em> and time <em>to</em> must be separated with %s symbol."
|
4058 |
+
msgstr ""
|
4059 |
+
|
4060 |
+
#: includes/class-wcj-shipping-by-time.php:36
|
4061 |
+
#, php-format
|
4062 |
+
msgid ""
|
4063 |
+
"Each time input must be set in format that is parsable by PHP %s function."
|
4064 |
+
msgstr ""
|
4065 |
+
|
4066 |
+
#: includes/class-wcj-shipping-by-time.php:38
|
4067 |
+
#, php-format
|
4068 |
+
msgid "Valid time input examples are: %s"
|
4069 |
+
msgstr ""
|
4070 |
+
|
4071 |
+
#: includes/class-wcj-shipping-by-time.php:112
|
4072 |
+
#, php-format
|
4073 |
+
msgid ""
|
4074 |
+
"According to current time, your time input will be parsed as: from %s to %s."
|
4075 |
+
msgstr ""
|
4076 |
+
|
4077 |
+
#: includes/class-wcj-shipping-by-time.php:115
|
4078 |
+
#, php-format
|
4079 |
+
msgid "Error: %s"
|
4080 |
+
msgstr ""
|
4081 |
+
|
4082 |
+
#: includes/class-wcj-shipping-by-time.php:115
|
4083 |
+
msgid "Time input is not parsable!"
|
4084 |
+
msgstr ""
|
4085 |
+
|
4086 |
#: includes/class-wcj-shipping-by-user-role.php:25
|
4087 |
msgid "Shipping Methods by Users"
|
4088 |
msgstr ""
|
4513 |
#: includes/admin/class-wc-settings-jetpack.php:380
|
4514 |
#: includes/admin/class-wcj-tools.php:73
|
4515 |
#: includes/export/class-wcj-fields-helper.php:293
|
4516 |
+
#: includes/gateways/class-wc-gateway-wcj-custom.php:63
|
4517 |
#: includes/settings/wcj-settings-checkout-custom-fields.php:172
|
4518 |
#: includes/settings/wcj-settings-eu-vat-number.php:34
|
4519 |
#: includes/settings/wcj-settings-product-by-user.php:13
|
4687 |
#: includes/settings/wcj-settings-payment-gateways-by-currency.php:14
|
4688 |
#: includes/settings/wcj-settings-payment-gateways-by-shipping.php:37
|
4689 |
#: includes/settings/wcj-settings-payment-gateways-by-user-role.php:14
|
4690 |
+
#: includes/settings/wcj-settings-payment-gateways-currency.php:15
|
4691 |
#: includes/settings/wcj-settings-payment-gateways-min-max.php:65
|
4692 |
#: includes/settings/wcj-settings-reports.php:118
|
4693 |
msgid "Payment Gateways"
|
4709 |
"Methods and more."
|
4710 |
msgstr ""
|
4711 |
|
4712 |
+
#: includes/admin/wcj-modules-cats.php:161
|
4713 |
msgid "PDF Invoicing & Packing Slips"
|
4714 |
msgstr ""
|
4715 |
|
4716 |
+
#: includes/admin/wcj-modules-cats.php:162
|
4717 |
msgid "PDF Documents"
|
4718 |
msgstr ""
|
4719 |
|
4720 |
+
#: includes/admin/wcj-modules-cats.php:178
|
4721 |
msgid "Emails & Misc."
|
4722 |
msgstr ""
|
4723 |
|
4724 |
+
#: includes/admin/wcj-modules-cats.php:179
|
4725 |
msgid "Emails, Reports, Export, Admin Tools, General Options and more."
|
4726 |
msgstr ""
|
4727 |
|
4739 |
msgid "Invisible"
|
4740 |
msgstr ""
|
4741 |
|
4742 |
+
#: includes/classes/class-wcj-module.php:126
|
4743 |
#, php-format
|
4744 |
msgid ""
|
4745 |
"Booster: Free plugin's version is limited to only one \"%1$s\" product with "
|
4748 |
"\"%1$s\" products."
|
4749 |
msgstr ""
|
4750 |
|
4751 |
+
#: includes/classes/class-wcj-module.php:441
|
4752 |
#, php-format
|
4753 |
msgid "Selected: %s."
|
4754 |
msgstr ""
|
4755 |
|
4756 |
+
#: includes/classes/class-wcj-module.php:510
|
4757 |
msgid "Back to Module Settings"
|
4758 |
msgstr ""
|
4759 |
|
4760 |
+
#: includes/classes/class-wcj-module.php:528
|
4761 |
#: includes/settings/wcj-settings-wpml.php:79
|
4762 |
msgid "Module Tools"
|
4763 |
msgstr ""
|
4764 |
|
4765 |
+
#: includes/classes/class-wcj-module.php:601
|
4766 |
#: includes/settings/wcj-settings-checkout-core-fields.php:64
|
4767 |
msgid "enabled"
|
4768 |
msgstr ""
|
4769 |
|
4770 |
+
#: includes/classes/class-wcj-module.php:602
|
4771 |
msgid "disabled"
|
4772 |
msgstr ""
|
4773 |
|
4774 |
+
#: includes/classes/class-wcj-module.php:610
|
4775 |
#: includes/settings/wcj-settings-product-tabs.php:172
|
4776 |
#: includes/settings/wcj-settings-product-tabs.php:184
|
4777 |
#: includes/settings/wcj-settings-product-tabs.php:196
|
4779 |
msgid "Deprecated"
|
4780 |
msgstr ""
|
4781 |
|
4782 |
+
#: includes/classes/class-wcj-module.php:648
|
4783 |
msgid "Reset Settings"
|
4784 |
msgstr ""
|
4785 |
|
4786 |
+
#: includes/classes/class-wcj-module.php:654
|
4787 |
msgid "Reset Module to Default Settings"
|
4788 |
msgstr ""
|
4789 |
|
4790 |
+
#: includes/classes/class-wcj-module.php:655
|
4791 |
msgid "Reset Submodule to Default Settings"
|
4792 |
msgstr ""
|
4793 |
|
4794 |
+
#: includes/classes/class-wcj-module.php:659
|
4795 |
msgid "Reset settings"
|
4796 |
msgstr ""
|
4797 |
|
4798 |
+
#: includes/classes/class-wcj-module.php:693
|
4799 |
msgid "Module Options"
|
4800 |
msgstr ""
|
4801 |
|
4802 |
+
#: includes/classes/class-wcj-module.php:700
|
4803 |
msgid "Enable Module"
|
4804 |
msgstr ""
|
4805 |
|
4808 |
msgid "Company Name"
|
4809 |
msgstr ""
|
4810 |
|
4811 |
+
#: includes/classes/class-wcj-pdf-invoice.php:251
|
4812 |
+
#: includes/functions/wcj-functions-general.php:145
|
4813 |
#: includes/pdf-invoices/class-wcj-pdf-invoicing-report-tool.php:245
|
4814 |
msgid "Unexpected error"
|
4815 |
msgstr ""
|
4816 |
|
4817 |
#: includes/classes/class-wcj-shortcodes.php:109
|
4818 |
+
#: includes/shortcodes/class-wcj-shortcodes-general.php:501
|
4819 |
#, php-format
|
4820 |
msgid "\"%s\" module is not enabled!"
|
4821 |
msgstr ""
|
4890 |
msgstr ""
|
4891 |
|
4892 |
#: includes/emails/class-wc-email-wcj-custom.php:229
|
4893 |
+
#: includes/gateways/class-wc-gateway-wcj-custom.php:48
|
4894 |
#: includes/settings/wcj-settings-admin-products-list.php:19
|
4895 |
#: includes/settings/wcj-settings-admin-products-list.php:75
|
4896 |
#: includes/settings/wcj-settings-checkout-custom-fields.php:121
|
5143 |
|
5144 |
#: includes/export/class-wcj-fields-helper.php:80
|
5145 |
#: includes/export/class-wcj-fields-helper.php:295
|
5146 |
+
#: includes/gateways/class-wc-gateway-wcj-custom.php:148
|
5147 |
msgid "URL"
|
5148 |
msgstr ""
|
5149 |
|
5375 |
#: includes/settings/meta-box/wcj-settings-meta-box-product-addons.php:45
|
5376 |
#: includes/shipping/class-wc-shipping-wcj-custom-with-shipping-zones.php:152
|
5377 |
#: includes/shipping/class-wc-shipping-wcj-custom.php:114
|
5378 |
+
#: includes/widgets/class-wcj-widget-multicurrency.php:76
|
5379 |
msgid "Type"
|
5380 |
msgstr ""
|
5381 |
|
6654 |
msgid "CoinMarketCap"
|
6655 |
msgstr ""
|
6656 |
|
6657 |
+
#: includes/functions/wcj-functions-general.php:651
|
6658 |
#: includes/settings/wcj-settings-cross-sells.php:73
|
6659 |
#: includes/settings/wcj-settings-empty-cart.php:47
|
6660 |
msgid "Before cart"
|
6661 |
msgstr ""
|
6662 |
|
6663 |
+
#: includes/functions/wcj-functions-general.php:652
|
6664 |
msgid "Before cart table"
|
6665 |
msgstr ""
|
6666 |
|
6667 |
+
#: includes/functions/wcj-functions-general.php:653
|
6668 |
msgid "Before cart contents"
|
6669 |
msgstr ""
|
6670 |
|
6671 |
+
#: includes/functions/wcj-functions-general.php:654
|
6672 |
msgid "Cart contents"
|
6673 |
msgstr ""
|
6674 |
|
6675 |
+
#: includes/functions/wcj-functions-general.php:655
|
6676 |
msgid "Cart coupon"
|
6677 |
msgstr ""
|
6678 |
|
6679 |
+
#: includes/functions/wcj-functions-general.php:656
|
6680 |
msgid "Cart actions"
|
6681 |
msgstr ""
|
6682 |
|
6683 |
+
#: includes/functions/wcj-functions-general.php:657
|
6684 |
msgid "After cart contents"
|
6685 |
msgstr ""
|
6686 |
|
6687 |
+
#: includes/functions/wcj-functions-general.php:658
|
6688 |
msgid "After cart table"
|
6689 |
msgstr ""
|
6690 |
|
6691 |
+
#: includes/functions/wcj-functions-general.php:659
|
6692 |
#: includes/settings/wcj-settings-cross-sells.php:74
|
6693 |
msgid "Cart collaterals"
|
6694 |
msgstr ""
|
6695 |
|
6696 |
+
#: includes/functions/wcj-functions-general.php:660
|
6697 |
#: includes/settings/wcj-settings-cross-sells.php:75
|
6698 |
#: includes/settings/wcj-settings-empty-cart.php:56
|
6699 |
msgid "After cart"
|
6700 |
msgstr ""
|
6701 |
|
6702 |
+
#: includes/functions/wcj-functions-general.php:662
|
6703 |
msgid "Before cart totals"
|
6704 |
msgstr ""
|
6705 |
|
6706 |
+
#: includes/functions/wcj-functions-general.php:663
|
6707 |
#: includes/settings/wcj-settings-empty-cart.php:49
|
6708 |
msgid "Cart totals: Before shipping"
|
6709 |
msgstr ""
|
6710 |
|
6711 |
+
#: includes/functions/wcj-functions-general.php:664
|
6712 |
#: includes/settings/wcj-settings-empty-cart.php:50
|
6713 |
msgid "Cart totals: After shipping"
|
6714 |
msgstr ""
|
6715 |
|
6716 |
+
#: includes/functions/wcj-functions-general.php:665
|
6717 |
#: includes/settings/wcj-settings-empty-cart.php:51
|
6718 |
msgid "Cart totals: Before order total"
|
6719 |
msgstr ""
|
6720 |
|
6721 |
+
#: includes/functions/wcj-functions-general.php:666
|
6722 |
#: includes/settings/wcj-settings-empty-cart.php:52
|
6723 |
msgid "Cart totals: After order total"
|
6724 |
msgstr ""
|
6725 |
|
6726 |
+
#: includes/functions/wcj-functions-general.php:667
|
6727 |
msgid "Proceed to checkout"
|
6728 |
msgstr ""
|
6729 |
|
6730 |
+
#: includes/functions/wcj-functions-general.php:668
|
6731 |
msgid "After cart totals"
|
6732 |
msgstr ""
|
6733 |
|
6734 |
+
#: includes/functions/wcj-functions-general.php:670
|
6735 |
msgid "Before shipping calculator"
|
6736 |
msgstr ""
|
6737 |
|
6738 |
+
#: includes/functions/wcj-functions-general.php:671
|
6739 |
msgid "After shipping calculator"
|
6740 |
msgstr ""
|
6741 |
|
6742 |
+
#: includes/functions/wcj-functions-general.php:673
|
6743 |
msgid "If cart is empty"
|
6744 |
msgstr ""
|
6745 |
|
6861 |
msgid "You have Free delivery"
|
6862 |
msgstr ""
|
6863 |
|
6864 |
+
#: includes/gateways/class-wc-gateway-wcj-custom.php:50
|
6865 |
msgid "Enable Custom Payment"
|
6866 |
msgstr ""
|
6867 |
|
6868 |
+
#: includes/gateways/class-wc-gateway-wcj-custom.php:57
|
6869 |
#: includes/shipping/class-wc-shipping-wcj-custom-with-shipping-zones.php:146
|
6870 |
#: includes/shipping/class-wc-shipping-wcj-custom.php:109
|
6871 |
msgid "This controls the title which the user sees during checkout."
|
6872 |
msgstr ""
|
6873 |
|
6874 |
+
#: includes/gateways/class-wc-gateway-wcj-custom.php:58
|
6875 |
msgid "Custom Payment"
|
6876 |
msgstr ""
|
6877 |
|
6878 |
+
#: includes/gateways/class-wc-gateway-wcj-custom.php:65
|
6879 |
msgid "Payment method description that the customer will see on your checkout."
|
6880 |
msgstr ""
|
6881 |
|
6882 |
+
#: includes/gateways/class-wc-gateway-wcj-custom.php:66
|
6883 |
msgid "You can add input fields with [wcj_input_field] shortcode."
|
6884 |
msgstr ""
|
6885 |
|
6886 |
+
#: includes/gateways/class-wc-gateway-wcj-custom.php:67
|
6887 |
msgid "Custom Payment Description."
|
6888 |
msgstr ""
|
6889 |
|
6890 |
+
#: includes/gateways/class-wc-gateway-wcj-custom.php:72
|
6891 |
msgid "Instructions"
|
6892 |
msgstr ""
|
6893 |
|
6894 |
+
#: includes/gateways/class-wc-gateway-wcj-custom.php:74
|
6895 |
msgid "Instructions that will be added to the thank you page."
|
6896 |
msgstr ""
|
6897 |
|
6898 |
+
#: includes/gateways/class-wc-gateway-wcj-custom.php:80
|
6899 |
msgid "Email Instructions"
|
6900 |
msgstr ""
|
6901 |
|
6902 |
+
#: includes/gateways/class-wc-gateway-wcj-custom.php:82
|
6903 |
msgid "Instructions that will be added to the emails."
|
6904 |
msgstr ""
|
6905 |
|
6906 |
+
#: includes/gateways/class-wc-gateway-wcj-custom.php:88
|
6907 |
msgid "Icon"
|
6908 |
msgstr ""
|
6909 |
|
6910 |
+
#: includes/gateways/class-wc-gateway-wcj-custom.php:90
|
6911 |
#: includes/settings/wcj-settings-payment-gateways-icons.php:16
|
6912 |
msgid ""
|
6913 |
"If you want to show an image next to the gateway's name on the frontend, "
|
6914 |
"enter a URL to an image."
|
6915 |
msgstr ""
|
6916 |
|
6917 |
+
#: includes/gateways/class-wc-gateway-wcj-custom.php:97
|
6918 |
#: includes/settings/wcj-settings-shipping-by-order-amount.php:57
|
6919 |
msgid "Minimum order amount"
|
6920 |
msgstr ""
|
6921 |
|
6922 |
+
#: includes/gateways/class-wc-gateway-wcj-custom.php:99
|
6923 |
msgid ""
|
6924 |
"If you want to set minimum order amount (excluding fees) to show this "
|
6925 |
"gateway on frontend, enter a number here. Set to 0 to disable."
|
6926 |
msgstr ""
|
6927 |
|
6928 |
+
#: includes/gateways/class-wc-gateway-wcj-custom.php:106
|
6929 |
#: includes/settings/wcj-settings-payment-gateways-by-shipping.php:59
|
6930 |
msgid "Enable for shipping methods"
|
6931 |
msgstr ""
|
6932 |
|
6933 |
+
#: includes/gateways/class-wc-gateway-wcj-custom.php:111
|
6934 |
msgid ""
|
6935 |
"If gateway is only available for certain shipping methods, set it up here. "
|
6936 |
"Leave blank to enable for all methods."
|
6937 |
msgstr ""
|
6938 |
|
6939 |
+
#: includes/gateways/class-wc-gateway-wcj-custom.php:114
|
6940 |
#: includes/settings/wcj-settings-payment-gateways-by-shipping.php:66
|
6941 |
msgid "Select shipping methods"
|
6942 |
msgstr ""
|
6943 |
|
6944 |
+
#: includes/gateways/class-wc-gateway-wcj-custom.php:118
|
6945 |
msgid "Enable for virtual orders"
|
6946 |
msgstr ""
|
6947 |
|
6948 |
+
#: includes/gateways/class-wc-gateway-wcj-custom.php:119
|
6949 |
msgid "Enable gateway if the order is virtual"
|
6950 |
msgstr ""
|
6951 |
|
6952 |
+
#: includes/gateways/class-wc-gateway-wcj-custom.php:125
|
6953 |
#: includes/settings/wcj-settings-order-custom-statuses.php:19
|
6954 |
msgid "Default Order Status"
|
6955 |
msgstr ""
|
6956 |
|
6957 |
+
#: includes/gateways/class-wc-gateway-wcj-custom.php:126
|
6958 |
msgid "Enable Custom Statuses feature to add custom statuses to the list."
|
6959 |
msgstr ""
|
6960 |
|
6961 |
+
#: includes/gateways/class-wc-gateway-wcj-custom.php:133
|
6962 |
msgid "Send Additional Emails"
|
6963 |
msgstr ""
|
6964 |
|
6965 |
+
#: includes/gateways/class-wc-gateway-wcj-custom.php:134
|
6966 |
msgid "Send to Admin"
|
6967 |
msgstr ""
|
6968 |
|
6969 |
+
#: includes/gateways/class-wc-gateway-wcj-custom.php:140
|
6970 |
msgid "Send to Customer"
|
6971 |
msgstr ""
|
6972 |
|
6973 |
+
#: includes/gateways/class-wc-gateway-wcj-custom.php:141
|
6974 |
msgid ""
|
6975 |
"This may help if you are using pending or custom default status and not "
|
6976 |
"getting new order emails."
|
6977 |
msgstr ""
|
6978 |
|
6979 |
+
#: includes/gateways/class-wc-gateway-wcj-custom.php:147
|
6980 |
msgid "Custom Return URL (Thank You Page)"
|
6981 |
msgstr ""
|
6982 |
|
6983 |
+
#: includes/gateways/class-wc-gateway-wcj-custom.php:149
|
6984 |
msgid "Enter full URL with http(s)."
|
6985 |
msgstr ""
|
6986 |
|
6987 |
+
#: includes/gateways/class-wc-gateway-wcj-custom.php:150
|
6988 |
msgid "Optional. Leave blank to use default URL."
|
6989 |
msgstr ""
|
6990 |
|
6991 |
+
#: includes/gateways/class-wc-gateway-wcj-custom.php:346
|
6992 |
#: includes/settings/wcj-settings-payment-gateways.php:38
|
6993 |
msgid "Custom Gateway"
|
6994 |
msgstr ""
|
6995 |
|
6996 |
+
#: includes/gateways/class-wc-gateway-wcj-custom.php:347
|
6997 |
msgid "Booster for WooCommerce: Custom Payment Gateway"
|
6998 |
msgstr ""
|
6999 |
|
7007 |
|
7008 |
#: includes/input-fields/class-wcj-product-input-fields-core.php:167
|
7009 |
#: includes/input-fields/class-wcj-product-input-fields-core.php:322
|
7010 |
+
#: includes/settings/wcj-settings-product-input-fields.php:84
|
7011 |
msgid "Product Input Field"
|
7012 |
msgstr ""
|
7013 |
|
7019 |
msgid "File is too big!"
|
7020 |
msgstr ""
|
7021 |
|
7022 |
+
#: includes/input-fields/class-wcj-product-input-fields-core.php:642
|
7023 |
msgid "Select a country…"
|
7024 |
msgstr ""
|
7025 |
|
7437 |
msgid ""
|
7438 |
"This option is disabled with \"Disable Saving PDFs in PHP directory for "
|
7439 |
"temporary files\" checkbox in <a href=\"%s\" target=\"_blank\">WooCommerce > "
|
7440 |
+
"Settings > Booster > PDF Invoicing & Packing Slips > Advanced</a>."
|
7441 |
msgstr ""
|
7442 |
|
7443 |
#: includes/pdf-invoices/class-wcj-pdf-invoicing-report-tool.php:80
|
7581 |
msgstr ""
|
7582 |
|
7583 |
#: includes/pdf-invoices/submodules/class-wcj-pdf-invoicing-footer.php:21
|
7584 |
+
#: includes/settings/wcj-settings-custom-css.php:25
|
7585 |
+
#: includes/settings/wcj-settings-custom-js.php:25
|
7586 |
msgid "Footer"
|
7587 |
msgstr ""
|
7588 |
|
7589 |
#: includes/pdf-invoices/submodules/class-wcj-pdf-invoicing-header.php:23
|
7590 |
+
#: includes/settings/wcj-settings-custom-css.php:24
|
7591 |
+
#: includes/settings/wcj-settings-custom-js.php:24
|
7592 |
msgid "Header"
|
7593 |
msgstr ""
|
7594 |
|
7961 |
#: includes/settings/wcj-settings-order-quantities.php:79
|
7962 |
#: includes/settings/wcj-settings-order-quantities.php:180
|
7963 |
#: includes/settings/wcj-settings-order-quantities.php:213
|
7964 |
+
#: includes/settings/wcj-settings-orders.php:150
|
7965 |
#: includes/settings/wcj-settings-price-formats.php:37
|
7966 |
#: includes/settings/wcj-settings-product-add-to-cart.php:273
|
7967 |
#: includes/settings/wcj-settings-product-listings.php:138
|
7968 |
#: includes/settings/wcj-settings-sale-flash.php:20
|
7969 |
#: includes/settings/wcj-settings-sale-flash.php:65
|
7970 |
#: includes/settings/wcj-settings-sale-flash.php:90
|
7971 |
+
#: includes/settings/wcj-settings-shipping-by-condition.php:48
|
7972 |
#: includes/settings/wcj-settings-shipping-options.php:21
|
7973 |
#: includes/settings/wcj-settings-stock.php:20
|
7974 |
#: includes/settings/wcj-settings-stock.php:87
|
8495 |
msgid "Show Booster Menus Only to Admin"
|
8496 |
msgstr ""
|
8497 |
|
8498 |
+
#: includes/settings/wcj-settings-admin-tools.php:26
|
8499 |
+
msgid "Suppress Admin Connect Notice"
|
8500 |
msgstr ""
|
8501 |
|
8502 |
+
#: includes/settings/wcj-settings-admin-tools.php:28
|
8503 |
+
#, php-format
|
8504 |
+
msgid "Will remove \"%s\" admin notice."
|
8505 |
+
msgstr ""
|
8506 |
+
|
8507 |
+
#: includes/settings/wcj-settings-admin-tools.php:29
|
8508 |
+
msgid ""
|
8509 |
+
"Connect your store to WooCommerce.com to receive extensions updates and "
|
8510 |
+
"support."
|
8511 |
+
msgstr ""
|
8512 |
+
|
8513 |
+
#: includes/settings/wcj-settings-admin-tools.php:35
|
8514 |
+
msgid "Suppress Admin Notices"
|
8515 |
msgstr ""
|
8516 |
|
8517 |
+
#: includes/settings/wcj-settings-admin-tools.php:37
|
8518 |
+
msgid "Will remove admin notices (including the Connect notice)."
|
8519 |
+
msgstr ""
|
8520 |
+
|
8521 |
+
#: includes/settings/wcj-settings-admin-tools.php:43
|
8522 |
msgid "PHP Memory Limit"
|
8523 |
msgstr ""
|
8524 |
|
8525 |
+
#: includes/settings/wcj-settings-admin-tools.php:44
|
8526 |
msgid "megabytes."
|
8527 |
msgstr ""
|
8528 |
|
8529 |
+
#: includes/settings/wcj-settings-admin-tools.php:45
|
8530 |
+
#: includes/settings/wcj-settings-admin-tools.php:54
|
8531 |
#: includes/settings/wcj-settings-offer-price.php:172
|
8532 |
#: includes/settings/wcj-settings-offer-price.php:180
|
8533 |
#: includes/settings/meta-box/wcj-settings-meta-box-offer-price.php:43
|
8535 |
msgid "Set zero to disable."
|
8536 |
msgstr ""
|
8537 |
|
8538 |
+
#: includes/settings/wcj-settings-admin-tools.php:52
|
8539 |
msgid "PHP Time Limit"
|
8540 |
msgstr ""
|
8541 |
|
8542 |
+
#: includes/settings/wcj-settings-admin-tools.php:53
|
8543 |
msgid "seconds."
|
8544 |
msgstr ""
|
8545 |
|
8546 |
+
#: includes/settings/wcj-settings-admin-tools.php:61
|
|
|
|
|
|
|
|
|
8547 |
msgid "Show Order Meta"
|
8548 |
msgstr ""
|
8549 |
|
8550 |
+
#: includes/settings/wcj-settings-admin-tools.php:68
|
8551 |
msgid "Show Product Meta"
|
8552 |
msgstr ""
|
8553 |
|
8554 |
+
#: includes/settings/wcj-settings-admin-tools.php:75
|
8555 |
msgid "Show Variable Product Pricing Table"
|
8556 |
msgstr ""
|
8557 |
|
8558 |
+
#: includes/settings/wcj-settings-admin-tools.php:86
|
8559 |
+
msgid "Debug Tools Options"
|
8560 |
+
msgstr ""
|
8561 |
+
|
8562 |
+
#: includes/settings/wcj-settings-admin-tools.php:98
|
8563 |
+
msgid "WooCommerce Log"
|
8564 |
+
msgstr ""
|
8565 |
+
|
8566 |
+
#: includes/settings/wcj-settings-admin-tools.php:105
|
8567 |
+
msgid "Debug"
|
8568 |
+
msgstr ""
|
8569 |
+
|
8570 |
+
#: includes/settings/wcj-settings-admin-tools.php:112
|
8571 |
+
msgid "System Info"
|
8572 |
+
msgstr ""
|
8573 |
+
|
8574 |
#: includes/settings/wcj-settings-breadcrumbs.php:19
|
8575 |
msgid "Change Breadcrumbs Home URL"
|
8576 |
msgstr ""
|
8738 |
#: includes/settings/wcj-settings-payment-gateways-min-max.php:15
|
8739 |
#: includes/settings/wcj-settings-price-formats.php:15
|
8740 |
#: includes/settings/wcj-settings-product-tabs.php:15
|
8741 |
+
#: includes/settings/wcj-settings-shipping-by-condition.php:20
|
8742 |
#: includes/settings/wcj-settings-shipping-by-order-amount.php:15
|
8743 |
#: includes/settings/wcj-settings-shipping-time.php:25
|
8744 |
#: includes/settings/wcj-settings-wpml.php:22
|
8924 |
msgstr ""
|
8925 |
|
8926 |
#: includes/settings/wcj-settings-checkout-custom-fields.php:96
|
8927 |
+
#: includes/settings/wcj-settings-product-input-fields.php:61
|
8928 |
msgid "Click Save changes after you change this number."
|
8929 |
msgstr ""
|
8930 |
|
8953 |
|
8954 |
#: includes/settings/wcj-settings-checkout-custom-fields.php:199
|
8955 |
#: includes/settings/wcj-settings-eu-vat-number.php:63
|
8956 |
+
#: includes/widgets/class-wcj-widget-multicurrency.php:100
|
8957 |
msgid "Class"
|
8958 |
msgstr ""
|
8959 |
|
9372 |
#: includes/settings/wcj-settings-my-account.php:143
|
9373 |
#: includes/settings/wcj-settings-my-account.php:203
|
9374 |
#: includes/settings/wcj-settings-sale-flash.php:27
|
9375 |
+
#: includes/settings/wcj-settings-sale-flash.php:111
|
9376 |
#: includes/settings/meta-box/wcj-settings-meta-box-add-to-cart-button-visibility.php:30
|
9377 |
#: includes/settings/meta-box/wcj-settings-meta-box-add-to-cart-button-visibility.php:49
|
9378 |
msgid "You can use HTML and/or shortcodes here."
|
9588 |
msgstr ""
|
9589 |
|
9590 |
#: includes/settings/wcj-settings-checkout-files-upload.php:250
|
9591 |
+
#: includes/settings/wcj-settings-product-input-fields.php:287
|
9592 |
msgid "Emails Options"
|
9593 |
msgstr ""
|
9594 |
|
9595 |
#: includes/settings/wcj-settings-checkout-files-upload.php:255
|
9596 |
+
#: includes/settings/wcj-settings-product-input-fields.php:292
|
9597 |
msgid "Attach Files to Admin's New Order Emails"
|
9598 |
msgstr ""
|
9599 |
|
9600 |
#: includes/settings/wcj-settings-checkout-files-upload.php:256
|
9601 |
#: includes/settings/wcj-settings-checkout-files-upload.php:263
|
9602 |
+
#: includes/settings/wcj-settings-product-input-fields.php:293
|
9603 |
+
#: includes/settings/wcj-settings-product-input-fields.php:300
|
9604 |
msgid "Attach"
|
9605 |
msgstr ""
|
9606 |
|
9607 |
#: includes/settings/wcj-settings-checkout-files-upload.php:262
|
9608 |
+
#: includes/settings/wcj-settings-product-input-fields.php:299
|
9609 |
msgid "Attach Files to Customer's Processing Order Emails"
|
9610 |
msgstr ""
|
9611 |
|
9637 |
#: includes/settings/wcj-settings-checkout-files-upload.php:298
|
9638 |
#: includes/settings/wcj-settings-checkout-files-upload.php:352
|
9639 |
#: includes/settings/wcj-settings-checkout-files-upload.php:393
|
9640 |
+
#: includes/settings/wcj-settings-product-addons.php:330
|
9641 |
+
#: includes/settings/wcj-settings-product-addons.php:361
|
9642 |
msgid "Before"
|
9643 |
msgstr ""
|
9644 |
|
9660 |
#: includes/settings/wcj-settings-checkout-files-upload.php:321
|
9661 |
#: includes/settings/wcj-settings-checkout-files-upload.php:367
|
9662 |
#: includes/settings/wcj-settings-checkout-files-upload.php:408
|
9663 |
+
#: includes/settings/wcj-settings-product-addons.php:345
|
9664 |
+
#: includes/settings/wcj-settings-product-addons.php:376
|
9665 |
msgid "After"
|
9666 |
msgstr ""
|
9667 |
|
9701 |
#: includes/settings/wcj-settings-pdf-invoicing-advanced.php:43
|
9702 |
#: includes/settings/wcj-settings-product-by-date.php:117
|
9703 |
#: includes/settings/wcj-settings-product-custom-info.php:186
|
9704 |
+
#: includes/settings/wcj-settings-product-input-fields.php:330
|
9705 |
+
#: includes/settings/wcj-settings-shipping-by-condition.php:108
|
9706 |
msgid "Advanced Options"
|
9707 |
msgstr ""
|
9708 |
|
9914 |
msgstr ""
|
9915 |
|
9916 |
#: includes/settings/wcj-settings-cross-sells.php:79
|
9917 |
+
#: includes/settings/wcj-settings-product-input-fields.php:200
|
9918 |
#: includes/settings/wcj-settings-upsells.php:66
|
9919 |
msgid "Position priority"
|
9920 |
msgstr ""
|
9993 |
#: includes/settings/wcj-settings-currency-per-product.php:119
|
9994 |
#: includes/settings/wcj-settings-multicurrency-base-price.php:22
|
9995 |
#: includes/settings/wcj-settings-multicurrency.php:22
|
9996 |
+
#: includes/settings/wcj-settings-payment-gateways-currency.php:66
|
9997 |
#: includes/settings/wcj-settings-price-by-country.php:282
|
9998 |
msgid "Exchange Rates Updates"
|
9999 |
msgstr ""
|
10172 |
#: includes/settings/wcj-settings-currency-per-product.php:124
|
10173 |
#: includes/settings/wcj-settings-multicurrency-base-price.php:27
|
10174 |
#: includes/settings/wcj-settings-multicurrency.php:28
|
10175 |
+
#: includes/settings/wcj-settings-payment-gateways-currency.php:71
|
10176 |
#: includes/settings/wcj-settings-price-by-country.php:287
|
10177 |
msgid "Enter Rates Manually"
|
10178 |
msgstr ""
|
10180 |
#: includes/settings/wcj-settings-currency-per-product.php:125
|
10181 |
#: includes/settings/wcj-settings-multicurrency-base-price.php:28
|
10182 |
#: includes/settings/wcj-settings-multicurrency.php:29
|
10183 |
+
#: includes/settings/wcj-settings-payment-gateways-currency.php:72
|
10184 |
#: includes/settings/wcj-settings-price-by-country.php:288
|
10185 |
msgid "Automatically via Currency Exchange Rates module"
|
10186 |
msgstr ""
|
10188 |
#: includes/settings/wcj-settings-currency-per-product.php:128
|
10189 |
#: includes/settings/wcj-settings-multicurrency-base-price.php:31
|
10190 |
#: includes/settings/wcj-settings-multicurrency.php:32
|
10191 |
+
#: includes/settings/wcj-settings-payment-gateways-currency.php:75
|
10192 |
#: includes/settings/wcj-settings-price-by-country.php:291
|
10193 |
msgid "Visit"
|
10194 |
msgstr ""
|
10196 |
#: includes/settings/wcj-settings-currency-per-product.php:128
|
10197 |
#: includes/settings/wcj-settings-multicurrency-base-price.php:31
|
10198 |
#: includes/settings/wcj-settings-multicurrency.php:32
|
10199 |
+
#: includes/settings/wcj-settings-payment-gateways-currency.php:77
|
10200 |
#: includes/settings/wcj-settings-price-by-country.php:291
|
10201 |
msgid "Currency Exchange Rates module"
|
10202 |
msgstr ""
|
10274 |
msgstr ""
|
10275 |
|
10276 |
#: includes/settings/wcj-settings-custom-css.php:19
|
10277 |
+
#: includes/settings/wcj-settings-custom-js.php:19
|
10278 |
+
msgid "Code Position"
|
10279 |
+
msgstr ""
|
10280 |
+
|
10281 |
+
#: includes/settings/wcj-settings-custom-css.php:29
|
10282 |
msgid "Custom CSS - Front end (Customers)"
|
10283 |
msgstr ""
|
10284 |
|
10285 |
+
#: includes/settings/wcj-settings-custom-css.php:36
|
10286 |
msgid "Custom CSS - Back end (Admin)"
|
10287 |
msgstr ""
|
10288 |
|
10289 |
+
#: includes/settings/wcj-settings-custom-css.php:43
|
10290 |
msgid "Custom CSS on per Product Basis"
|
10291 |
msgstr ""
|
10292 |
|
10293 |
+
#: includes/settings/wcj-settings-custom-css.php:45
|
10294 |
msgid ""
|
10295 |
"Set product specific CSS to be loaded only on specific product's single page."
|
10296 |
msgstr ""
|
10297 |
|
10298 |
+
#: includes/settings/wcj-settings-custom-css.php:46
|
10299 |
#: includes/settings/wcj-settings-order-quantities.php:54
|
10300 |
#: includes/settings/wcj-settings-order-quantities.php:112
|
10301 |
#: includes/settings/wcj-settings-order-quantities.php:196
|
10303 |
msgid "This will add meta box to each product's edit page."
|
10304 |
msgstr ""
|
10305 |
|
10306 |
+
#: includes/settings/wcj-settings-custom-css.php:52
|
10307 |
msgid "Custom CSS on per Product Basis - Default Field Value"
|
10308 |
msgstr ""
|
10309 |
|
10310 |
+
#: includes/settings/wcj-settings-custom-js.php:29
|
10311 |
msgid "Custom JS - Front end (Customers)"
|
10312 |
msgstr ""
|
10313 |
|
10314 |
+
#: includes/settings/wcj-settings-custom-js.php:36
|
10315 |
msgid "Custom JS - Back end (Admin)"
|
10316 |
msgstr ""
|
10317 |
|
10318 |
+
#: includes/settings/wcj-settings-custom-php.php:27
|
10319 |
+
#, php-format
|
10320 |
+
msgid "Without the %s tag."
|
10321 |
+
msgstr ""
|
10322 |
+
|
10323 |
+
#: includes/settings/wcj-settings-custom-php.php:29
|
10324 |
+
#, php-format
|
10325 |
+
msgid "Automatically created file: %s."
|
10326 |
+
msgstr ""
|
10327 |
+
|
10328 |
#: includes/settings/wcj-settings-email-options.php:14
|
10329 |
msgid "Product Info in Item Name"
|
10330 |
msgstr ""
|
11054 |
msgstr ""
|
11055 |
|
11056 |
#: includes/settings/wcj-settings-global-discount.php:180
|
11057 |
+
msgid "Global Discount in Admin"
|
11058 |
+
msgstr ""
|
11059 |
+
|
11060 |
+
#: includes/settings/wcj-settings-global-discount.php:182
|
11061 |
+
msgid ""
|
11062 |
+
"This will enable \"global discount\" product pricing in backend. It will "
|
11063 |
+
"also affect some modules, e.g.: \"Products XML Feeds\" module."
|
11064 |
+
msgstr ""
|
11065 |
+
|
11066 |
+
#: includes/settings/wcj-settings-global-discount.php:188
|
11067 |
#: includes/settings/wcj-settings-product-price-by-formula.php:92
|
11068 |
msgid "Price Filters Priority"
|
11069 |
msgstr ""
|
11070 |
|
11071 |
+
#: includes/settings/wcj-settings-global-discount.php:189
|
11072 |
#: includes/settings/wcj-settings-multicurrency-base-price.php:68
|
11073 |
#: includes/settings/wcj-settings-multicurrency.php:112
|
11074 |
#: includes/settings/wcj-settings-price-by-country.php:157
|
11373 |
"Add additional price filters here. One per line. Leave blank if not sure."
|
11374 |
msgstr ""
|
11375 |
|
|
|
|
|
|
|
|
|
|
|
|
|
11376 |
#: includes/settings/wcj-settings-multicurrency.php:124
|
11377 |
msgid ""
|
11378 |
"One currency probably should be set to current (original) shop currency with "
|
11959 |
msgid "Enable this if you want the statuses in Status column to have colors."
|
11960 |
msgstr ""
|
11961 |
|
11962 |
+
#: includes/settings/wcj-settings-order-custom-statuses.php:96
|
11963 |
+
msgid "Add Custom Statuses Buttons to Admin Order Preview Actions"
|
11964 |
+
msgstr ""
|
11965 |
+
|
11966 |
+
#: includes/settings/wcj-settings-order-custom-statuses.php:98
|
11967 |
+
msgid ""
|
11968 |
+
"If you wish to add custom statuses buttons to the admin orders preview page, "
|
11969 |
+
"enable the checkbox here."
|
11970 |
+
msgstr ""
|
11971 |
+
|
11972 |
#: includes/settings/wcj-settings-order-min-amount.php:16
|
11973 |
msgid "This section lets you set minimum order amount."
|
11974 |
msgstr ""
|
12376 |
msgstr ""
|
12377 |
|
12378 |
#: includes/settings/wcj-settings-orders.php:72
|
12379 |
+
msgid "Editable Orders"
|
12380 |
+
msgstr ""
|
12381 |
+
|
12382 |
+
#: includes/settings/wcj-settings-orders.php:73
|
12383 |
+
msgid "This section allows you to set which order statuses are editable."
|
12384 |
+
msgstr ""
|
12385 |
+
|
12386 |
+
#: includes/settings/wcj-settings-orders.php:78
|
12387 |
+
msgid "Editable Orders Statuses"
|
12388 |
+
msgstr ""
|
12389 |
+
|
12390 |
+
#: includes/settings/wcj-settings-orders.php:91
|
12391 |
+
msgid "Auto-draft"
|
12392 |
+
msgstr ""
|
12393 |
+
|
12394 |
+
#: includes/settings/wcj-settings-orders.php:98
|
12395 |
msgid "Orders Auto-Complete"
|
12396 |
msgstr ""
|
12397 |
|
12398 |
+
#: includes/settings/wcj-settings-orders.php:100
|
12399 |
msgid "This section lets you enable orders auto-complete function."
|
12400 |
msgstr ""
|
12401 |
|
12402 |
+
#: includes/settings/wcj-settings-orders.php:104
|
12403 |
msgid "Auto-complete all WooCommerce orders"
|
12404 |
msgstr ""
|
12405 |
|
12406 |
+
#: includes/settings/wcj-settings-orders.php:106
|
12407 |
msgid ""
|
12408 |
"E.g. if you sell digital products then you are not shipping anything and you "
|
12409 |
"may want auto-complete all your orders."
|
12410 |
msgstr ""
|
12411 |
|
12412 |
+
#: includes/settings/wcj-settings-orders.php:113
|
12413 |
msgid ""
|
12414 |
"Fill this, if you want orders to be auto-completed for selected payment "
|
12415 |
"methods only. Leave blank to auto-complete all orders."
|
12416 |
msgstr ""
|
12417 |
|
12418 |
+
#: includes/settings/wcj-settings-orders.php:131
|
12419 |
msgid "Add Country by IP Meta Box"
|
12420 |
msgstr ""
|
12421 |
|
12422 |
+
#: includes/settings/wcj-settings-orders.php:133
|
12423 |
msgid ""
|
12424 |
"When enabled this will add \"Booster: Country by IP\" metabox to each "
|
12425 |
"order's edit page."
|
12426 |
msgstr ""
|
12427 |
|
12428 |
+
#: includes/settings/wcj-settings-orders.php:143
|
12429 |
msgid "Bulk Regenerate Download Permissions for Orders"
|
12430 |
msgstr ""
|
12431 |
|
12432 |
+
#: includes/settings/wcj-settings-orders.php:148
|
12433 |
msgid "Bulk Regenerate Download Permissions"
|
12434 |
msgstr ""
|
12435 |
|
12436 |
+
#: includes/settings/wcj-settings-orders.php:157
|
12437 |
msgid "Bulk Actions"
|
12438 |
msgstr ""
|
12439 |
|
12440 |
+
#: includes/settings/wcj-settings-orders.php:158
|
12441 |
msgid ""
|
12442 |
"When enabled this will add \"Regenerate download permissions\" action to "
|
12443 |
"\"Bulk Actions\" select box on admin orders page."
|
12444 |
msgstr ""
|
12445 |
|
12446 |
+
#: includes/settings/wcj-settings-orders.php:166
|
12447 |
msgid "All Orders - Now"
|
12448 |
msgstr ""
|
12449 |
|
12450 |
+
#: includes/settings/wcj-settings-orders.php:167
|
12451 |
msgid ""
|
12452 |
"Check this box and press \"Save changes\" button to start regeneration. "
|
12453 |
"Please note that both module and current section must be enabled before that."
|
12454 |
msgstr ""
|
12455 |
|
12456 |
+
#: includes/settings/wcj-settings-orders.php:168
|
12457 |
msgid "Regenerate now"
|
12458 |
msgstr ""
|
12459 |
|
12460 |
+
#: includes/settings/wcj-settings-orders.php:175
|
12461 |
msgid "All Orders - Periodically"
|
12462 |
msgstr ""
|
12463 |
|
12464 |
+
#: includes/settings/wcj-settings-orders.php:181
|
12465 |
msgid "Regenerate"
|
12466 |
msgstr ""
|
12467 |
|
12501 |
msgid "Include Postcodes (one per line)"
|
12502 |
msgstr ""
|
12503 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
12504 |
#: includes/settings/wcj-settings-payment-gateways-by-country.php:130
|
12505 |
msgid "Exclude Postcodes (one per line)"
|
12506 |
msgstr ""
|
12507 |
|
12508 |
#: includes/settings/wcj-settings-payment-gateways-by-currency.php:16
|
12509 |
#: includes/settings/wcj-settings-payment-gateways-by-user-role.php:16
|
12510 |
+
#: includes/settings/wcj-settings-shipping-by-condition.php:43
|
12511 |
msgid "Leave empty to disable."
|
12512 |
msgstr ""
|
12513 |
|
12525 |
msgstr ""
|
12526 |
|
12527 |
#: includes/settings/wcj-settings-payment-gateways-by-shipping.php:22
|
12528 |
+
#: includes/settings/wcj-settings-shipping-by-condition.php:25
|
12529 |
#: includes/settings/wcj-settings-shipping-by-order-amount.php:20
|
12530 |
#: includes/settings/wcj-settings-shipping-description.php:58
|
12531 |
#: includes/settings/wcj-settings-shipping-icons.php:60
|
12534 |
msgstr ""
|
12535 |
|
12536 |
#: includes/settings/wcj-settings-payment-gateways-by-shipping.php:24
|
12537 |
+
#: includes/settings/wcj-settings-shipping-by-condition.php:27
|
12538 |
#: includes/settings/wcj-settings-shipping-by-order-amount.php:22
|
12539 |
#: includes/settings/wcj-settings-shipping-description.php:60
|
12540 |
#: includes/settings/wcj-settings-shipping-icons.php:62
|
12566 |
msgid "Exclude User Roles"
|
12567 |
msgstr ""
|
12568 |
|
|
|
|
|
|
|
|
|
12569 |
#: includes/settings/wcj-settings-payment-gateways-currency.php:17
|
12570 |
msgid "This section lets you set different currency for each payment gateway."
|
12571 |
msgstr ""
|
12572 |
|
12573 |
+
#: includes/settings/wcj-settings-payment-gateways-currency.php:82
|
12574 |
+
msgid "Show Converted Prices"
|
12575 |
+
msgstr ""
|
12576 |
+
|
12577 |
+
#: includes/settings/wcj-settings-payment-gateways-currency.php:87
|
12578 |
+
#: includes/settings/wcj-settings-shipping-description.php:26
|
12579 |
+
#: includes/settings/wcj-settings-shipping-icons.php:35
|
12580 |
+
msgid "On both cart and checkout pages"
|
12581 |
+
msgstr ""
|
12582 |
+
|
12583 |
+
#: includes/settings/wcj-settings-payment-gateways-currency.php:88
|
12584 |
+
msgid "On checkout page only"
|
12585 |
+
msgstr ""
|
12586 |
+
|
12587 |
+
#: includes/settings/wcj-settings-payment-gateways-currency.php:92
|
12588 |
msgid "Advanced: Fix \"Chosen Payment Method\""
|
12589 |
msgstr ""
|
12590 |
|
12591 |
+
#: includes/settings/wcj-settings-payment-gateways-currency.php:94
|
12592 |
msgid ""
|
12593 |
"Enable this if you are having compatibility issues with some other plugins "
|
12594 |
"or modules."
|
12742 |
|
12743 |
#: includes/settings/wcj-settings-payment-gateways-per-category.php:31
|
12744 |
#: includes/settings/wcj-settings-price-labels.php:125
|
12745 |
+
#: includes/settings/wcj-settings-product-input-fields.php:110
|
12746 |
msgid "Product Categories - Include"
|
12747 |
msgstr ""
|
12748 |
|
12754 |
|
12755 |
#: includes/settings/wcj-settings-payment-gateways-per-category.php:42
|
12756 |
#: includes/settings/wcj-settings-price-labels.php:134
|
12757 |
+
#: includes/settings/wcj-settings-product-input-fields.php:121
|
12758 |
msgid "Product Categories - Exclude"
|
12759 |
msgstr ""
|
12760 |
|
12766 |
|
12767 |
#: includes/settings/wcj-settings-payment-gateways-per-category.php:54
|
12768 |
#: includes/settings/wcj-settings-price-labels.php:107
|
12769 |
+
#: includes/settings/wcj-settings-product-input-fields.php:155
|
12770 |
msgid "Products - Include"
|
12771 |
msgstr ""
|
12772 |
|
12778 |
|
12779 |
#: includes/settings/wcj-settings-payment-gateways-per-category.php:67
|
12780 |
#: includes/settings/wcj-settings-price-labels.php:116
|
12781 |
+
#: includes/settings/wcj-settings-product-input-fields.php:167
|
12782 |
msgid "Products - Exclude"
|
12783 |
msgstr ""
|
12784 |
|
14113 |
|
14114 |
#: includes/settings/wcj-settings-product-addons.php:206
|
14115 |
#: includes/settings/wcj-settings-product-custom-info.php:109
|
14116 |
+
#: includes/settings/wcj-settings-product-input-fields.php:195
|
14117 |
#: includes/settings/wcj-settings-product-open-pricing.php:17
|
14118 |
msgid "Before add to cart button"
|
14119 |
msgstr ""
|
14120 |
|
14121 |
#: includes/settings/wcj-settings-product-addons.php:207
|
14122 |
#: includes/settings/wcj-settings-product-custom-info.php:110
|
14123 |
+
#: includes/settings/wcj-settings-product-input-fields.php:196
|
14124 |
#: includes/settings/wcj-settings-product-open-pricing.php:18
|
14125 |
msgid "After add to cart button"
|
14126 |
msgstr ""
|
14130 |
msgstr ""
|
14131 |
|
14132 |
#: includes/settings/wcj-settings-product-addons.php:212
|
14133 |
+
#: includes/settings/wcj-settings-shipping-by-condition.php:114
|
14134 |
#: includes/settings/wcj-settings-shipping-options.php:41
|
14135 |
msgid "Set to zero to use the default priority."
|
14136 |
msgstr ""
|
14158 |
|
14159 |
#: includes/settings/wcj-settings-product-addons.php:250
|
14160 |
#: includes/settings/wcj-settings-product-bookings.php:100
|
14161 |
+
#: includes/settings/wcj-settings-product-input-fields.php:337
|
14162 |
#: includes/settings/wcj-settings-product-open-pricing.php:129
|
14163 |
msgid ""
|
14164 |
"Ensures that data outputted only once. Enable this if you see data outputted "
|
14186 |
msgstr ""
|
14187 |
|
14188 |
#: includes/settings/wcj-settings-product-addons.php:297
|
14189 |
+
msgid "Each Addon - Type: Select Box (Each Option)"
|
14190 |
msgstr ""
|
14191 |
|
14192 |
#: includes/settings/wcj-settings-product-addons.php:305
|
14193 |
+
msgid "Each Addon - Type: Radio Button (Each)"
|
14194 |
+
msgstr ""
|
14195 |
+
|
14196 |
+
#: includes/settings/wcj-settings-product-addons.php:313
|
14197 |
msgid "All Addons - Final"
|
14198 |
msgstr ""
|
14199 |
|
14200 |
+
#: includes/settings/wcj-settings-product-addons.php:325
|
14201 |
msgid "Cart Template"
|
14202 |
msgstr ""
|
14203 |
|
14204 |
+
#: includes/settings/wcj-settings-product-addons.php:337
|
14205 |
+
#: includes/settings/wcj-settings-product-addons.php:368
|
14206 |
msgid "Each Addon"
|
14207 |
msgstr ""
|
14208 |
|
14209 |
+
#: includes/settings/wcj-settings-product-addons.php:356
|
14210 |
msgid "Order Details Table Template"
|
14211 |
msgstr ""
|
14212 |
|
14797 |
msgid "Comma separated list of product IDs to exclude from product info."
|
14798 |
msgstr ""
|
14799 |
|
14800 |
+
#: includes/settings/wcj-settings-product-input-fields.php:15
|
14801 |
msgid "Product Input Fields per Product Options"
|
14802 |
msgstr ""
|
14803 |
|
14804 |
+
#: includes/settings/wcj-settings-product-input-fields.php:17
|
14805 |
+
#: includes/settings/wcj-settings-product-input-fields.php:48
|
14806 |
msgid ""
|
14807 |
"Add custom input fields to product's single page for customer to fill before "
|
14808 |
"adding product to cart."
|
14809 |
msgstr ""
|
14810 |
|
14811 |
+
#: includes/settings/wcj-settings-product-input-fields.php:18
|
14812 |
msgid ""
|
14813 |
"When enabled this module will add \"Product Input Fields\" tab to each "
|
14814 |
"product's \"Edit\" page."
|
14815 |
msgstr ""
|
14816 |
|
14817 |
+
#: includes/settings/wcj-settings-product-input-fields.php:22
|
14818 |
msgid "Product Input Fields - per Product"
|
14819 |
msgstr ""
|
14820 |
|
14821 |
+
#: includes/settings/wcj-settings-product-input-fields.php:24
|
14822 |
msgid "Add custom input field on per product basis."
|
14823 |
msgstr ""
|
14824 |
|
14825 |
+
#: includes/settings/wcj-settings-product-input-fields.php:30
|
14826 |
msgid "Default Number of Product Input Fields per Product"
|
14827 |
msgstr ""
|
14828 |
|
14829 |
+
#: includes/settings/wcj-settings-product-input-fields.php:32
|
14830 |
msgid ""
|
14831 |
"You will be able to change this number later as well as define the fields, "
|
14832 |
"for each product individually, in product's \"Edit\"."
|
14833 |
msgstr ""
|
14834 |
|
14835 |
+
#: includes/settings/wcj-settings-product-input-fields.php:46
|
14836 |
msgid "Product Input Fields Global Options"
|
14837 |
msgstr ""
|
14838 |
|
14839 |
+
#: includes/settings/wcj-settings-product-input-fields.php:52
|
14840 |
msgid "Product Input Fields - All Products"
|
14841 |
msgstr ""
|
14842 |
|
14843 |
+
#: includes/settings/wcj-settings-product-input-fields.php:54
|
14844 |
msgid "Add custom input fields to all products."
|
14845 |
msgstr ""
|
14846 |
|
14847 |
+
#: includes/settings/wcj-settings-product-input-fields.php:60
|
14848 |
msgid "Product Input Fields Number"
|
14849 |
msgstr ""
|
14850 |
|
14851 |
+
#: includes/settings/wcj-settings-product-input-fields.php:111
|
14852 |
msgid "Product categories to include."
|
14853 |
msgstr ""
|
14854 |
|
14855 |
+
#: includes/settings/wcj-settings-product-input-fields.php:112
|
14856 |
+
#: includes/settings/wcj-settings-product-input-fields.php:123
|
14857 |
+
#: includes/settings/wcj-settings-product-input-fields.php:134
|
14858 |
+
#: includes/settings/wcj-settings-product-input-fields.php:145
|
14859 |
+
#: includes/settings/wcj-settings-product-input-fields.php:157
|
14860 |
+
#: includes/settings/wcj-settings-product-input-fields.php:169
|
14861 |
#: includes/settings/wcj-settings-wholesale-price.php:84
|
14862 |
#: includes/settings/wcj-settings-wholesale-price.php:101
|
14863 |
msgid "Leave blank to include all products."
|
14864 |
msgstr ""
|
14865 |
|
14866 |
+
#: includes/settings/wcj-settings-product-input-fields.php:122
|
14867 |
msgid "Product categories to exclude."
|
14868 |
msgstr ""
|
14869 |
|
14870 |
+
#: includes/settings/wcj-settings-product-input-fields.php:132
|
14871 |
msgid "Product Tags - Include"
|
14872 |
msgstr ""
|
14873 |
|
14874 |
+
#: includes/settings/wcj-settings-product-input-fields.php:133
|
14875 |
msgid "Product tags to include."
|
14876 |
msgstr ""
|
14877 |
|
14878 |
+
#: includes/settings/wcj-settings-product-input-fields.php:143
|
14879 |
msgid "Product Tags - Exclude"
|
14880 |
msgstr ""
|
14881 |
|
14882 |
+
#: includes/settings/wcj-settings-product-input-fields.php:144
|
14883 |
msgid "Product tags to exclude."
|
14884 |
msgstr ""
|
14885 |
|
14886 |
+
#: includes/settings/wcj-settings-product-input-fields.php:156
|
14887 |
msgid "Products to include."
|
14888 |
msgstr ""
|
14889 |
|
14890 |
+
#: includes/settings/wcj-settings-product-input-fields.php:168
|
14891 |
msgid "Products to exclude."
|
14892 |
msgstr ""
|
14893 |
|
14894 |
+
#: includes/settings/wcj-settings-product-input-fields.php:185
|
14895 |
msgid "Frontend View Options"
|
14896 |
msgstr ""
|
14897 |
|
14898 |
+
#: includes/settings/wcj-settings-product-input-fields.php:190
|
14899 |
msgid "Position on Single Product Page"
|
14900 |
msgstr ""
|
14901 |
|
14902 |
+
#: includes/settings/wcj-settings-product-input-fields.php:206
|
14903 |
msgid "HTML Template - Start"
|
14904 |
msgstr ""
|
14905 |
|
14906 |
+
#: includes/settings/wcj-settings-product-input-fields.php:213
|
14907 |
msgid "HTML Template - Each Field"
|
14908 |
msgstr ""
|
14909 |
|
14910 |
+
#: includes/settings/wcj-settings-product-input-fields.php:220
|
14911 |
msgid "HTML Template - End"
|
14912 |
msgstr ""
|
14913 |
|
14914 |
+
#: includes/settings/wcj-settings-product-input-fields.php:227
|
14915 |
msgid "HTML Template - Radio Field"
|
14916 |
msgstr ""
|
14917 |
|
14918 |
+
#: includes/settings/wcj-settings-product-input-fields.php:234
|
14919 |
msgid "HTML to add after required field title"
|
14920 |
msgstr ""
|
14921 |
|
14922 |
+
#: includes/settings/wcj-settings-product-input-fields.php:241
|
14923 |
msgid "Cart Display Options"
|
14924 |
msgstr ""
|
14925 |
|
14926 |
+
#: includes/settings/wcj-settings-product-input-fields.php:242
|
14927 |
msgid ""
|
14928 |
"When \"Add to cart item data\" is selected, \"Cart HTML Template\" options "
|
14929 |
"below will be ignored."
|
14930 |
msgstr ""
|
14931 |
|
14932 |
+
#: includes/settings/wcj-settings-product-input-fields.php:247
|
14933 |
msgid "Add to cart item name"
|
14934 |
msgstr ""
|
14935 |
|
14936 |
+
#: includes/settings/wcj-settings-product-input-fields.php:248
|
14937 |
msgid "Add to cart item data"
|
14938 |
msgstr ""
|
14939 |
|
14940 |
+
#: includes/settings/wcj-settings-product-input-fields.php:252
|
14941 |
msgid "Cart HTML Template - Start"
|
14942 |
msgstr ""
|
14943 |
|
14944 |
+
#: includes/settings/wcj-settings-product-input-fields.php:259
|
14945 |
msgid "Cart HTML Template - Each Field"
|
14946 |
msgstr ""
|
14947 |
|
14948 |
+
#: includes/settings/wcj-settings-product-input-fields.php:266
|
14949 |
msgid "Cart HTML Template - End"
|
14950 |
msgstr ""
|
14951 |
|
14952 |
+
#: includes/settings/wcj-settings-product-input-fields.php:273
|
14953 |
msgid "Order Table Template - Each Field"
|
14954 |
msgstr ""
|
14955 |
|
14956 |
+
#: includes/settings/wcj-settings-product-input-fields.php:274
|
14957 |
msgid "Affects Order received page, Emails and Admin Orders View"
|
14958 |
msgstr ""
|
14959 |
|
14960 |
+
#: includes/settings/wcj-settings-product-input-fields.php:312
|
14961 |
msgid "Admin Order View Options"
|
14962 |
msgstr ""
|
14963 |
|
14964 |
+
#: includes/settings/wcj-settings-product-input-fields.php:317
|
14965 |
msgid "Replace Field ID with Field Label"
|
14966 |
msgstr ""
|
14967 |
|
14968 |
+
#: includes/settings/wcj-settings-product-input-fields.php:335
|
14969 |
msgid "Check for Outputted Data"
|
14970 |
msgstr ""
|
14971 |
|
14972 |
+
#: includes/settings/wcj-settings-product-input-fields.php:343
|
14973 |
+
msgid "Strip Slashes"
|
14974 |
+
msgstr ""
|
14975 |
+
|
14976 |
+
#: includes/settings/wcj-settings-product-input-fields.php:345
|
14977 |
+
#, php-format
|
14978 |
+
msgid "Enable this if you have single quotes %s converted to %s."
|
14979 |
+
msgstr ""
|
14980 |
+
|
14981 |
#: includes/settings/wcj-settings-product-listings.php:31
|
14982 |
msgid "Shop Page Display Options"
|
14983 |
msgstr ""
|
16037 |
msgid "Per Tag"
|
16038 |
msgstr ""
|
16039 |
|
16040 |
+
#: includes/settings/wcj-settings-sale-flash.php:98
|
16041 |
+
msgid "Terms to Modify"
|
16042 |
+
msgstr ""
|
16043 |
+
|
16044 |
+
#: includes/settings/wcj-settings-sale-flash.php:99
|
16045 |
+
msgid "Save changes to see new option fields."
|
16046 |
+
msgstr ""
|
16047 |
+
|
16048 |
+
#: includes/settings/wcj-settings-sale-flash.php:110
|
16049 |
+
#, php-format
|
16050 |
+
msgid "Term #%s"
|
16051 |
+
msgstr ""
|
16052 |
+
|
16053 |
+
#: includes/settings/wcj-settings-shipping-by-condition.php:41
|
16054 |
+
#: includes/settings/wcj-settings-shipping-by-condition.php:47
|
16055 |
#, php-format
|
16056 |
msgid "Shipping Methods by %s"
|
16057 |
msgstr ""
|
16058 |
|
16059 |
+
#: includes/settings/wcj-settings-shipping-by-condition.php:77
|
16060 |
#, php-format
|
16061 |
msgid "Include %s"
|
16062 |
msgstr ""
|
16063 |
|
16064 |
+
#: includes/settings/wcj-settings-shipping-by-condition.php:88
|
16065 |
#, php-format
|
16066 |
msgid "Exclude %s"
|
16067 |
msgstr ""
|
16068 |
|
16069 |
+
#: includes/settings/wcj-settings-shipping-by-condition.php:113
|
16070 |
msgid "Filter Priority"
|
16071 |
msgstr ""
|
16072 |
|
16144 |
msgid "Description Visibility"
|
16145 |
msgstr ""
|
16146 |
|
|
|
|
|
|
|
|
|
|
|
16147 |
#: includes/settings/wcj-settings-shipping-description.php:27
|
16148 |
#: includes/settings/wcj-settings-shipping-icons.php:36
|
16149 |
msgid "Only on cart page"
|
17617 |
msgid "Edit Product"
|
17618 |
msgstr ""
|
17619 |
|
17620 |
+
#: includes/shortcodes/class-wcj-shortcodes-products.php:328
|
17621 |
#, php-format
|
17622 |
msgid "%s ago"
|
17623 |
msgstr ""
|
17624 |
|
17625 |
+
#: includes/shortcodes/class-wcj-shortcodes-products.php:335
|
17626 |
msgid "No sales yet."
|
17627 |
msgstr ""
|
17628 |
|
17629 |
+
#: includes/shortcodes/class-wcj-shortcodes-products.php:562
|
17630 |
msgid "In stock"
|
17631 |
msgstr ""
|
17632 |
|
17788 |
msgid "Multicurrency module not enabled!"
|
17789 |
msgstr ""
|
17790 |
|
17791 |
+
#: includes/widgets/class-wcj-widget-multicurrency.php:81
|
17792 |
msgid "Drop down"
|
17793 |
msgstr ""
|
17794 |
|
17795 |
+
#: includes/widgets/class-wcj-widget-multicurrency.php:82
|
17796 |
msgid "Radio list"
|
17797 |
msgstr ""
|
17798 |
|
17799 |
+
#: includes/widgets/class-wcj-widget-multicurrency.php:83
|
17800 |
msgid "Link list"
|
17801 |
msgstr ""
|
17802 |
|
17803 |
+
#: includes/widgets/class-wcj-widget-multicurrency.php:88
|
17804 |
+
msgid "Form Method"
|
17805 |
+
msgstr ""
|
17806 |
+
|
17807 |
+
#: includes/widgets/class-wcj-widget-multicurrency.php:89
|
17808 |
+
msgid "HTML form method for \"Drop down\" and \"Radio list\" types."
|
17809 |
+
msgstr ""
|
17810 |
+
|
17811 |
+
#: includes/widgets/class-wcj-widget-multicurrency.php:94
|
17812 |
+
msgid "Post"
|
17813 |
+
msgstr ""
|
17814 |
+
|
17815 |
+
#: includes/widgets/class-wcj-widget-multicurrency.php:95
|
17816 |
+
msgid "Get"
|
17817 |
+
msgstr ""
|
17818 |
+
|
17819 |
+
#: includes/widgets/class-wcj-widget-multicurrency.php:101
|
17820 |
+
msgid "HTML class for \"Drop down\" type."
|
17821 |
+
msgstr ""
|
17822 |
+
|
17823 |
+
#: includes/widgets/class-wcj-widget-multicurrency.php:108
|
17824 |
+
msgid "Style"
|
17825 |
+
msgstr ""
|
17826 |
+
|
17827 |
+
#: includes/widgets/class-wcj-widget-multicurrency.php:109
|
17828 |
+
msgid "HTML style for \"Drop down\" type."
|
17829 |
+
msgstr ""
|
17830 |
+
|
17831 |
#: includes/widgets/class-wcj-widget-selector.php:29
|
17832 |
msgid "Booster: Selector Widget"
|
17833 |
msgstr ""
|
readme.txt
CHANGED
@@ -3,7 +3,7 @@ Contributors: algoritmika, anbinder, debugeris
|
|
3 |
Tags: woocommerce, booster for woocommerce, woocommerce jetpack
|
4 |
Requires at least: 4.4
|
5 |
Tested up to: 4.9
|
6 |
-
Stable tag:
|
7 |
License: GNU General Public License v3.0
|
8 |
License URI: http://www.gnu.org/licenses/gpl-3.0.html
|
9 |
|
@@ -119,7 +119,8 @@ Booster for WooCommerce is a WordPress WooCommerce plugin that supercharges your
|
|
119 |
* *Shipping Calculator* - Customize WooCommerce shipping calculator on cart page.
|
120 |
* *Shipping Descriptions* - Add descriptions to shipping methods on frontend.
|
121 |
* *Shipping Icons* - Add icons to shipping methods on frontend.
|
122 |
-
* *Shipping Methods by
|
|
|
123 |
* *Shipping Methods by Min/Max Order Amount* - Set minimum and/or maximum order amount for shipping methods to show up.
|
124 |
* *Shipping Methods by Products* - Set products, product categories, tags or shipping classes to include/exclude for shipping methods to show up.
|
125 |
* *Shipping Methods by Users* - Set user roles, users or membership plans to include/exclude for shipping methods to show up.
|
@@ -139,6 +140,7 @@ Booster for WooCommerce is a WordPress WooCommerce plugin that supercharges your
|
|
139 |
* *Custom CSS* - Separate custom CSS for front and back end. Per product CSS.
|
140 |
* *Custom Emails* - Add custom emails to WooCommerce.
|
141 |
* *Custom JS* - Separate custom JS for front and back end.
|
|
|
142 |
* *Email Options* - WooCommerce email options. E.g.: add another email recipient(s) to all WooCommerce emails.
|
143 |
* *Email Verification* - Add WooCommerce email verification.
|
144 |
* *Export* - WooCommerce export tools.
|
@@ -189,10 +191,51 @@ You can see the differences between versions in this [table](https://booster.io/
|
|
189 |
|
190 |
== Changelog ==
|
191 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
192 |
= 3.9.1 - 06/09/2018 =
|
193 |
* Fix - Shortcodes - General - `[wcj_cross_sell_display]` - Returning the result instead of echoing.
|
194 |
* Fix - Shortcodes - General - `[wcj_cross_sell_display]` - Additional checks added for `WC()->cart` to exist before executing the shortcode's code.
|
195 |
-
* Dev - PRODUCTS - Product Input Fields - "Strip
|
196 |
* Dev - Translations - Files updated: `az`, `es_ES`, `fr_FR`, `is_IS`, `it_IT`, `ja`, `nl_NL`, `pt_BR`, `ro_RO`, `ru_RU`, `sv_SE`.
|
197 |
* Dev - Translations - New files added: `cs_CZ`, `el`.
|
198 |
|
3 |
Tags: woocommerce, booster for woocommerce, woocommerce jetpack
|
4 |
Requires at least: 4.4
|
5 |
Tested up to: 4.9
|
6 |
+
Stable tag: 4.0.0
|
7 |
License: GNU General Public License v3.0
|
8 |
License URI: http://www.gnu.org/licenses/gpl-3.0.html
|
9 |
|
119 |
* *Shipping Calculator* - Customize WooCommerce shipping calculator on cart page.
|
120 |
* *Shipping Descriptions* - Add descriptions to shipping methods on frontend.
|
121 |
* *Shipping Icons* - Add icons to shipping methods on frontend.
|
122 |
+
* *Shipping Methods by City or Postcode* - Set shipping cities or postcodes to include/exclude for shipping methods to show up.
|
123 |
+
* *Shipping Methods by Current Date/Time* - Set date and/or time to include/exclude for shipping methods to show up.
|
124 |
* *Shipping Methods by Min/Max Order Amount* - Set minimum and/or maximum order amount for shipping methods to show up.
|
125 |
* *Shipping Methods by Products* - Set products, product categories, tags or shipping classes to include/exclude for shipping methods to show up.
|
126 |
* *Shipping Methods by Users* - Set user roles, users or membership plans to include/exclude for shipping methods to show up.
|
140 |
* *Custom CSS* - Separate custom CSS for front and back end. Per product CSS.
|
141 |
* *Custom Emails* - Add custom emails to WooCommerce.
|
142 |
* *Custom JS* - Separate custom JS for front and back end.
|
143 |
+
* *Custom PHP* - Custom PHP.
|
144 |
* *Email Options* - WooCommerce email options. E.g.: add another email recipient(s) to all WooCommerce emails.
|
145 |
* *Email Verification* - Add WooCommerce email verification.
|
146 |
* *Export* - WooCommerce export tools.
|
191 |
|
192 |
== Changelog ==
|
193 |
|
194 |
+
= 4.0.0 - 11/10/2018 =
|
195 |
+
* Feature - PRICES & CURRENCIES - Multicurrency (Currency Switcher) - Widget - "Form Method", "Class" and "Style" options added.
|
196 |
+
* Feature - PRODUCTS - Product Addons - Frontend Templates - "Each Addon - Type: Select Box (Each Option)" option added.
|
197 |
+
* Feature - SHIPPING & ORDERS - Order Custom Statuses - "Add Custom Statuses Buttons to Admin Order Preview Actions" option added.
|
198 |
+
* Feature - SHIPPING & ORDERS - Orders - "Editable Orders" options added.
|
199 |
+
* Feature - SHIPPING & ORDERS - Shipping Methods by City or Postcode - "Shipping Methods by Postcodes" subsection added.
|
200 |
+
* Feature - SHIPPING & ORDERS - Shipping Methods by Current Date/Time - Initial module release.
|
201 |
+
* Feature - EMAILS & MISC. - Admin Tools - "Suppress Admin Connect Notice" and "Suppress Admin Notices" options added.
|
202 |
+
* Feature - EMAILS & MISC. - Custom CSS - "Code Position" option added.
|
203 |
+
* Feature - EMAILS & MISC. - Custom JS - "Code Position" option added.
|
204 |
+
* Feature - EMAILS & MISC. - Custom PHP - Initial module release.
|
205 |
+
* Feature - EMAILS & MISC. - General - Add/Manage Custom Roles tool - "Capabilities" option added.
|
206 |
+
* Fix - PRICES & CURRENCIES - Prices and Currencies by Country - Default values for options and empty string checks added.
|
207 |
+
* Fix - CART & CHECKOUT - EU VAT Number - Possible "Undefined index: wcj_eu_vat_number_to_check..." PHP notice fixed.
|
208 |
+
* Fix - PAYMENT GATEWAYS - Gateways by Shipping - Use Shipping Instances - Trying to extract shipping instance number from form with underscore symbol (e.g. "Flexible Shipping" plugin).
|
209 |
+
* Fix - SHIPPING & ORDERS - Order Min/Max Quantities - `isEmptyObject` check added in `wcj-order-quantities.js`.
|
210 |
+
* Fix - PDF INVOICING & PACKING SLIPS - Invoices Report tool - "Disable Saving PDFs in PHP directory for temporary files..." notice fixed.
|
211 |
+
* Fix - EMAILS & MISC. - General - Add/Manage Custom Roles tool - `sanitize_key()` added for role ID (when adding new role).
|
212 |
+
* Fix - EMAILS & MISC. - General - Products Attributes tool - Column titles fixed.
|
213 |
+
* Fix - EMAILS & MISC. - Template Editor - Checking for modified template file to exist before replacing the original template.
|
214 |
+
* Fix - Shortcodes - Products - `[wcj_product_time_since_last_sale]` - `date_query` fixed.
|
215 |
+
* Fix - Functions - General - `wcj_is_frontend()` - AJAX part improved (`woocommerce_load_variations` backend `action` added).
|
216 |
+
* Dev - PRICES & CURRENCIES - Global Discount - "Global Discount in Admin" option added.
|
217 |
+
* Dev - PRICES & CURRENCIES - Multicurrency (Currency Switcher) - Module description updated.
|
218 |
+
* Dev - PRODUCTS - Sale Flash - Code refactoring - "Per Category" and "Per Tag" options are stored in arrays now.
|
219 |
+
* Dev - PAYMENT GATEWAYS - Gateways by Country, State or Postcode - Code refactoring.
|
220 |
+
* Dev - PAYMENT GATEWAYS - Gateways Currency Converter - "Show Converted Prices" option added.
|
221 |
+
* Dev - PAYMENT GATEWAYS - Gateways Currency Converter - Admin settings minor restyling.
|
222 |
+
* Dev - SHIPPING & ORDERS - Order Custom Statuses - Code refactoring.
|
223 |
+
* Dev - SHIPPING & ORDERS - Order Numbers - `wcj_order_number_meta` filter added.
|
224 |
+
* Dev - EMAILS & MISC. - Admin Tools - Admin settings restyled ("Debug Tools Options" subsection added, "Debug Log" tool renamed).
|
225 |
+
* Dev - EMAILS & MISC. - General - Add/Manage Custom Roles tool - Restyled; JS confirmation added etc.
|
226 |
+
* Dev - EMAILS & MISC. - Template Editor - Admin settings minor restyling.
|
227 |
+
* Dev - Shortcodes - General - `[wcj_country_select_drop_down_list]` - Code refactoring.
|
228 |
+
* Dev - Shortcodes - Products - `[wcj_product_available_variations]` - `param` attribute added.
|
229 |
+
* Dev - Shortcodes - Products - `[wcj_product_time_since_last_sale]` - Code refactoring.
|
230 |
+
* Dev - Shortcodes - Products - `[wcj_product_wholesale_price_table]` - `user_role` attribute added.
|
231 |
+
* Dev - Functions - Price and Currency - `wcj_update_products_price_by_country()` - `WP_Query` optimized to return `ids` only.
|
232 |
+
* Dev - Classes - `WCJ_Module` - Modules' "extra description" restyled.
|
233 |
+
* Dev - Code clean up.
|
234 |
+
|
235 |
= 3.9.1 - 06/09/2018 =
|
236 |
* Fix - Shortcodes - General - `[wcj_cross_sell_display]` - Returning the result instead of echoing.
|
237 |
* Fix - Shortcodes - General - `[wcj_cross_sell_display]` - Additional checks added for `WC()->cart` to exist before executing the shortcode's code.
|
238 |
+
* Dev - PRODUCTS - Product Input Fields - "Strip Slashes" option added.
|
239 |
* Dev - Translations - Files updated: `az`, `es_ES`, `fr_FR`, `is_IS`, `it_IT`, `ja`, `nl_NL`, `pt_BR`, `ro_RO`, `ru_RU`, `sv_SE`.
|
240 |
* Dev - Translations - New files added: `cs_CZ`, `el`.
|
241 |
|
woocommerce-jetpack.php
CHANGED
@@ -3,7 +3,7 @@
|
|
3 |
Plugin Name: Booster for WooCommerce
|
4 |
Plugin URI: https://booster.io
|
5 |
Description: Supercharge your WooCommerce site with these awesome powerful features. More than 100 modules. All in one WooCommerce plugin.
|
6 |
-
Version:
|
7 |
Author: Algoritmika Ltd
|
8 |
Author URI: https://booster.io
|
9 |
Text Domain: woocommerce-jetpack
|
@@ -35,7 +35,6 @@ if ( ! defined( 'WCJ_PLUGIN_FILE' ) ) {
|
|
35 |
/**
|
36 |
* WCJ_PLUGIN_FILE.
|
37 |
*
|
38 |
-
* @version 3.2.4
|
39 |
* @since 3.2.4
|
40 |
*/
|
41 |
define( 'WCJ_PLUGIN_FILE', __FILE__ );
|
@@ -48,6 +47,7 @@ if ( ! class_exists( 'WC_Jetpack' ) ) :
|
|
48 |
*
|
49 |
* @class WC_Jetpack
|
50 |
* @version 3.2.4
|
|
|
51 |
*/
|
52 |
final class WC_Jetpack {
|
53 |
|
@@ -57,7 +57,7 @@ final class WC_Jetpack {
|
|
57 |
* @var string
|
58 |
* @since 2.4.7
|
59 |
*/
|
60 |
-
public $version = '
|
61 |
|
62 |
/**
|
63 |
* @var WC_Jetpack The single instance of the class
|
@@ -65,10 +65,12 @@ final class WC_Jetpack {
|
|
65 |
protected static $_instance = null;
|
66 |
|
67 |
/**
|
68 |
-
* Main WC_Jetpack Instance
|
69 |
*
|
70 |
* Ensures only one instance of WC_Jetpack is loaded or can be loaded.
|
71 |
*
|
|
|
|
|
72 |
* @static
|
73 |
* @see WCJ()
|
74 |
* @return WC_Jetpack - Main instance
|
@@ -84,6 +86,7 @@ final class WC_Jetpack {
|
|
84 |
* WC_Jetpack Constructor.
|
85 |
*
|
86 |
* @version 3.2.4
|
|
|
87 |
* @access public
|
88 |
*/
|
89 |
function __construct() {
|
@@ -99,6 +102,7 @@ if ( ! function_exists( 'WCJ' ) ) {
|
|
99 |
* Returns the main instance of WC_Jetpack to prevent the need to use globals.
|
100 |
*
|
101 |
* @version 2.5.7
|
|
|
102 |
* @return WC_Jetpack
|
103 |
*/
|
104 |
function WCJ() {
|
3 |
Plugin Name: Booster for WooCommerce
|
4 |
Plugin URI: https://booster.io
|
5 |
Description: Supercharge your WooCommerce site with these awesome powerful features. More than 100 modules. All in one WooCommerce plugin.
|
6 |
+
Version: 4.0.0
|
7 |
Author: Algoritmika Ltd
|
8 |
Author URI: https://booster.io
|
9 |
Text Domain: woocommerce-jetpack
|
35 |
/**
|
36 |
* WCJ_PLUGIN_FILE.
|
37 |
*
|
|
|
38 |
* @since 3.2.4
|
39 |
*/
|
40 |
define( 'WCJ_PLUGIN_FILE', __FILE__ );
|
47 |
*
|
48 |
* @class WC_Jetpack
|
49 |
* @version 3.2.4
|
50 |
+
* @since 1.0.0
|
51 |
*/
|
52 |
final class WC_Jetpack {
|
53 |
|
57 |
* @var string
|
58 |
* @since 2.4.7
|
59 |
*/
|
60 |
+
public $version = '4.0.0';
|
61 |
|
62 |
/**
|
63 |
* @var WC_Jetpack The single instance of the class
|
65 |
protected static $_instance = null;
|
66 |
|
67 |
/**
|
68 |
+
* Main WC_Jetpack Instance.
|
69 |
*
|
70 |
* Ensures only one instance of WC_Jetpack is loaded or can be loaded.
|
71 |
*
|
72 |
+
* @version 1.0.0
|
73 |
+
* @since 1.0.0
|
74 |
* @static
|
75 |
* @see WCJ()
|
76 |
* @return WC_Jetpack - Main instance
|
86 |
* WC_Jetpack Constructor.
|
87 |
*
|
88 |
* @version 3.2.4
|
89 |
+
* @since 1.0.0
|
90 |
* @access public
|
91 |
*/
|
92 |
function __construct() {
|
102 |
* Returns the main instance of WC_Jetpack to prevent the need to use globals.
|
103 |
*
|
104 |
* @version 2.5.7
|
105 |
+
* @since 1.0.0
|
106 |
* @return WC_Jetpack
|
107 |
*/
|
108 |
function WCJ() {
|