Version Description
- 20/07/2020 =
- Fix - EMAILS & MISC. - My Account - Improve custom menu order algorithm.
- Fix - PRODUCTS - Product by Condition - Fix static database table name.
- Fix - PRODUCTS - Product MSRP - Improve 'Archive Detection Method' option using the
wc_get_template_part
hook besides thewoocommerce_before_template_part
. - Dev - PRICES & CURRENCIES - Multicurrency (Currency Switcher) - Improves compatibility with 'Product Add-Ons' plugin and leave it as Booster Plus feature.
- Dev - PRICES & CURRENCIES - Product Price by Formula - Create 'Save Calculated Products Prices' option trying to avoid duplicated calculation.
- WC tested up to: 4.3
Download this release
Release Info
Developer | pluggabl |
Plugin | Booster for WooCommerce |
Version | 5.1.1 |
Comparing to | |
See all releases |
Code changes from version 5.0.0 to 5.1.1
- includes/background-process/class-wcj-price-by-country-updater.php +34 -0
- includes/class-wcj-export-import.php +31 -1
- includes/class-wcj-multicurrency.php +76 -28
- includes/class-wcj-my-account.php +10 -13
- includes/class-wcj-offer-price.php +24 -22
- includes/class-wcj-order-min-amount.php +8 -2
- includes/class-wcj-order-numbers.php +74 -2
- includes/class-wcj-price-by-country.php +27 -6
- includes/class-wcj-product-images.php +3 -3
- includes/class-wcj-product-msrp.php +27 -5
- includes/class-wcj-product-price-by-formula.php +54 -3
- includes/class-wcj-shipping-by-cities.php +3 -3
- includes/class-wcj-wpml.php +55 -6
- includes/classes/class-wcj-module-product-by-condition.php +3 -3
- includes/classes/class-wcj-module.php +25 -2
- includes/classes/class-wcj-pdf-invoice.php +5 -3
- includes/export/class-wcj-exporter-orders.php +12 -3
- includes/functions/wcj-functions-eu-vat.php +5 -4
- includes/functions/wcj-functions-exchange-rates.php +5 -2
- includes/functions/wcj-functions-price-currency.php +24 -5
- includes/price-by-country/class-wcj-price-by-country-core.php +328 -42
- includes/settings/wcj-settings-currency-exchange-rates.php +2 -2
- includes/settings/wcj-settings-export.php +10 -1
- includes/settings/wcj-settings-multicurrency.php +12 -3
- includes/settings/wcj-settings-offer-price.php +3 -3
- includes/settings/wcj-settings-order-min-amount.php +20 -1
- includes/settings/wcj-settings-order-numbers.php +19 -1
- includes/settings/wcj-settings-price-by-country.php +22 -12
- includes/settings/wcj-settings-product-msrp.php +8 -1
- includes/settings/wcj-settings-product-price-by-formula.php +9 -1
- includes/settings/wcj-settings-wpml.php +10 -1
- includes/shortcodes/class-wcj-shortcodes-orders.php +5 -4
- includes/widgets/class-wcj-widget-country-switcher.php +18 -4
- langs/woocommerce-jetpack.pot +347 -269
- readme.txt +33 -1
- woocommerce-jetpack.php +3 -3
includes/background-process/class-wcj-price-by-country-updater.php
ADDED
@@ -0,0 +1,34 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?php
|
2 |
+
/**
|
3 |
+
* Booster for WooCommerce - Background Process - Price by Country Updater
|
4 |
+
*
|
5 |
+
* Updates price metas related to the Price By Country module
|
6 |
+
*
|
7 |
+
* @version 5.1.0
|
8 |
+
* @since 5.1.0
|
9 |
+
* @author Pluggabl LLC.
|
10 |
+
*/
|
11 |
+
|
12 |
+
if ( ! defined( 'ABSPATH' ) ) {
|
13 |
+
exit;
|
14 |
+
}
|
15 |
+
|
16 |
+
if ( ! class_exists( 'WCJ_Price_By_Country_Updater' ) ) :
|
17 |
+
|
18 |
+
class WCJ_Price_By_Country_Updater extends WP_Background_Process {
|
19 |
+
|
20 |
+
/**
|
21 |
+
* @var string
|
22 |
+
*/
|
23 |
+
protected $action = 'wcj_bkg_process_price_by_country_updater';
|
24 |
+
|
25 |
+
protected function task( $item ) {
|
26 |
+
$module = 'price_by_country';
|
27 |
+
if ( wcj_is_module_enabled( $module ) ) {
|
28 |
+
wcj_update_products_price_by_country_for_single_product( $item['id'] );
|
29 |
+
}
|
30 |
+
return false;
|
31 |
+
}
|
32 |
+
|
33 |
+
}
|
34 |
+
endif;
|
includes/class-wcj-export-import.php
CHANGED
@@ -150,10 +150,39 @@ class WCJ_Export_Import extends WCJ_Module {
|
|
150 |
}
|
151 |
}
|
152 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
153 |
/**
|
154 |
* export_csv.
|
155 |
*
|
156 |
-
* @version
|
157 |
* @since 2.4.8
|
158 |
*/
|
159 |
function export_csv() {
|
@@ -162,6 +191,7 @@ class WCJ_Export_Import extends WCJ_Module {
|
|
162 |
if ( is_array( $data ) ) {
|
163 |
$csv = '';
|
164 |
foreach ( $data as $row ) {
|
|
|
165 |
$csv .= implode( get_option( 'wcj_export_csv_separator', ',' ), $row ) . PHP_EOL;
|
166 |
}
|
167 |
if ( 'yes' === get_option( 'wcj_export_csv_add_utf_8_bom', 'yes' ) ) {
|
150 |
}
|
151 |
}
|
152 |
|
153 |
+
/**
|
154 |
+
* smart_format_fields.
|
155 |
+
*
|
156 |
+
* @see https://stackoverflow.com/a/4617967/1193038
|
157 |
+
*
|
158 |
+
* @version 5.1.0
|
159 |
+
* @since 5.1.0
|
160 |
+
*
|
161 |
+
* @param $row
|
162 |
+
*
|
163 |
+
* @return array
|
164 |
+
*/
|
165 |
+
function smart_format_fields( $row ) {
|
166 |
+
if ( 'no' === get_option( 'wcj_export_csv_smart_formatting', 'no' ) ) {
|
167 |
+
return $row;
|
168 |
+
}
|
169 |
+
$row = array_map( function ( $item ) {
|
170 |
+
$item = str_replace( '"', '""', $item );
|
171 |
+
if (
|
172 |
+
false !== strpos( $item, '"' )
|
173 |
+
|| false !== strpos( $item, ',' )
|
174 |
+
) {
|
175 |
+
$item = '"' . $item . '"';
|
176 |
+
}
|
177 |
+
return $item;
|
178 |
+
}, $row );
|
179 |
+
return $row;
|
180 |
+
}
|
181 |
+
|
182 |
/**
|
183 |
* export_csv.
|
184 |
*
|
185 |
+
* @version 5.1.0
|
186 |
* @since 2.4.8
|
187 |
*/
|
188 |
function export_csv() {
|
191 |
if ( is_array( $data ) ) {
|
192 |
$csv = '';
|
193 |
foreach ( $data as $row ) {
|
194 |
+
$row = $this->smart_format_fields( $row );
|
195 |
$csv .= implode( get_option( 'wcj_export_csv_separator', ',' ), $row ) . PHP_EOL;
|
196 |
}
|
197 |
if ( 'yes' === get_option( 'wcj_export_csv_add_utf_8_bom', 'yes' ) ) {
|
includes/class-wcj-multicurrency.php
CHANGED
@@ -2,7 +2,7 @@
|
|
2 |
/**
|
3 |
* Booster for WooCommerce - Module - Multicurrency (Currency Switcher)
|
4 |
*
|
5 |
-
* @version 5.
|
6 |
* @since 2.4.3
|
7 |
* @author Pluggabl LLC.
|
8 |
*/
|
@@ -144,6 +144,33 @@ class WCJ_Multicurrency extends WCJ_Module {
|
|
144 |
|
145 |
// Compatibility with Pricing Deals
|
146 |
add_filter( 'option_' . 'vtprd_rules_set', array( $this, 'convert_pricing_deals_settings' ) );
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
147 |
}
|
148 |
|
149 |
/**
|
@@ -224,7 +251,7 @@ class WCJ_Multicurrency extends WCJ_Module {
|
|
224 |
/**
|
225 |
* get_wc_tree_table_rate_settings.
|
226 |
*
|
227 |
-
* @version
|
228 |
* @since 4.9.0
|
229 |
*
|
230 |
* @param $option
|
@@ -235,19 +262,24 @@ class WCJ_Multicurrency extends WCJ_Module {
|
|
235 |
if ( 'no' === get_option( 'wcj_multicurrency_compatibility_wc_ttrs', 'no' ) ) {
|
236 |
return $option;
|
237 |
}
|
238 |
-
$
|
239 |
-
$
|
240 |
-
|
241 |
-
|
242 |
-
|
243 |
-
|
|
|
|
|
|
|
|
|
|
|
244 |
return $option;
|
245 |
}
|
246 |
|
247 |
/**
|
248 |
* recursively_convert_wc_tree_settings.
|
249 |
*
|
250 |
-
* @version
|
251 |
* @since 4.9.0
|
252 |
*
|
253 |
* @param $array
|
@@ -263,19 +295,23 @@ class WCJ_Multicurrency extends WCJ_Module {
|
|
263 |
$change_keys = $args['change_keys'];
|
264 |
$exchange_rate = $args['exchange_rate'];
|
265 |
foreach ( $array as $key => $value ) {
|
266 |
-
|
267 |
-
|
268 |
-
|
269 |
-
|
270 |
-
|
271 |
-
|
272 |
-
|
273 |
-
|
274 |
-
|
275 |
-
} elseif (
|
276 |
-
|
277 |
-
|
278 |
-
|
|
|
|
|
|
|
|
|
279 |
}
|
280 |
}
|
281 |
if ( is_array( $value ) || is_a( $value, 'stdClass' ) ) {
|
@@ -696,10 +732,6 @@ class WCJ_Multicurrency extends WCJ_Module {
|
|
696 |
// Add "Change Price" hooks
|
697 |
wcj_add_change_price_hooks( $this, $this->price_hooks_priority );
|
698 |
|
699 |
-
// "WooCommerce Product Add-ons" plugin
|
700 |
-
add_filter( 'woocommerce_get_item_data', array( $this, 'get_addons_item_data' ), 20, 2 );
|
701 |
-
add_filter( 'woocommerce_product_addons_option_price_raw', array( $this, 'product_addons_option_price_raw' ), 10, 2 );
|
702 |
-
|
703 |
// Handle Compatibility
|
704 |
$this->handle_compatibility();
|
705 |
|
@@ -891,6 +923,9 @@ class WCJ_Multicurrency extends WCJ_Module {
|
|
891 |
* @return float|int
|
892 |
*/
|
893 |
function product_addons_option_price_raw( $price, $option ) {
|
|
|
|
|
|
|
894 |
$price = $this->change_price( $price, null );
|
895 |
return $price;
|
896 |
}
|
@@ -898,7 +933,7 @@ class WCJ_Multicurrency extends WCJ_Module {
|
|
898 |
/**
|
899 |
* Finds old add-ons fields on cart and replace by correct price.
|
900 |
*
|
901 |
-
* @version
|
902 |
* @since 4.3.0
|
903 |
*
|
904 |
* @param $other_data
|
@@ -907,6 +942,9 @@ class WCJ_Multicurrency extends WCJ_Module {
|
|
907 |
* @return mixed
|
908 |
*/
|
909 |
function get_addons_item_data( $other_data, $cart_item ) {
|
|
|
|
|
|
|
910 |
if ( ! empty( $cart_item['addons'] ) ) {
|
911 |
foreach ( $cart_item['addons'] as $addon ) {
|
912 |
$price = isset( $cart_item['addons_price_before_calc'] ) ? $cart_item['addons_price_before_calc'] : $addon['price'];
|
@@ -1065,9 +1103,19 @@ class WCJ_Multicurrency extends WCJ_Module {
|
|
1065 |
/**
|
1066 |
* change_price.
|
1067 |
*
|
1068 |
-
* @version
|
1069 |
*/
|
1070 |
function change_price( $price, $_product ) {
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1071 |
if ( '' === $price ) {
|
1072 |
return $price;
|
1073 |
}
|
2 |
/**
|
3 |
* Booster for WooCommerce - Module - Multicurrency (Currency Switcher)
|
4 |
*
|
5 |
+
* @version 5.1.1
|
6 |
* @since 2.4.3
|
7 |
* @author Pluggabl LLC.
|
8 |
*/
|
144 |
|
145 |
// Compatibility with Pricing Deals
|
146 |
add_filter( 'option_' . 'vtprd_rules_set', array( $this, 'convert_pricing_deals_settings' ) );
|
147 |
+
|
148 |
+
// "WooCommerce Product Add-ons" plugin
|
149 |
+
add_filter( 'woocommerce_get_item_data', array( $this, 'get_addons_item_data' ), 20, 2 );
|
150 |
+
add_filter( 'woocommerce_product_addons_option_price_raw', array( $this, 'product_addons_option_price_raw' ), 10, 2 );
|
151 |
+
add_filter( 'woocommerce_product_addons_price_raw', array( $this, 'product_addons_price_raw' ), 10, 2 );
|
152 |
+
}
|
153 |
+
|
154 |
+
/**
|
155 |
+
* product_addons_price_raw.
|
156 |
+
*
|
157 |
+
* @version 5.1.1
|
158 |
+
* @since 5.1.1
|
159 |
+
*
|
160 |
+
* @param $price
|
161 |
+
* @param $addon
|
162 |
+
*
|
163 |
+
* @return mixed|string
|
164 |
+
*/
|
165 |
+
function product_addons_price_raw( $price, $addon ) {
|
166 |
+
if (
|
167 |
+
'no' === get_option( 'wcj_multicurrency_compatibility_product_addons', 'no' )
|
168 |
+
|| ( 'quantity_based' != $addon['price_type'] && 'flat_fee' != $addon['price_type'] )
|
169 |
+
) {
|
170 |
+
return $price;
|
171 |
+
}
|
172 |
+
$price = $this->change_price( $price, null );
|
173 |
+
return $price;
|
174 |
}
|
175 |
|
176 |
/**
|
251 |
/**
|
252 |
* get_wc_tree_table_rate_settings.
|
253 |
*
|
254 |
+
* @version 5.1.0
|
255 |
* @since 4.9.0
|
256 |
*
|
257 |
* @param $option
|
262 |
if ( 'no' === get_option( 'wcj_multicurrency_compatibility_wc_ttrs', 'no' ) ) {
|
263 |
return $option;
|
264 |
}
|
265 |
+
$transition_name = 'wcj_wc_tree_table_opt_' . md5( current_filter() );
|
266 |
+
if ( false === ( $modified_rule_result = get_transient( $transition_name ) ) ) {
|
267 |
+
$rule = json_decode( $option['rule'] );
|
268 |
+
$modified_rule = $this->recursively_convert_wc_tree_settings( $rule, array(
|
269 |
+
'change_keys' => array( 'value', 'min', 'max' ),
|
270 |
+
'exchange_rate' => $this->get_currency_exchange_rate( $this->get_current_currency_code() )
|
271 |
+
) );
|
272 |
+
set_transient( $transition_name, json_encode( $modified_rule ), 5 * MINUTE_IN_SECONDS );
|
273 |
+
}
|
274 |
+
$option['rule'] = $modified_rule_result;
|
275 |
+
remove_filter( current_filter(), array( $this, 'convert_wc_tree_table_rate_settings' ) );
|
276 |
return $option;
|
277 |
}
|
278 |
|
279 |
/**
|
280 |
* recursively_convert_wc_tree_settings.
|
281 |
*
|
282 |
+
* @version 5.1.0
|
283 |
* @since 4.9.0
|
284 |
*
|
285 |
* @param $array
|
295 |
$change_keys = $args['change_keys'];
|
296 |
$exchange_rate = $args['exchange_rate'];
|
297 |
foreach ( $array as $key => $value ) {
|
298 |
+
if ( in_array( $key, $change_keys ) ) {
|
299 |
+
if (
|
300 |
+
is_array( $array ) &&
|
301 |
+
isset( $array['condition'] ) &&
|
302 |
+
'price' == $array['condition'] &&
|
303 |
+
! empty( $value ) &&
|
304 |
+
is_numeric( $value )
|
305 |
+
) {
|
306 |
+
$array[ $key ] = $value * $exchange_rate;
|
307 |
+
} elseif (
|
308 |
+
is_a( $array, 'stdClass' ) &&
|
309 |
+
property_exists( $array, 'condition' ) &&
|
310 |
+
'price' === $array->condition &&
|
311 |
+
! empty( $value ) &&
|
312 |
+
is_numeric( $value )
|
313 |
+
) {
|
314 |
+
$array->$key = $value * $exchange_rate;
|
315 |
}
|
316 |
}
|
317 |
if ( is_array( $value ) || is_a( $value, 'stdClass' ) ) {
|
732 |
// Add "Change Price" hooks
|
733 |
wcj_add_change_price_hooks( $this, $this->price_hooks_priority );
|
734 |
|
|
|
|
|
|
|
|
|
735 |
// Handle Compatibility
|
736 |
$this->handle_compatibility();
|
737 |
|
923 |
* @return float|int
|
924 |
*/
|
925 |
function product_addons_option_price_raw( $price, $option ) {
|
926 |
+
if ( 'no' === get_option( 'wcj_multicurrency_compatibility_product_addons', 'no' ) ) {
|
927 |
+
return $price;
|
928 |
+
}
|
929 |
$price = $this->change_price( $price, null );
|
930 |
return $price;
|
931 |
}
|
933 |
/**
|
934 |
* Finds old add-ons fields on cart and replace by correct price.
|
935 |
*
|
936 |
+
* @version 5.1.1
|
937 |
* @since 4.3.0
|
938 |
*
|
939 |
* @param $other_data
|
942 |
* @return mixed
|
943 |
*/
|
944 |
function get_addons_item_data( $other_data, $cart_item ) {
|
945 |
+
if ( 'no' === get_option( 'wcj_multicurrency_compatibility_product_addons', 'no' ) ) {
|
946 |
+
return $other_data;
|
947 |
+
}
|
948 |
if ( ! empty( $cart_item['addons'] ) ) {
|
949 |
foreach ( $cart_item['addons'] as $addon ) {
|
950 |
$price = isset( $cart_item['addons_price_before_calc'] ) ? $cart_item['addons_price_before_calc'] : $addon['price'];
|
1103 |
/**
|
1104 |
* change_price.
|
1105 |
*
|
1106 |
+
* @version 5.1.0
|
1107 |
*/
|
1108 |
function change_price( $price, $_product ) {
|
1109 |
+
//Pricing Deals
|
1110 |
+
global $vtprd_cart;
|
1111 |
+
if (
|
1112 |
+
'yes' === get_option( 'wcj_multicurrency_compatibility_pricing_deals', 'no' ) &&
|
1113 |
+
( is_cart() || is_checkout() ) &&
|
1114 |
+
! empty( $vtprd_cart )
|
1115 |
+
) {
|
1116 |
+
return $price;
|
1117 |
+
}
|
1118 |
+
|
1119 |
if ( '' === $price ) {
|
1120 |
return $price;
|
1121 |
}
|
includes/class-wcj-my-account.php
CHANGED
@@ -2,7 +2,7 @@
|
|
2 |
/**
|
3 |
* Booster for WooCommerce - Module - My Account
|
4 |
*
|
5 |
-
* @version
|
6 |
* @since 2.9.0
|
7 |
* @author Pluggabl LLC.
|
8 |
*/
|
@@ -361,7 +361,7 @@ if ( ! class_exists( 'WCJ_My_Account' ) ) :
|
|
361 |
/**
|
362 |
* customize_menu.
|
363 |
*
|
364 |
-
* @version
|
365 |
* @since 3.8.0
|
366 |
* @todo (maybe) option to disable menu
|
367 |
*/
|
@@ -372,17 +372,6 @@ if ( ! class_exists( 'WCJ_My_Account' ) ) :
|
|
372 |
$items[ $item_id ] = $menu_titles[ $item_id ];
|
373 |
}
|
374 |
}
|
375 |
-
if ( 'yes' === apply_filters( 'booster_option', 'no', get_option( 'wcj_my_account_menu_order_customize_enabled', 'no' ) ) ) {
|
376 |
-
$menu_order = array_map( 'trim', explode( PHP_EOL, get_option( 'wcj_my_account_menu_order', $this->menu_order_default ) ) );
|
377 |
-
$modified_menu = array();
|
378 |
-
foreach ( $menu_order as $item_id ) {
|
379 |
-
if ( isset( $items[ $item_id ] ) ) {
|
380 |
-
$modified_menu[ $item_id ] = $items[ $item_id ];
|
381 |
-
unset( $items[ $item_id ] );
|
382 |
-
}
|
383 |
-
}
|
384 |
-
$items = array_merge( $modified_menu, $items );
|
385 |
-
}
|
386 |
if ( 'yes' === apply_filters( 'booster_option', 'no', get_option( 'wcj_my_account_menu_order_custom_items_enabled', 'no' ) ) ) {
|
387 |
$custom_items = array_map( 'trim', explode( PHP_EOL, get_option( 'wcj_my_account_menu_order_custom_items', '' ) ) );
|
388 |
foreach ( $custom_items as $custom_item ) {
|
@@ -392,6 +381,14 @@ if ( ! class_exists( 'WCJ_My_Account' ) ) :
|
|
392 |
}
|
393 |
}
|
394 |
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
395 |
return $items;
|
396 |
}
|
397 |
|
2 |
/**
|
3 |
* Booster for WooCommerce - Module - My Account
|
4 |
*
|
5 |
+
* @version 5.1.1
|
6 |
* @since 2.9.0
|
7 |
* @author Pluggabl LLC.
|
8 |
*/
|
361 |
/**
|
362 |
* customize_menu.
|
363 |
*
|
364 |
+
* @version 5.1.1
|
365 |
* @since 3.8.0
|
366 |
* @todo (maybe) option to disable menu
|
367 |
*/
|
372 |
$items[ $item_id ] = $menu_titles[ $item_id ];
|
373 |
}
|
374 |
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
375 |
if ( 'yes' === apply_filters( 'booster_option', 'no', get_option( 'wcj_my_account_menu_order_custom_items_enabled', 'no' ) ) ) {
|
376 |
$custom_items = array_map( 'trim', explode( PHP_EOL, get_option( 'wcj_my_account_menu_order_custom_items', '' ) ) );
|
377 |
foreach ( $custom_items as $custom_item ) {
|
381 |
}
|
382 |
}
|
383 |
}
|
384 |
+
if ( 'yes' === apply_filters( 'booster_option', 'no', get_option( 'wcj_my_account_menu_order_customize_enabled', 'no' ) ) ) {
|
385 |
+
$menu_order = array_map( 'trim', explode( PHP_EOL, get_option( 'wcj_my_account_menu_order', $this->menu_order_default ) ) );
|
386 |
+
$menu_order = array_map( 'strtolower', $menu_order );
|
387 |
+
$menu_order = array_filter( $menu_order, function ( $item ) use ( $items ) {
|
388 |
+
return in_array( $item, array_keys( $items ) );
|
389 |
+
} );
|
390 |
+
$items = array_merge( array_flip( $menu_order ), $items );
|
391 |
+
}
|
392 |
return $items;
|
393 |
}
|
394 |
|
includes/class-wcj-offer-price.php
CHANGED
@@ -2,7 +2,7 @@
|
|
2 |
/**
|
3 |
* Booster for WooCommerce - Module - Offer Price
|
4 |
*
|
5 |
-
* @version
|
6 |
* @since 2.9.0
|
7 |
* @author Pluggabl LLC.
|
8 |
*/
|
@@ -469,7 +469,7 @@ class WCJ_Offer_Price extends WCJ_Module {
|
|
469 |
/**
|
470 |
* offer_price.
|
471 |
*
|
472 |
-
* @version
|
473 |
* @since 2.9.0
|
474 |
* @todo (maybe) separate customer copy email template and subject
|
475 |
* @todo (maybe) redirect (no notice though)
|
@@ -504,34 +504,36 @@ class WCJ_Offer_Price extends WCJ_Module {
|
|
504 |
}
|
505 |
// Price offer array
|
506 |
$price_offer = array(
|
507 |
-
'offer_timestamp'
|
508 |
-
'product_title'
|
509 |
-
'
|
510 |
-
'
|
511 |
-
'
|
512 |
-
'
|
513 |
-
'
|
514 |
-
'
|
515 |
-
'
|
516 |
-
'
|
517 |
-
'
|
518 |
-
'
|
|
|
519 |
);
|
520 |
// Email content
|
521 |
$email_template = get_option( 'wcj_offer_price_email_template',
|
522 |
-
sprintf( __( 'Product: %s', 'woocommerce-jetpack' ), '%product_title
|
523 |
sprintf( __( 'Offered price: %s', 'woocommerce-jetpack' ), '%offered_price%' ) . '<br>' . PHP_EOL .
|
524 |
sprintf( __( 'From: %s %s', 'woocommerce-jetpack' ), '%customer_name%', '%customer_email%' ) . '<br>' . PHP_EOL .
|
525 |
sprintf( __( 'Message: %s', 'woocommerce-jetpack' ), '%customer_message%' )
|
526 |
);
|
527 |
$replaced_values = array(
|
528 |
-
'%product_title%'
|
529 |
-
'%
|
530 |
-
'%
|
531 |
-
'%
|
532 |
-
'%
|
533 |
-
'%
|
534 |
-
'%
|
|
|
535 |
);
|
536 |
$email_content = str_replace( array_keys( $replaced_values ), array_values( $replaced_values ), $email_template );
|
537 |
// Email subject and headers
|
2 |
/**
|
3 |
* Booster for WooCommerce - Module - Offer Price
|
4 |
*
|
5 |
+
* @version 5.1.0
|
6 |
* @since 2.9.0
|
7 |
* @author Pluggabl LLC.
|
8 |
*/
|
469 |
/**
|
470 |
* offer_price.
|
471 |
*
|
472 |
+
* @version 5.1.0
|
473 |
* @since 2.9.0
|
474 |
* @todo (maybe) separate customer copy email template and subject
|
475 |
* @todo (maybe) redirect (no notice though)
|
504 |
}
|
505 |
// Price offer array
|
506 |
$price_offer = array(
|
507 |
+
'offer_timestamp' => current_time( 'timestamp' ),
|
508 |
+
'product_title' => $_product->get_title(),
|
509 |
+
'product_edit_link' => get_edit_post_link( $_product->get_id() ),
|
510 |
+
'offered_price' => $_POST['wcj-offer-price-price'],
|
511 |
+
'currency_code' => get_woocommerce_currency(),
|
512 |
+
'customer_message' => $_POST['wcj-offer-price-message'],
|
513 |
+
'customer_name' => $_POST['wcj-offer-price-customer-name'],
|
514 |
+
'customer_email' => $_POST['wcj-offer-price-customer-email'],
|
515 |
+
'customer_id' => $_POST['wcj-offer-price-customer-id'],
|
516 |
+
'user_ip' => $_SERVER['REMOTE_ADDR'],
|
517 |
+
'user_agent' => $_SERVER['HTTP_USER_AGENT'],
|
518 |
+
'copy_to_customer' => ( isset( $_POST['wcj-offer-price-customer-copy'] ) ? $_POST['wcj-offer-price-customer-copy'] : 'no' ),
|
519 |
+
'sent_to' => $email_address,
|
520 |
);
|
521 |
// Email content
|
522 |
$email_template = get_option( 'wcj_offer_price_email_template',
|
523 |
+
sprintf( __( 'Product: %s', 'woocommerce-jetpack' ), '<a href="%product_edit_link%">%product_title%</a>' ) . '<br>' . PHP_EOL .
|
524 |
sprintf( __( 'Offered price: %s', 'woocommerce-jetpack' ), '%offered_price%' ) . '<br>' . PHP_EOL .
|
525 |
sprintf( __( 'From: %s %s', 'woocommerce-jetpack' ), '%customer_name%', '%customer_email%' ) . '<br>' . PHP_EOL .
|
526 |
sprintf( __( 'Message: %s', 'woocommerce-jetpack' ), '%customer_message%' )
|
527 |
);
|
528 |
$replaced_values = array(
|
529 |
+
'%product_title%' => $price_offer['product_title'],
|
530 |
+
'%product_edit_link%' => $price_offer['product_edit_link'],
|
531 |
+
'%offered_price%' => wc_price( $price_offer['offered_price'] ),
|
532 |
+
'%customer_message%' => $price_offer['customer_message'],
|
533 |
+
'%customer_name%' => $price_offer['customer_name'],
|
534 |
+
'%customer_email%' => $price_offer['customer_email'],
|
535 |
+
'%user_ip%' => $price_offer['user_ip'],
|
536 |
+
'%user_agent%' => $price_offer['user_agent'],
|
537 |
);
|
538 |
$email_content = str_replace( array_keys( $replaced_values ), array_values( $replaced_values ), $email_template );
|
539 |
// Email subject and headers
|
includes/class-wcj-order-min-amount.php
CHANGED
@@ -2,7 +2,7 @@
|
|
2 |
/**
|
3 |
* Booster for WooCommerce - Module - Order Minimum Amount
|
4 |
*
|
5 |
-
* @version
|
6 |
* @since 2.5.7
|
7 |
* @author Pluggabl LLC.
|
8 |
* @todo order max amount
|
@@ -80,7 +80,7 @@ class WCJ_Order_Min_Amount extends WCJ_Module {
|
|
80 |
/**
|
81 |
* get_order_minimum_amount_with_user_roles.
|
82 |
*
|
83 |
-
* @version
|
84 |
* @since 2.5.3
|
85 |
*/
|
86 |
function get_order_minimum_amount_with_user_roles() {
|
@@ -103,6 +103,12 @@ class WCJ_Order_Min_Amount extends WCJ_Module {
|
|
103 |
if ( WCJ()->modules['price_by_country']->is_enabled() ) {
|
104 |
$minimum = WCJ()->modules['price_by_country']->core->change_price( $minimum, null );
|
105 |
}
|
|
|
|
|
|
|
|
|
|
|
|
|
106 |
return $minimum;
|
107 |
}
|
108 |
|
2 |
/**
|
3 |
* Booster for WooCommerce - Module - Order Minimum Amount
|
4 |
*
|
5 |
+
* @version 5.1.0
|
6 |
* @since 2.5.7
|
7 |
* @author Pluggabl LLC.
|
8 |
* @todo order max amount
|
80 |
/**
|
81 |
* get_order_minimum_amount_with_user_roles.
|
82 |
*
|
83 |
+
* @version 5.1.0
|
84 |
* @since 2.5.3
|
85 |
*/
|
86 |
function get_order_minimum_amount_with_user_roles() {
|
103 |
if ( WCJ()->modules['price_by_country']->is_enabled() ) {
|
104 |
$minimum = WCJ()->modules['price_by_country']->core->change_price( $minimum, null );
|
105 |
}
|
106 |
+
// WooCommerce Multilingual
|
107 |
+
if ( 'yes' === get_option( 'wcj_order_minimum_compatibility_wpml_multilingual', 'no' ) ) {
|
108 |
+
global $woocommerce_wpml;
|
109 |
+
$minimum = ! empty( $woocommerce_wpml ) ? $woocommerce_wpml->multi_currency->prices->convert_price_amount( $minimum ) : $minimum;
|
110 |
+
}
|
111 |
+
|
112 |
return $minimum;
|
113 |
}
|
114 |
|
includes/class-wcj-order-numbers.php
CHANGED
@@ -2,7 +2,7 @@
|
|
2 |
/**
|
3 |
* Booster for WooCommerce - Module - Order Numbers
|
4 |
*
|
5 |
-
* @version
|
6 |
* @author Pluggabl LLC.
|
7 |
*/
|
8 |
|
@@ -15,7 +15,7 @@ class WCJ_Order_Numbers extends WCJ_Module {
|
|
15 |
/**
|
16 |
* Constructor.
|
17 |
*
|
18 |
-
* @version
|
19 |
* @todo (maybe) rename "Orders Renumerate" to "Renumerate orders"
|
20 |
* @todo (maybe) use `woocommerce_new_order` hook instead of `wp_insert_post`
|
21 |
*/
|
@@ -60,7 +60,79 @@ class WCJ_Order_Numbers extends WCJ_Module {
|
|
60 |
add_action( 'add_meta_boxes', array( $this, 'maybe_add_meta_box' ), PHP_INT_MAX, 2 );
|
61 |
add_action( 'save_post_shop_order', array( $this, 'save_meta_box' ), PHP_INT_MAX, 2 );
|
62 |
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
63 |
}
|
|
|
64 |
}
|
65 |
|
66 |
/**
|
2 |
/**
|
3 |
* Booster for WooCommerce - Module - Order Numbers
|
4 |
*
|
5 |
+
* @version 5.1.0
|
6 |
* @author Pluggabl LLC.
|
7 |
*/
|
8 |
|
15 |
/**
|
16 |
* Constructor.
|
17 |
*
|
18 |
+
* @version 5.1.0
|
19 |
* @todo (maybe) rename "Orders Renumerate" to "Renumerate orders"
|
20 |
* @todo (maybe) use `woocommerce_new_order` hook instead of `wp_insert_post`
|
21 |
*/
|
60 |
add_action( 'add_meta_boxes', array( $this, 'maybe_add_meta_box' ), PHP_INT_MAX, 2 );
|
61 |
add_action( 'save_post_shop_order', array( $this, 'save_meta_box' ), PHP_INT_MAX, 2 );
|
62 |
}
|
63 |
+
|
64 |
+
// Compatibility with WPNotif plugin
|
65 |
+
add_action( 'admin_init', function () {
|
66 |
+
if ( 'yes' === get_option( 'wcj_order_numbers_compatibility_wpnotif', 'no' ) ) {
|
67 |
+
remove_filter( 'wpnotif_filter_message', 'wpnotif_add_tracking_details', 10, 2 );
|
68 |
+
add_filter( 'wpnotif_filter_message', array( $this, 'wpnotif_add_tracking_details' ), 10, 2 );
|
69 |
+
}
|
70 |
+
} );
|
71 |
+
}
|
72 |
+
}
|
73 |
+
|
74 |
+
/**
|
75 |
+
* wpnotif_add_tracking_details.
|
76 |
+
*
|
77 |
+
* @see wpnotif_add_tracking_details() from WPNotif/inclues/filters.php
|
78 |
+
*
|
79 |
+
* @version 5.1.0
|
80 |
+
* @since 5.1.0
|
81 |
+
*
|
82 |
+
* @param $msg
|
83 |
+
* @param $order
|
84 |
+
*
|
85 |
+
* @return mixed
|
86 |
+
*/
|
87 |
+
function wpnotif_add_tracking_details( $msg, $order ) {
|
88 |
+
$tracking_link_string = '';
|
89 |
+
if ( class_exists( 'YITH_Tracking_Data' ) ) {
|
90 |
+
$values = array();
|
91 |
+
$yith_placeholders = apply_filters( 'ywsn_sms_placeholders', array(), $order );
|
92 |
+
if ( isset( $yith_placeholders['{tracking_url}'] ) ) {
|
93 |
+
$tracking_link_string = $yith_placeholders['{tracking_url}'];
|
94 |
+
}
|
95 |
+
} else {
|
96 |
+
$tracking_links = $this->wpnotif_get_wc_tracking_links( $order );
|
97 |
+
if ( ! empty( $tracking_links ) ) {
|
98 |
+
$tracking_link_string = implode( ',', $tracking_links );
|
99 |
+
}
|
100 |
+
}
|
101 |
+
$msg = str_replace( '{{wc-tracking-link}}', $tracking_link_string, $msg );
|
102 |
+
return $msg;
|
103 |
+
}
|
104 |
+
|
105 |
+
/**
|
106 |
+
* wpnotif_get_wc_tracking_links.
|
107 |
+
*
|
108 |
+
* @see wpnotif_get_wc_tracking_links() from WPNotif/inclues/filters.php
|
109 |
+
*
|
110 |
+
* @version 5.1.0
|
111 |
+
* @since 5.1.0
|
112 |
+
*
|
113 |
+
* @param $order
|
114 |
+
*
|
115 |
+
* @return array
|
116 |
+
*/
|
117 |
+
function wpnotif_get_wc_tracking_links( $order ) {
|
118 |
+
if ( class_exists( 'WC_Shipment_Tracking_Actions' ) ) {
|
119 |
+
$st = WC_Shipment_Tracking_Actions::get_instance();
|
120 |
+
} else if ( is_plugin_active( 'woo-advanced-shipment-tracking/woocommerce-advanced-shipment-tracking.php' ) ) {
|
121 |
+
$st = WC_Advanced_Shipment_Tracking_Actions::get_instance();
|
122 |
+
} else {
|
123 |
+
return array();
|
124 |
+
}
|
125 |
+
$order_id = $order->get_id();
|
126 |
+
$tracking_items = $st->get_tracking_items( $order_id );
|
127 |
+
if ( ! empty( $tracking_items ) ) {
|
128 |
+
$tracking_links = array();
|
129 |
+
foreach ( $tracking_items as $tracking_item ) {
|
130 |
+
$formated_item = $st->get_formatted_tracking_item( $order_id, $tracking_item );
|
131 |
+
$tracking_links[] = htmlspecialchars_decode( $formated_item['formatted_tracking_link'] );
|
132 |
+
break;
|
133 |
+
}
|
134 |
}
|
135 |
+
return $tracking_links;
|
136 |
}
|
137 |
|
138 |
/**
|
includes/class-wcj-price-by-country.php
CHANGED
@@ -2,7 +2,7 @@
|
|
2 |
/**
|
3 |
* Booster for WooCommerce - Module - Prices and Currencies by Country
|
4 |
*
|
5 |
-
* @version
|
6 |
* @author Pluggabl LLC.
|
7 |
*/
|
8 |
|
@@ -19,10 +19,15 @@ class WCJ_Price_By_Country extends WCJ_Module {
|
|
19 |
*/
|
20 |
public $core;
|
21 |
|
|
|
|
|
|
|
|
|
|
|
22 |
/**
|
23 |
* Constructor.
|
24 |
*
|
25 |
-
* @version
|
26 |
*/
|
27 |
function __construct() {
|
28 |
|
@@ -69,14 +74,19 @@ class WCJ_Price_By_Country extends WCJ_Module {
|
|
69 |
|
70 |
// Price Filter Widget
|
71 |
if ( 'yes' === get_option( 'wcj_price_by_country_price_filter_widget_support_enabled', 'no' ) ) {
|
72 |
-
|
73 |
-
|
74 |
-
add_action( 'woocommerce_ajax_save_product_variations', array( $this, 'update_products_price_by_country_product_saved_ajax' ), PHP_INT_MAX, 1 );
|
75 |
-
}
|
76 |
}
|
77 |
|
78 |
// Coupons Compatibility
|
79 |
add_filter( 'woocommerce_coupon_get_discount_amount', array( $this, 'fix_wc_coupon_currency' ), 10, 5 );
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
80 |
}
|
81 |
|
82 |
// Price Filter Widget
|
@@ -89,6 +99,17 @@ class WCJ_Price_By_Country extends WCJ_Module {
|
|
89 |
}
|
90 |
}
|
91 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
92 |
/**
|
93 |
* fix_wc_coupon_currency.
|
94 |
*
|
2 |
/**
|
3 |
* Booster for WooCommerce - Module - Prices and Currencies by Country
|
4 |
*
|
5 |
+
* @version 5.1.0
|
6 |
* @author Pluggabl LLC.
|
7 |
*/
|
8 |
|
19 |
*/
|
20 |
public $core;
|
21 |
|
22 |
+
/**
|
23 |
+
* @var WCJ_Price_By_Country_Updater
|
24 |
+
*/
|
25 |
+
public $bkg_process_price_updater;
|
26 |
+
|
27 |
/**
|
28 |
* Constructor.
|
29 |
*
|
30 |
+
* @version 5.1.0
|
31 |
*/
|
32 |
function __construct() {
|
33 |
|
74 |
|
75 |
// Price Filter Widget
|
76 |
if ( 'yes' === get_option( 'wcj_price_by_country_price_filter_widget_support_enabled', 'no' ) ) {
|
77 |
+
add_action( 'save_post_product', array( $this, 'update_products_price_by_country_product_saved' ), PHP_INT_MAX, 2 );
|
78 |
+
add_action( 'woocommerce_ajax_save_product_variations', array( $this, 'update_products_price_by_country_product_saved_ajax' ), PHP_INT_MAX, 1 );
|
|
|
|
|
79 |
}
|
80 |
|
81 |
// Coupons Compatibility
|
82 |
add_filter( 'woocommerce_coupon_get_discount_amount', array( $this, 'fix_wc_coupon_currency' ), 10, 5 );
|
83 |
+
|
84 |
+
// Bkg Process
|
85 |
+
if ( 'init' === current_filter() ) {
|
86 |
+
$this->init_bkg_process_class();
|
87 |
+
} else {
|
88 |
+
add_action( 'plugins_loaded', array( $this, 'init_bkg_process_class' ) );
|
89 |
+
}
|
90 |
}
|
91 |
|
92 |
// Price Filter Widget
|
99 |
}
|
100 |
}
|
101 |
|
102 |
+
/**
|
103 |
+
* init_bkg_process_class.
|
104 |
+
*
|
105 |
+
* @version 5.1.0
|
106 |
+
* @since 5.1.0
|
107 |
+
*/
|
108 |
+
function init_bkg_process_class() {
|
109 |
+
require_once( wcj_plugin_path() . '/includes/background-process/class-wcj-price-by-country-updater.php' );
|
110 |
+
$this->bkg_process_price_updater = new WCJ_Price_By_Country_Updater();
|
111 |
+
}
|
112 |
+
|
113 |
/**
|
114 |
* fix_wc_coupon_currency.
|
115 |
*
|
includes/class-wcj-product-images.php
CHANGED
@@ -2,7 +2,7 @@
|
|
2 |
/**
|
3 |
* Booster for WooCommerce - Module - Product Images
|
4 |
*
|
5 |
-
* @version
|
6 |
* @since 2.2.0
|
7 |
* @author Pluggabl LLC.
|
8 |
*/
|
@@ -221,12 +221,12 @@ class WCJ_Product_Images extends WCJ_Module {
|
|
221 |
/**
|
222 |
* customize_single_product_image_or_thumbnail_html_wc3.
|
223 |
*
|
224 |
-
* @version
|
225 |
* @since 2.8.0
|
226 |
*/
|
227 |
function customize_single_product_image_or_thumbnail_html_wc3( $html, $attachment_id ) {
|
228 |
$post_id = get_the_ID();
|
229 |
-
return ( get_post_thumbnail_id( $post_id ) === $attachment_id ?
|
230 |
$this->customize_single_product_image_html( $html, $post_id ) :
|
231 |
$this->customize_single_product_image_thumbnail_html( $html )
|
232 |
);
|
2 |
/**
|
3 |
* Booster for WooCommerce - Module - Product Images
|
4 |
*
|
5 |
+
* @version 5.1.0
|
6 |
* @since 2.2.0
|
7 |
* @author Pluggabl LLC.
|
8 |
*/
|
221 |
/**
|
222 |
* customize_single_product_image_or_thumbnail_html_wc3.
|
223 |
*
|
224 |
+
* @version 5.1.0
|
225 |
* @since 2.8.0
|
226 |
*/
|
227 |
function customize_single_product_image_or_thumbnail_html_wc3( $html, $attachment_id ) {
|
228 |
$post_id = get_the_ID();
|
229 |
+
return ( (int) get_post_thumbnail_id( $post_id ) === (int) $attachment_id ?
|
230 |
$this->customize_single_product_image_html( $html, $post_id ) :
|
231 |
$this->customize_single_product_image_thumbnail_html( $html )
|
232 |
);
|
includes/class-wcj-product-msrp.php
CHANGED
@@ -2,7 +2,7 @@
|
|
2 |
/**
|
3 |
* Booster for WooCommerce - Module - Product MSRP
|
4 |
*
|
5 |
-
* @version
|
6 |
* @since 3.6.0
|
7 |
* @author Pluggabl LLC.
|
8 |
*/
|
@@ -18,7 +18,7 @@ class WCJ_Product_MSRP extends WCJ_Module {
|
|
18 |
/**
|
19 |
* Constructor.
|
20 |
*
|
21 |
-
* @version
|
22 |
* @since 3.6.0
|
23 |
* @todo (maybe) option to change `_wcj_msrp` meta key
|
24 |
* @todo (maybe) REST API
|
@@ -27,7 +27,6 @@ class WCJ_Product_MSRP extends WCJ_Module {
|
|
27 |
* @todo (maybe) `[wcj_product_msrp]` shortcode (and link to "Product Info" module in description)
|
28 |
*/
|
29 |
function __construct() {
|
30 |
-
|
31 |
$this->id = 'product_msrp';
|
32 |
$this->short_desc = __( 'Product MSRP', 'woocommerce-jetpack' );
|
33 |
$this->extra_desc = __( 'The <strong>manufacturer\'s suggested retail price</strong> (<strong>MSRP</strong>), also known as the <strong>list price</strong>, or the <strong>recommended retail price</strong> (<strong>RRP</strong>), or the <strong>suggested retail price</strong> (<strong>SRP</strong>), of a product is the price at which the manufacturer recommends that the retailer sell the product.', 'woocommerce-jetpack' ) . '<br>' .
|
@@ -57,6 +56,11 @@ class WCJ_Product_MSRP extends WCJ_Module {
|
|
57 |
|
58 |
// Get current template path
|
59 |
add_action( 'woocommerce_before_template_part', array( $this, 'get_current_template_path' ), 10 );
|
|
|
|
|
|
|
|
|
|
|
60 |
}
|
61 |
|
62 |
}
|
@@ -152,16 +156,34 @@ class WCJ_Product_MSRP extends WCJ_Module {
|
|
152 |
}
|
153 |
}
|
154 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
155 |
/**
|
156 |
* display.
|
157 |
*
|
158 |
-
* @version
|
159 |
* @since 3.6.0
|
160 |
* @todo (maybe) multicurrency
|
161 |
* @todo (feature) (maybe) variable product's msrp: add another option to enter MSRP directly for the whole variable product, instead of taking first variation's MSRP
|
162 |
*/
|
163 |
function display( $price_html, $product ) {
|
164 |
-
$section_id =
|
165 |
$display = get_option( 'wcj_product_msrp_display_on_' . $section_id, 'show' );
|
166 |
if ( 'hide' == $display ) {
|
167 |
return $price_html;
|
2 |
/**
|
3 |
* Booster for WooCommerce - Module - Product MSRP
|
4 |
*
|
5 |
+
* @version 5.1.1
|
6 |
* @since 3.6.0
|
7 |
* @author Pluggabl LLC.
|
8 |
*/
|
18 |
/**
|
19 |
* Constructor.
|
20 |
*
|
21 |
+
* @version 5.1.1
|
22 |
* @since 3.6.0
|
23 |
* @todo (maybe) option to change `_wcj_msrp` meta key
|
24 |
* @todo (maybe) REST API
|
27 |
* @todo (maybe) `[wcj_product_msrp]` shortcode (and link to "Product Info" module in description)
|
28 |
*/
|
29 |
function __construct() {
|
|
|
30 |
$this->id = 'product_msrp';
|
31 |
$this->short_desc = __( 'Product MSRP', 'woocommerce-jetpack' );
|
32 |
$this->extra_desc = __( 'The <strong>manufacturer\'s suggested retail price</strong> (<strong>MSRP</strong>), also known as the <strong>list price</strong>, or the <strong>recommended retail price</strong> (<strong>RRP</strong>), or the <strong>suggested retail price</strong> (<strong>SRP</strong>), of a product is the price at which the manufacturer recommends that the retailer sell the product.', 'woocommerce-jetpack' ) . '<br>' .
|
56 |
|
57 |
// Get current template path
|
58 |
add_action( 'woocommerce_before_template_part', array( $this, 'get_current_template_path' ), 10 );
|
59 |
+
add_filter( 'wc_get_template_part', function ( $template, $slug, $name ) {
|
60 |
+
$final = $slug . '-' . $name;
|
61 |
+
$this->current_template_path = $final;
|
62 |
+
return $template;
|
63 |
+
}, 10, 3 );
|
64 |
}
|
65 |
|
66 |
}
|
156 |
}
|
157 |
}
|
158 |
|
159 |
+
/**
|
160 |
+
* get_section_id_by_template_path.
|
161 |
+
*
|
162 |
+
* @version 5.1.0
|
163 |
+
* @since 5.1.0
|
164 |
+
*
|
165 |
+
* @param $template
|
166 |
+
*
|
167 |
+
* @return string
|
168 |
+
*/
|
169 |
+
function get_section_id_by_template_path( $template ) {
|
170 |
+
$archive_detection_method = $this->get_option( 'wcj_product_msrp_archive_detection_method', 'loop' );
|
171 |
+
$archive_detection_method = array_values( array_filter( explode( PHP_EOL, $archive_detection_method ) ) );
|
172 |
+
return count( array_filter( $archive_detection_method, function ( $item ) use ( $template ) {
|
173 |
+
return strpos( $template, $item ) !== false;
|
174 |
+
} ) ) == 0 && is_singular() ? 'single' : 'archives';
|
175 |
+
}
|
176 |
+
|
177 |
/**
|
178 |
* display.
|
179 |
*
|
180 |
+
* @version 5.1.0
|
181 |
* @since 3.6.0
|
182 |
* @todo (maybe) multicurrency
|
183 |
* @todo (feature) (maybe) variable product's msrp: add another option to enter MSRP directly for the whole variable product, instead of taking first variation's MSRP
|
184 |
*/
|
185 |
function display( $price_html, $product ) {
|
186 |
+
$section_id = $this->get_section_id_by_template_path( $this->current_template_path );
|
187 |
$display = get_option( 'wcj_product_msrp_display_on_' . $section_id, 'show' );
|
188 |
if ( 'hide' == $display ) {
|
189 |
return $price_html;
|
includes/class-wcj-product-price-by-formula.php
CHANGED
@@ -2,7 +2,7 @@
|
|
2 |
/**
|
3 |
* Booster for WooCommerce - Module - Product Price by Formula
|
4 |
*
|
5 |
-
* @version
|
6 |
* @since 2.5.0
|
7 |
* @author Pluggabl LLC.
|
8 |
*/
|
@@ -92,15 +92,63 @@ class WCJ_Product_Price_by_Formula extends WCJ_Module {
|
|
92 |
return $the_param;
|
93 |
}
|
94 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
95 |
/**
|
96 |
* change_price.
|
97 |
*
|
98 |
-
* @version
|
99 |
* @since 2.5.0
|
100 |
*/
|
101 |
function change_price( $price, $_product, $output_errors = false ) {
|
102 |
if ( $this->is_price_by_formula_product( $_product ) && '' != $price ) {
|
103 |
$_product_id = wcj_get_product_id_or_variation_parent_id( $_product );
|
|
|
|
|
|
|
|
|
104 |
$is_per_product = ( 'per_product' === get_post_meta( $_product_id, '_' . 'wcj_product_price_by_formula_calculation', true ) );
|
105 |
$the_formula = ( $is_per_product )
|
106 |
? get_post_meta( $_product_id, '_' . 'wcj_product_price_by_formula_eval', true )
|
@@ -113,7 +161,9 @@ class WCJ_Product_Price_by_Formula extends WCJ_Module {
|
|
113 |
if ( $total_params > 0 ) {
|
114 |
$the_current_filter = current_filter();
|
115 |
if ( 'woocommerce_get_price_including_tax' == $the_current_filter || 'woocommerce_get_price_excluding_tax' == $the_current_filter ) {
|
116 |
-
|
|
|
|
|
117 |
}
|
118 |
$math = new WCJ_Math();
|
119 |
$math->registerVariable( 'x', $price );
|
@@ -139,6 +189,7 @@ class WCJ_Product_Price_by_Formula extends WCJ_Module {
|
|
139 |
if ( 'no_rounding' != $this->rounding ) {
|
140 |
$price = wcj_round( $price, $this->rounding_precision, $this->rounding );
|
141 |
}
|
|
|
142 |
}
|
143 |
}
|
144 |
}
|
2 |
/**
|
3 |
* Booster for WooCommerce - Module - Product Price by Formula
|
4 |
*
|
5 |
+
* @version 5.1.1
|
6 |
* @since 2.5.0
|
7 |
* @author Pluggabl LLC.
|
8 |
*/
|
92 |
return $the_param;
|
93 |
}
|
94 |
|
95 |
+
/**
|
96 |
+
* save_price.
|
97 |
+
*
|
98 |
+
* @version 5.1.1
|
99 |
+
* @since 5.1.1
|
100 |
+
*
|
101 |
+
* @param $product_id
|
102 |
+
* @param $price
|
103 |
+
*
|
104 |
+
* @return bool
|
105 |
+
*/
|
106 |
+
function save_price( $product_id, $price ) {
|
107 |
+
if ( 'no' === $this->get_option( 'wcj_product_price_by_formula_save_prices', 'no' ) ) {
|
108 |
+
return false;
|
109 |
+
}
|
110 |
+
$filter = current_filter();
|
111 |
+
if ( '' == $filter ) {
|
112 |
+
$filter = 'wcj_filter__none';
|
113 |
+
}
|
114 |
+
WCJ()->modules['product_price_by_formula']->calculated_products_prices[ $product_id ][ $filter ] = $price;
|
115 |
+
}
|
116 |
+
|
117 |
+
/**
|
118 |
+
* @version 5.1.1
|
119 |
+
* @since 5.1.1
|
120 |
+
*
|
121 |
+
* @param $product_id
|
122 |
+
*
|
123 |
+
* @return bool
|
124 |
+
*/
|
125 |
+
function get_saved_price( $product_id ) {
|
126 |
+
if ( 'no' === $this->get_option( 'wcj_product_price_by_formula_save_prices', 'no' ) ) {
|
127 |
+
return false;
|
128 |
+
}
|
129 |
+
$filter = current_filter();
|
130 |
+
if ( '' == $filter ) {
|
131 |
+
$filter = 'wcj_filter__none';
|
132 |
+
}
|
133 |
+
if ( isset( WCJ()->modules['product_price_by_formula']->calculated_products_prices[ $product_id ][ $filter ] ) ) {
|
134 |
+
return WCJ()->modules['product_price_by_formula']->calculated_products_prices[ $product_id ][ $filter ];
|
135 |
+
}
|
136 |
+
return false;
|
137 |
+
}
|
138 |
+
|
139 |
/**
|
140 |
* change_price.
|
141 |
*
|
142 |
+
* @version 5.1.1
|
143 |
* @since 2.5.0
|
144 |
*/
|
145 |
function change_price( $price, $_product, $output_errors = false ) {
|
146 |
if ( $this->is_price_by_formula_product( $_product ) && '' != $price ) {
|
147 |
$_product_id = wcj_get_product_id_or_variation_parent_id( $_product );
|
148 |
+
$saved_price = $this->get_saved_price( $_product_id );
|
149 |
+
if ( false !== $saved_price ) {
|
150 |
+
return $saved_price;
|
151 |
+
}
|
152 |
$is_per_product = ( 'per_product' === get_post_meta( $_product_id, '_' . 'wcj_product_price_by_formula_calculation', true ) );
|
153 |
$the_formula = ( $is_per_product )
|
154 |
? get_post_meta( $_product_id, '_' . 'wcj_product_price_by_formula_eval', true )
|
161 |
if ( $total_params > 0 ) {
|
162 |
$the_current_filter = current_filter();
|
163 |
if ( 'woocommerce_get_price_including_tax' == $the_current_filter || 'woocommerce_get_price_excluding_tax' == $the_current_filter ) {
|
164 |
+
$price = wcj_get_product_display_price( $_product );
|
165 |
+
$this->save_price( $_product_id, $price );
|
166 |
+
return $price;
|
167 |
}
|
168 |
$math = new WCJ_Math();
|
169 |
$math->registerVariable( 'x', $price );
|
189 |
if ( 'no_rounding' != $this->rounding ) {
|
190 |
$price = wcj_round( $price, $this->rounding_precision, $this->rounding );
|
191 |
}
|
192 |
+
$this->save_price( $_product_id, $price );
|
193 |
}
|
194 |
}
|
195 |
}
|
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 Pluggabl LLC.
|
8 |
*/
|
@@ -51,7 +51,7 @@ class WCJ_Shipping_By_Cities extends WCJ_Module_Shipping_By_Condition {
|
|
51 |
/**
|
52 |
* check.
|
53 |
*
|
54 |
-
* @version
|
55 |
* @since 3.6.0
|
56 |
* @todo `$_REQUEST['city']` (i.e. billing city)
|
57 |
* @todo `get_base_city()` - do we really need this?
|
@@ -59,7 +59,7 @@ class WCJ_Shipping_By_Cities extends WCJ_Module_Shipping_By_Condition {
|
|
59 |
function check( $options_id, $values, $include_or_exclude, $package ) {
|
60 |
switch ( $options_id ) {
|
61 |
case 'cities':
|
62 |
-
$customer_city = strtoupper( isset( $_REQUEST['s_city'] ) ? $_REQUEST['s_city'] : ( isset ( $_REQUEST['calc_shipping_city'] ) ? $_REQUEST['calc_shipping_city'] : ( ! empty( $user_city = WC()->customer->
|
63 |
$values = array_map( 'strtoupper', array_map( 'trim', explode( PHP_EOL, $values ) ) );
|
64 |
return in_array( $customer_city, $values );
|
65 |
case 'postcodes':
|
2 |
/**
|
3 |
* Booster for WooCommerce - Module - Shipping by Cities
|
4 |
*
|
5 |
+
* @version 5.1.0
|
6 |
* @since 3.6.0
|
7 |
* @author Pluggabl LLC.
|
8 |
*/
|
51 |
/**
|
52 |
* check.
|
53 |
*
|
54 |
+
* @version 5.1.0
|
55 |
* @since 3.6.0
|
56 |
* @todo `$_REQUEST['city']` (i.e. billing city)
|
57 |
* @todo `get_base_city()` - do we really need this?
|
59 |
function check( $options_id, $values, $include_or_exclude, $package ) {
|
60 |
switch ( $options_id ) {
|
61 |
case 'cities':
|
62 |
+
$customer_city = strtoupper( isset( $_REQUEST['s_city'] ) ? $_REQUEST['s_city'] : ( isset ( $_REQUEST['calc_shipping_city'] ) ? $_REQUEST['calc_shipping_city'] : ( ! empty( $user_city = WC()->customer->get_shipping_city() ) ? $user_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':
|
includes/class-wcj-wpml.php
CHANGED
@@ -2,7 +2,7 @@
|
|
2 |
/**
|
3 |
* Booster for WooCommerce - Module - WPML
|
4 |
*
|
5 |
-
* @version
|
6 |
* @since 2.2.0
|
7 |
* @author Pluggabl LLC.
|
8 |
*/
|
@@ -13,10 +13,15 @@ if ( ! class_exists( 'WCJ_WPML' ) ) :
|
|
13 |
|
14 |
class WCJ_WPML extends WCJ_Module {
|
15 |
|
|
|
|
|
|
|
|
|
|
|
16 |
/**
|
17 |
* Constructor.
|
18 |
*
|
19 |
-
* @version
|
20 |
*/
|
21 |
function __construct() {
|
22 |
|
@@ -31,25 +36,69 @@ class WCJ_WPML extends WCJ_Module {
|
|
31 |
if ( 'yes' === get_option( 'wcj_wpml_config_xml_auto_regenerate', 'no' ) ) {
|
32 |
add_action( 'wcj_version_updated', array( $this, 'create_wpml_xml_file' ) );
|
33 |
}
|
34 |
-
add_action( 'wcml_switch_currency', array( $this, '
|
35 |
add_filter( 'wcml_client_currency', function ( $currency ) {
|
36 |
-
$this->
|
37 |
return $currency;
|
38 |
} );
|
|
|
|
|
|
|
39 |
}
|
40 |
|
41 |
$this->notice = '';
|
42 |
}
|
43 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
44 |
/**
|
45 |
* Set Booster currency based on WPML currency
|
46 |
*
|
47 |
-
* @version
|
48 |
* @since 4.5.0
|
49 |
*
|
50 |
* @param $currency
|
51 |
*/
|
52 |
-
function
|
53 |
if (
|
54 |
'no' === get_option( 'wcj_wpml_switch_booster_currency', 'no' ) ||
|
55 |
! WCJ()->modules['multicurrency']->is_enabled()
|
2 |
/**
|
3 |
* Booster for WooCommerce - Module - WPML
|
4 |
*
|
5 |
+
* @version 5.1.0
|
6 |
* @since 2.2.0
|
7 |
* @author Pluggabl LLC.
|
8 |
*/
|
13 |
|
14 |
class WCJ_WPML extends WCJ_Module {
|
15 |
|
16 |
+
/**
|
17 |
+
* @var WCJ_WPML_Meta_Sync
|
18 |
+
*/
|
19 |
+
protected $bkg_process_meta_sync;
|
20 |
+
|
21 |
/**
|
22 |
* Constructor.
|
23 |
*
|
24 |
+
* @version 5.1.0
|
25 |
*/
|
26 |
function __construct() {
|
27 |
|
36 |
if ( 'yes' === get_option( 'wcj_wpml_config_xml_auto_regenerate', 'no' ) ) {
|
37 |
add_action( 'wcj_version_updated', array( $this, 'create_wpml_xml_file' ) );
|
38 |
}
|
39 |
+
add_action( 'wcml_switch_currency', array( $this, 'switch_currency_using_multicurrency' ) );
|
40 |
add_filter( 'wcml_client_currency', function ( $currency ) {
|
41 |
+
$this->switch_currency_using_multicurrency( $currency );
|
42 |
return $currency;
|
43 |
} );
|
44 |
+
|
45 |
+
// WPML Meta Synchronizer
|
46 |
+
add_action( 'updated_postmeta', array( $this, 'update_meta_on_correspondent_language_product' ), 10, 4 );
|
47 |
}
|
48 |
|
49 |
$this->notice = '';
|
50 |
}
|
51 |
|
52 |
+
/**
|
53 |
+
* update_meta_on_correspondent_language_product.
|
54 |
+
*
|
55 |
+
* @version 5.1.0
|
56 |
+
* @since 5.1.0
|
57 |
+
*
|
58 |
+
* @param $meta_id
|
59 |
+
* @param $object_id
|
60 |
+
* @param $meta_key
|
61 |
+
* @param $meta_value
|
62 |
+
*/
|
63 |
+
function update_meta_on_correspondent_language_product( $meta_id, $object_id, $meta_key, $meta_value ) {
|
64 |
+
$allowed_metas_like = array( '_wcj_price_by_country_' );
|
65 |
+
if (
|
66 |
+
'no' === get_option( 'wcj_wpml_sync_metas', 'no' )
|
67 |
+
|| ( 'product' != get_post_type( $object_id ) && 'product_variation' != get_post_type( $object_id ) )
|
68 |
+
|| count( array_filter( $allowed_metas_like, function ( $item ) use ( $meta_key ) {
|
69 |
+
return strpos( $meta_key, $item ) !== false;
|
70 |
+
} ) ) == 0
|
71 |
+
) {
|
72 |
+
return;
|
73 |
+
}
|
74 |
+
$current_lang = apply_filters( 'wpml_current_language', null );
|
75 |
+
$languages = apply_filters( 'wpml_active_languages', null );
|
76 |
+
$wpml_post_info = apply_filters( 'wpml_post_language_details', null, $object_id );
|
77 |
+
if (
|
78 |
+
empty( $wpml_post_info )
|
79 |
+
|| ! isset( $wpml_post_info['language_code'] )
|
80 |
+
|| $current_lang != $wpml_post_info['language_code']
|
81 |
+
) {
|
82 |
+
return;
|
83 |
+
}
|
84 |
+
unset( $languages[ $current_lang ] );
|
85 |
+
foreach ( $languages as $language ) {
|
86 |
+
$translated_post_id = apply_filters( 'wpml_object_id', $object_id, 'post', false, $language['code'] );
|
87 |
+
if ( ! empty( $translated_post_id ) && $translated_post_id != $object_id ) {
|
88 |
+
update_post_meta( $translated_post_id, $meta_key, $meta_value );
|
89 |
+
}
|
90 |
+
}
|
91 |
+
}
|
92 |
+
|
93 |
/**
|
94 |
* Set Booster currency based on WPML currency
|
95 |
*
|
96 |
+
* @version 5.1.0
|
97 |
* @since 4.5.0
|
98 |
*
|
99 |
* @param $currency
|
100 |
*/
|
101 |
+
function switch_currency_using_multicurrency( $currency ) {
|
102 |
if (
|
103 |
'no' === get_option( 'wcj_wpml_switch_booster_currency', 'no' ) ||
|
104 |
! WCJ()->modules['multicurrency']->is_enabled()
|
includes/classes/class-wcj-module-product-by-condition.php
CHANGED
@@ -2,7 +2,7 @@
|
|
2 |
/**
|
3 |
* Booster for WooCommerce - Module - Product by Condition
|
4 |
*
|
5 |
-
* @version
|
6 |
* @since 3.6.0
|
7 |
* @author Pluggabl LLC.
|
8 |
*/
|
@@ -142,7 +142,7 @@ abstract class WCJ_Module_Product_By_Condition extends WCJ_Module {
|
|
142 |
/**
|
143 |
* delete_invisible_products_transient.
|
144 |
*
|
145 |
-
* @version
|
146 |
* @since 4.7.1
|
147 |
*
|
148 |
* @param null $params
|
@@ -160,7 +160,7 @@ abstract class WCJ_Module_Product_By_Condition extends WCJ_Module {
|
|
160 |
delete_transient( $transient_name );
|
161 |
} elseif ( 'all_roles' === $params['remove_method'] ) {
|
162 |
global $wpdb;
|
163 |
-
$sql = "delete from
|
164 |
$wpdb->query( $wpdb->prepare( $sql, '^_transient_' . 'wcj_' . $this->id ) );
|
165 |
}
|
166 |
}
|
2 |
/**
|
3 |
* Booster for WooCommerce - Module - Product by Condition
|
4 |
*
|
5 |
+
* @version 5.1.1
|
6 |
* @since 3.6.0
|
7 |
* @author Pluggabl LLC.
|
8 |
*/
|
142 |
/**
|
143 |
* delete_invisible_products_transient.
|
144 |
*
|
145 |
+
* @version 5.1.1
|
146 |
* @since 4.7.1
|
147 |
*
|
148 |
* @param null $params
|
160 |
delete_transient( $transient_name );
|
161 |
} elseif ( 'all_roles' === $params['remove_method'] ) {
|
162 |
global $wpdb;
|
163 |
+
$sql = "delete from {$wpdb->options} where option_name REGEXP %s";
|
164 |
$wpdb->query( $wpdb->prepare( $sql, '^_transient_' . 'wcj_' . $this->id ) );
|
165 |
}
|
166 |
}
|
includes/classes/class-wcj-module.php
CHANGED
@@ -2,7 +2,7 @@
|
|
2 |
/**
|
3 |
* Booster for WooCommerce Module
|
4 |
*
|
5 |
-
* @version
|
6 |
* @since 2.2.0
|
7 |
* @author Pluggabl LLC.
|
8 |
* @todo [dev] maybe should be `abstract` ?
|
@@ -43,7 +43,7 @@ class WCJ_Module {
|
|
43 |
/**
|
44 |
* Constructor.
|
45 |
*
|
46 |
-
* @version
|
47 |
*/
|
48 |
function __construct( $type = 'module' ) {
|
49 |
add_filter( 'wcj_settings_sections', array( $this, 'settings_section' ) );
|
@@ -71,6 +71,29 @@ class WCJ_Module {
|
|
71 |
add_action( 'wcj_after_get_products', array( $this, 'restore_wpml_args_on_get_products' ) );
|
72 |
add_action( 'admin_init', array( $this, 'remove_wpml_hooks' ) );
|
73 |
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
74 |
}
|
75 |
|
76 |
/**
|
2 |
/**
|
3 |
* Booster for WooCommerce Module
|
4 |
*
|
5 |
+
* @version 5.1.0
|
6 |
* @since 2.2.0
|
7 |
* @author Pluggabl LLC.
|
8 |
* @todo [dev] maybe should be `abstract` ?
|
43 |
/**
|
44 |
* Constructor.
|
45 |
*
|
46 |
+
* @version 5.1.0
|
47 |
*/
|
48 |
function __construct( $type = 'module' ) {
|
49 |
add_filter( 'wcj_settings_sections', array( $this, 'settings_section' ) );
|
71 |
add_action( 'wcj_after_get_products', array( $this, 'restore_wpml_args_on_get_products' ) );
|
72 |
add_action( 'admin_init', array( $this, 'remove_wpml_hooks' ) );
|
73 |
}
|
74 |
+
|
75 |
+
// Handle Price Functions
|
76 |
+
add_filter( 'wc_price', array( $this, 'handle_price' ), 10, 4 );
|
77 |
+
}
|
78 |
+
|
79 |
+
/**
|
80 |
+
* handle_price.
|
81 |
+
*
|
82 |
+
* @version 5.1.0
|
83 |
+
* @since 5.1.0
|
84 |
+
*
|
85 |
+
* @param $return
|
86 |
+
* @param $price
|
87 |
+
* @param $args
|
88 |
+
* @param $unformatted_price
|
89 |
+
*
|
90 |
+
* @return mixed
|
91 |
+
*/
|
92 |
+
function handle_price( $return, $price, $args, $unformatted_price ) {
|
93 |
+
if ( isset( $args['add_html_on_price'] ) && ! filter_var( $args['add_html_on_price'], FILTER_VALIDATE_BOOLEAN ) ) {
|
94 |
+
$return = $price;
|
95 |
+
}
|
96 |
+
return $return;
|
97 |
}
|
98 |
|
99 |
/**
|
includes/classes/class-wcj-pdf-invoice.php
CHANGED
@@ -2,7 +2,7 @@
|
|
2 |
/**
|
3 |
* Booster for WooCommerce PDF Invoice
|
4 |
*
|
5 |
-
* @version
|
6 |
* @author Pluggabl LLC.
|
7 |
*/
|
8 |
|
@@ -213,7 +213,7 @@ class WCJ_PDF_Invoice extends WCJ_Invoice {
|
|
213 |
/**
|
214 |
* get_pdf.
|
215 |
*
|
216 |
-
* @version
|
217 |
* @todo [dev] (maybe) `die()` on success
|
218 |
*/
|
219 |
function get_pdf( $dest ) {
|
@@ -249,7 +249,9 @@ class WCJ_PDF_Invoice extends WCJ_Invoice {
|
|
249 |
if ( ! file_put_contents( $file_path, $result_pdf ) ) {
|
250 |
return null;
|
251 |
}
|
252 |
-
|
|
|
|
|
253 |
flush(); // this doesn't really matter.
|
254 |
if ( false !== ( $fp = fopen( $file_path, "r" ) ) ) {
|
255 |
while ( ! feof( $fp ) ) {
|
2 |
/**
|
3 |
* Booster for WooCommerce PDF Invoice
|
4 |
*
|
5 |
+
* @version 5.1.0
|
6 |
* @author Pluggabl LLC.
|
7 |
*/
|
8 |
|
213 |
/**
|
214 |
* get_pdf.
|
215 |
*
|
216 |
+
* @version 5.1.0
|
217 |
* @todo [dev] (maybe) `die()` on success
|
218 |
*/
|
219 |
function get_pdf( $dest ) {
|
249 |
if ( ! file_put_contents( $file_path, $result_pdf ) ) {
|
250 |
return null;
|
251 |
}
|
252 |
+
if ( apply_filters( 'wcj_invoicing_header_content_length', true ) ) {
|
253 |
+
header( "Content-Length: " . filesize( $file_path ) );
|
254 |
+
}
|
255 |
flush(); // this doesn't really matter.
|
256 |
if ( false !== ( $fp = fopen( $file_path, "r" ) ) ) {
|
257 |
while ( ! feof( $fp ) ) {
|
includes/export/class-wcj-exporter-orders.php
CHANGED
@@ -2,7 +2,7 @@
|
|
2 |
/**
|
3 |
* Booster for WooCommerce Exporter Orders
|
4 |
*
|
5 |
-
* @version
|
6 |
* @since 2.5.9
|
7 |
* @author Pluggabl LLC.
|
8 |
* @todo filter export by date
|
@@ -186,7 +186,7 @@ class WCJ_Exporter_Orders {
|
|
186 |
/**
|
187 |
* export_orders.
|
188 |
*
|
189 |
-
* @version
|
190 |
* @since 2.4.8
|
191 |
* @todo (maybe) metainfo as separate column
|
192 |
*/
|
@@ -229,6 +229,9 @@ class WCJ_Exporter_Orders {
|
|
229 |
}
|
230 |
foreach ( $loop_orders->posts as $order_id ) {
|
231 |
$order = wc_get_order( $order_id );
|
|
|
|
|
|
|
232 |
|
233 |
if ( isset( $_POST['wcj_filter_by_order_billing_country'] ) && '' != $_POST['wcj_filter_by_order_billing_country'] ) {
|
234 |
if ( $order->billing_country != $_POST['wcj_filter_by_order_billing_country'] ) {
|
@@ -301,7 +304,7 @@ class WCJ_Exporter_Orders {
|
|
301 |
/**
|
302 |
* export_orders_items.
|
303 |
*
|
304 |
-
* @version
|
305 |
* @since 2.5.9
|
306 |
*/
|
307 |
function export_orders_items( $fields_helper ) {
|
@@ -343,6 +346,9 @@ class WCJ_Exporter_Orders {
|
|
343 |
}
|
344 |
foreach ( $loop_orders->posts as $order_id ) {
|
345 |
$order = wc_get_order( $order_id );
|
|
|
|
|
|
|
346 |
|
347 |
if ( isset( $_POST['wcj_filter_by_order_billing_country'] ) && '' != $_POST['wcj_filter_by_order_billing_country'] ) {
|
348 |
if ( $order->billing_country != $_POST['wcj_filter_by_order_billing_country'] ) {
|
@@ -351,6 +357,9 @@ class WCJ_Exporter_Orders {
|
|
351 |
}
|
352 |
|
353 |
foreach ( $order->get_items() as $item_id => $item ) {
|
|
|
|
|
|
|
354 |
|
355 |
$row = $this->get_export_orders_row( $fields_ids, $order_id, $order, null, null, $item, $item_id );
|
356 |
|
2 |
/**
|
3 |
* Booster for WooCommerce Exporter Orders
|
4 |
*
|
5 |
+
* @version 5.1.0
|
6 |
* @since 2.5.9
|
7 |
* @author Pluggabl LLC.
|
8 |
* @todo filter export by date
|
186 |
/**
|
187 |
* export_orders.
|
188 |
*
|
189 |
+
* @version 5.1.0
|
190 |
* @since 2.4.8
|
191 |
* @todo (maybe) metainfo as separate column
|
192 |
*/
|
229 |
}
|
230 |
foreach ( $loop_orders->posts as $order_id ) {
|
231 |
$order = wc_get_order( $order_id );
|
232 |
+
if ( ! apply_filters( 'wcj_export_validation', true, 'order', $order ) ) {
|
233 |
+
continue;
|
234 |
+
}
|
235 |
|
236 |
if ( isset( $_POST['wcj_filter_by_order_billing_country'] ) && '' != $_POST['wcj_filter_by_order_billing_country'] ) {
|
237 |
if ( $order->billing_country != $_POST['wcj_filter_by_order_billing_country'] ) {
|
304 |
/**
|
305 |
* export_orders_items.
|
306 |
*
|
307 |
+
* @version 5.1.0
|
308 |
* @since 2.5.9
|
309 |
*/
|
310 |
function export_orders_items( $fields_helper ) {
|
346 |
}
|
347 |
foreach ( $loop_orders->posts as $order_id ) {
|
348 |
$order = wc_get_order( $order_id );
|
349 |
+
if ( ! apply_filters( 'wcj_export_validation', true, 'order', $order ) ) {
|
350 |
+
continue;
|
351 |
+
}
|
352 |
|
353 |
if ( isset( $_POST['wcj_filter_by_order_billing_country'] ) && '' != $_POST['wcj_filter_by_order_billing_country'] ) {
|
354 |
if ( $order->billing_country != $_POST['wcj_filter_by_order_billing_country'] ) {
|
357 |
}
|
358 |
|
359 |
foreach ( $order->get_items() as $item_id => $item ) {
|
360 |
+
if ( ! apply_filters( 'wcj_export_validation', true, 'order_item', $item ) ) {
|
361 |
+
continue;
|
362 |
+
}
|
363 |
|
364 |
$row = $this->get_export_orders_row( $fields_ids, $order_id, $order, null, null, $item, $item_id );
|
365 |
|
includes/functions/wcj-functions-eu-vat.php
CHANGED
@@ -2,7 +2,7 @@
|
|
2 |
/**
|
3 |
* Booster for WooCommerce - Functions - EU VAT
|
4 |
*
|
5 |
-
* @version
|
6 |
* @since 2.9.0
|
7 |
* @author Pluggabl LLC.
|
8 |
*/
|
@@ -13,15 +13,16 @@ if ( ! function_exists( 'wcj_validate_vat_no_soap' ) ) {
|
|
13 |
/**
|
14 |
* wcj_validate_vat_no_soap.
|
15 |
*
|
16 |
-
* @version
|
17 |
* @since 2.5.7
|
18 |
* @return mixed: bool on successful checking (can be true or false), null otherwise
|
19 |
*/
|
20 |
function wcj_validate_vat_no_soap( $country_code, $vat_number, $method ) {
|
21 |
$country_code = strtoupper( $country_code );
|
22 |
$api_url = add_query_arg( array(
|
23 |
-
'ms'
|
24 |
-
'vat'
|
|
|
25 |
), 'http://ec.europa.eu/taxation_customs/vies/viesquer.do' );
|
26 |
switch ( $method ) {
|
27 |
case 'file_get_contents':
|
2 |
/**
|
3 |
* Booster for WooCommerce - Functions - EU VAT
|
4 |
*
|
5 |
+
* @version 5.1.0
|
6 |
* @since 2.9.0
|
7 |
* @author Pluggabl LLC.
|
8 |
*/
|
13 |
/**
|
14 |
* wcj_validate_vat_no_soap.
|
15 |
*
|
16 |
+
* @version 5.1.0
|
17 |
* @since 2.5.7
|
18 |
* @return mixed: bool on successful checking (can be true or false), null otherwise
|
19 |
*/
|
20 |
function wcj_validate_vat_no_soap( $country_code, $vat_number, $method ) {
|
21 |
$country_code = strtoupper( $country_code );
|
22 |
$api_url = add_query_arg( array(
|
23 |
+
'ms' => $country_code,
|
24 |
+
'vat' => $vat_number,
|
25 |
+
'locale' => 'en',
|
26 |
), 'http://ec.europa.eu/taxation_customs/vies/viesquer.do' );
|
27 |
switch ( $method ) {
|
28 |
case 'file_get_contents':
|
includes/functions/wcj-functions-exchange-rates.php
CHANGED
@@ -2,7 +2,7 @@
|
|
2 |
/**
|
3 |
* Booster for WooCommerce - Functions - Exchange Rates
|
4 |
*
|
5 |
-
* @version
|
6 |
* @since 2.7.0
|
7 |
* @author Pluggabl LLC.
|
8 |
*/
|
@@ -125,10 +125,13 @@ if ( ! function_exists( 'wcj_get_exchange_rate' ) ) {
|
|
125 |
/*
|
126 |
* wcj_get_exchange_rate.
|
127 |
*
|
128 |
-
* @version
|
129 |
* @since 2.6.0
|
130 |
*/
|
131 |
function wcj_get_exchange_rate( $currency_from, $currency_to ) {
|
|
|
|
|
|
|
132 |
$exchange_rates_server = wcj_get_currency_exchange_rate_server( $currency_from, $currency_to );
|
133 |
if ( 'yes' === ( $calculate_by_invert = get_option( 'wcj_currency_exchange_rates_calculate_by_invert', 'no' ) ) ) {
|
134 |
$_currency_to = $currency_to;
|
2 |
/**
|
3 |
* Booster for WooCommerce - Functions - Exchange Rates
|
4 |
*
|
5 |
+
* @version 5.1.0
|
6 |
* @since 2.7.0
|
7 |
* @author Pluggabl LLC.
|
8 |
*/
|
125 |
/*
|
126 |
* wcj_get_exchange_rate.
|
127 |
*
|
128 |
+
* @version 5.1.0
|
129 |
* @since 2.6.0
|
130 |
*/
|
131 |
function wcj_get_exchange_rate( $currency_from, $currency_to ) {
|
132 |
+
if ( $currency_from == $currency_to ) {
|
133 |
+
return 1;
|
134 |
+
}
|
135 |
$exchange_rates_server = wcj_get_currency_exchange_rate_server( $currency_from, $currency_to );
|
136 |
if ( 'yes' === ( $calculate_by_invert = get_option( 'wcj_currency_exchange_rates_calculate_by_invert', 'no' ) ) ) {
|
137 |
$_currency_to = $currency_to;
|
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 Pluggabl LLC.
|
8 |
*/
|
@@ -406,12 +406,14 @@ if ( ! function_exists( 'wcj_update_products_price_by_country' ) ) {
|
|
406 |
/**
|
407 |
* wcj_update_products_price_by_country - all products.
|
408 |
*
|
409 |
-
* @version
|
410 |
* @since 2.5.3
|
411 |
*/
|
412 |
function wcj_update_products_price_by_country() {
|
413 |
$offset = 0;
|
414 |
$block_size = 512;
|
|
|
|
|
415 |
while( true ) {
|
416 |
$args = array(
|
417 |
'post_type' => 'product',
|
@@ -427,10 +429,11 @@ if ( ! function_exists( 'wcj_update_products_price_by_country' ) ) {
|
|
427 |
break;
|
428 |
}
|
429 |
foreach ( $loop->posts as $product_id ) {
|
430 |
-
|
431 |
}
|
432 |
$offset += $block_size;
|
433 |
}
|
|
|
434 |
}
|
435 |
}
|
436 |
|
@@ -620,8 +623,24 @@ if ( ! function_exists( 'wcj_get_woocommerce_currencies_and_symbols' ) ) {
|
|
620 |
if ( ! function_exists( 'wcj_price' ) ) {
|
621 |
/**
|
622 |
* wcj_price.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
623 |
*/
|
624 |
-
function wcj_price( $price, $currency, $hide_currency ) {
|
625 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
626 |
}
|
627 |
}
|
2 |
/**
|
3 |
* Booster for WooCommerce - Functions - Price and Currency
|
4 |
*
|
5 |
+
* @version 5.1.0
|
6 |
* @since 2.7.0
|
7 |
* @author Pluggabl LLC.
|
8 |
*/
|
406 |
/**
|
407 |
* wcj_update_products_price_by_country - all products.
|
408 |
*
|
409 |
+
* @version 5.1.0
|
410 |
* @since 2.5.3
|
411 |
*/
|
412 |
function wcj_update_products_price_by_country() {
|
413 |
$offset = 0;
|
414 |
$block_size = 512;
|
415 |
+
$bkg_process = WCJ()->modules['price_by_country']->bkg_process_price_updater;
|
416 |
+
$bkg_process->cancel_process();
|
417 |
while( true ) {
|
418 |
$args = array(
|
419 |
'post_type' => 'product',
|
429 |
break;
|
430 |
}
|
431 |
foreach ( $loop->posts as $product_id ) {
|
432 |
+
$bkg_process->push_to_queue( array( 'id' => $product_id ) );
|
433 |
}
|
434 |
$offset += $block_size;
|
435 |
}
|
436 |
+
$bkg_process->save()->dispatch();
|
437 |
}
|
438 |
}
|
439 |
|
623 |
if ( ! function_exists( 'wcj_price' ) ) {
|
624 |
/**
|
625 |
* wcj_price.
|
626 |
+
*
|
627 |
+
* @version 5.1.0
|
628 |
+
*
|
629 |
+
* @param $price
|
630 |
+
* @param $currency
|
631 |
+
* @param $hide_currency
|
632 |
+
* @param null $args
|
633 |
+
*
|
634 |
+
* @return string
|
635 |
*/
|
636 |
+
function wcj_price( $price, $currency, $hide_currency, $args = null ) {
|
637 |
+
$args = wp_parse_args( $args, array(
|
638 |
+
'currency' => 'DISABLED',
|
639 |
+
'add_html_on_price' => true
|
640 |
+
) );
|
641 |
+
if ( 'yes' !== $hide_currency ) {
|
642 |
+
$args['currency'] = $currency;
|
643 |
+
}
|
644 |
+
return wc_price( $price, $args );
|
645 |
}
|
646 |
}
|
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 5.
|
6 |
* @author Pluggabl LLC.
|
7 |
*/
|
8 |
|
@@ -101,7 +101,7 @@ class WCJ_Price_by_Country_Core {
|
|
101 |
/**
|
102 |
* add_hooks.
|
103 |
*
|
104 |
-
* @version
|
105 |
*/
|
106 |
function add_hooks() {
|
107 |
|
@@ -120,9 +120,25 @@ class WCJ_Price_by_Country_Core {
|
|
120 |
|
121 |
// Price Filter Widget
|
122 |
if ( 'yes' === get_option( 'wcj_price_by_country_price_filter_widget_support_enabled', 'no' ) ) {
|
123 |
-
add_filter( '
|
124 |
-
add_filter( '
|
125 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
126 |
}
|
127 |
|
128 |
// Price Format
|
@@ -132,6 +148,313 @@ class WCJ_Price_by_Country_Core {
|
|
132 |
add_filter( 'woocommerce_get_price_excluding_tax', array( $this, 'format_price_after_including_excluding_tax' ), PHP_INT_MAX, 3 );
|
133 |
}
|
134 |
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
135 |
}
|
136 |
|
137 |
/**
|
@@ -167,30 +490,6 @@ class WCJ_Price_by_Country_Core {
|
|
167 |
wp_enqueue_script( 'wcj-wcj-wSelect', wcj_plugin_url() . '/includes/js/wcj-wSelect.js', array(), false, true );
|
168 |
}
|
169 |
|
170 |
-
/*
|
171 |
-
* sorting_by_price_fix.
|
172 |
-
*
|
173 |
-
* @version 2.7.0
|
174 |
-
* @since 2.5.6
|
175 |
-
*/
|
176 |
-
function sorting_by_price_fix( $args ) {
|
177 |
-
if ( null != ( $group_id = $this->get_customer_country_group_id() ) ) {
|
178 |
-
// Get ordering from query string
|
179 |
-
$orderby_value = ( WCJ_IS_WC_VERSION_BELOW_3 ?
|
180 |
-
( isset( $_GET['orderby'] ) ? woocommerce_clean( $_GET['orderby'] ) : apply_filters( 'woocommerce_default_catalog_orderby', get_option( 'woocommerce_default_catalog_orderby' ) ) ) :
|
181 |
-
( isset( $_GET['orderby'] ) ? wc_clean( $_GET['orderby'] ) : apply_filters( 'woocommerce_default_catalog_orderby', get_option( 'woocommerce_default_catalog_orderby' ) ) )
|
182 |
-
);
|
183 |
-
// Get orderby arg from string
|
184 |
-
$orderby_value = explode( '-', $orderby_value );
|
185 |
-
$orderby = esc_attr( $orderby_value[0] );
|
186 |
-
$orderby = strtolower( $orderby );
|
187 |
-
if ( 'price' == $orderby ) {
|
188 |
-
$args['meta_key'] = '_' . 'wcj_price_by_country_' . $group_id;
|
189 |
-
}
|
190 |
-
}
|
191 |
-
return $args;
|
192 |
-
}
|
193 |
-
|
194 |
/**
|
195 |
* price_filter_meta_query.
|
196 |
*
|
@@ -208,19 +507,6 @@ class WCJ_Price_by_Country_Core {
|
|
208 |
return $meta_query;
|
209 |
}
|
210 |
|
211 |
-
/**
|
212 |
-
* price_filter_meta_keys.
|
213 |
-
*
|
214 |
-
* @version 2.5.3
|
215 |
-
* @since 2.5.3
|
216 |
-
*/
|
217 |
-
function price_filter_meta_keys( $keys ) {
|
218 |
-
if ( null != ( $group_id = $this->get_customer_country_group_id() ) ) {
|
219 |
-
$keys = array( '_' . 'wcj_price_by_country_' . $group_id );
|
220 |
-
}
|
221 |
-
return $keys;
|
222 |
-
}
|
223 |
-
|
224 |
/**
|
225 |
* change_price_grouped.
|
226 |
*
|
2 |
/**
|
3 |
* Booster for WooCommerce - Price by Country - Core
|
4 |
*
|
5 |
+
* @version 5.1.0
|
6 |
* @author Pluggabl LLC.
|
7 |
*/
|
8 |
|
101 |
/**
|
102 |
* add_hooks.
|
103 |
*
|
104 |
+
* @version 5.1.0
|
105 |
*/
|
106 |
function add_hooks() {
|
107 |
|
120 |
|
121 |
// Price Filter Widget
|
122 |
if ( 'yes' === get_option( 'wcj_price_by_country_price_filter_widget_support_enabled', 'no' ) ) {
|
123 |
+
add_filter( 'woocommerce_product_query_meta_query', array( $this, 'price_filter_meta_query' ), PHP_INT_MAX, 2 );
|
124 |
+
add_filter( 'woocommerce_price_filter_sql', array( $this, 'woocommerce_price_filter_sql' ), 10, 3 );
|
125 |
+
add_action( 'wp_footer', array( $this, 'add_compatibility_with_price_filter_widget' ) );
|
126 |
+
add_filter( 'posts_clauses', array( $this, 'price_filter_post_clauses' ), 10, 2 );
|
127 |
+
add_filter( 'posts_clauses', array( $this, 'price_filter_post_clauses_sort' ), 10, 2 );
|
128 |
+
add_action( 'woocommerce_product_query', function ( $query ) {
|
129 |
+
$group_id = $this->get_customer_country_group_id();
|
130 |
+
$country_exchange_rate = get_option( 'wcj_price_by_country_exchange_rate_group_' . $group_id, 1 );
|
131 |
+
if ( 1 == (float) $country_exchange_rate ) {
|
132 |
+
return;
|
133 |
+
}
|
134 |
+
wcj_remove_class_filter( 'posts_clauses', 'WC_Query', 'order_by_price_asc_post_clauses' );
|
135 |
+
wcj_remove_class_filter( 'posts_clauses', 'WC_Query', 'order_by_price_desc_post_clauses' );
|
136 |
+
wcj_remove_class_filter( 'posts_clauses', 'WC_Query', 'price_filter_post_clauses' );
|
137 |
+
} );
|
138 |
+
add_filter( 'woocommerce_price_filter_widget_step', function ( $step ) {
|
139 |
+
$step = 1;
|
140 |
+
return $step;
|
141 |
+
} );
|
142 |
}
|
143 |
|
144 |
// Price Format
|
148 |
add_filter( 'woocommerce_get_price_excluding_tax', array( $this, 'format_price_after_including_excluding_tax' ), PHP_INT_MAX, 3 );
|
149 |
}
|
150 |
}
|
151 |
+
|
152 |
+
// Free Shipping
|
153 |
+
add_filter( 'woocommerce_shipping_free_shipping_instance_option', array( $this, 'convert_free_shipping_min_amount' ), 10, 3 );
|
154 |
+
add_filter( 'woocommerce_shipping_free_shipping_option', array( $this, 'convert_free_shipping_min_amount' ), 10, 3 );
|
155 |
+
}
|
156 |
+
|
157 |
+
/**
|
158 |
+
* convert_free_shipping_min_amount.
|
159 |
+
*
|
160 |
+
* @version 5.1.0
|
161 |
+
* @since 5.1.0
|
162 |
+
*
|
163 |
+
* @param $option
|
164 |
+
* @param $key
|
165 |
+
* @param $method
|
166 |
+
*
|
167 |
+
* @return mixed
|
168 |
+
*/
|
169 |
+
function convert_free_shipping_min_amount( $option, $key, $method ) {
|
170 |
+
if (
|
171 |
+
'no' === get_option( 'wcj_price_by_country_compatibility_free_shipping', 'no' )
|
172 |
+
|| 'min_amount' !== $key
|
173 |
+
|| ! is_numeric( $option )
|
174 |
+
|| 0 === (float) $option
|
175 |
+
) {
|
176 |
+
return $option;
|
177 |
+
}
|
178 |
+
$option = $this->change_price( $option, null );
|
179 |
+
return $option;
|
180 |
+
}
|
181 |
+
|
182 |
+
/**
|
183 |
+
* append_price_filter_post_meta_join.
|
184 |
+
*
|
185 |
+
* @version 5.1.0
|
186 |
+
* @since 5.1.0
|
187 |
+
*
|
188 |
+
* @param $sql
|
189 |
+
* @param $country_group_id
|
190 |
+
*
|
191 |
+
* @return string
|
192 |
+
*/
|
193 |
+
private function append_price_filter_post_meta_join( $sql, $country_group_id ) {
|
194 |
+
global $wpdb;
|
195 |
+
if ( ! strstr( $sql, 'postmeta AS pm' ) ) {
|
196 |
+
$join = $this->get_price_filter_post_meta_join( $country_group_id );
|
197 |
+
$sql .= " {$join} ";
|
198 |
+
}
|
199 |
+
return $sql;
|
200 |
+
}
|
201 |
+
|
202 |
+
/**
|
203 |
+
* get_price_filter_post_meta_join.
|
204 |
+
*
|
205 |
+
* @version 5.1.0
|
206 |
+
* @since 5.1.0
|
207 |
+
*
|
208 |
+
* @param $country_group_id
|
209 |
+
*
|
210 |
+
* @return string
|
211 |
+
*/
|
212 |
+
private function get_price_filter_post_meta_join( $country_group_id ) {
|
213 |
+
global $wpdb;
|
214 |
+
return "LEFT JOIN {$wpdb->postmeta} AS pm ON $wpdb->posts.ID = pm.post_id AND pm.meta_key='_wcj_price_by_country_{$country_group_id}'";
|
215 |
+
}
|
216 |
+
|
217 |
+
/**
|
218 |
+
* price_filter_post_clauses_sort.
|
219 |
+
*
|
220 |
+
* @version 5.1.0
|
221 |
+
* @since 5.1.0
|
222 |
+
*
|
223 |
+
* @param $args
|
224 |
+
* @param $wp_query
|
225 |
+
*
|
226 |
+
* @return mixed
|
227 |
+
*/
|
228 |
+
function price_filter_post_clauses_sort( $args, $wp_query ) {
|
229 |
+
if (
|
230 |
+
! $wp_query->is_main_query() ||
|
231 |
+
'price' !== $wp_query->get( 'orderby' ) ||
|
232 |
+
empty( $group_id = $this->get_customer_country_group_id() ) ||
|
233 |
+
1 == (float) ( $country_exchange_rate = get_option( 'wcj_price_by_country_exchange_rate_group_' . $group_id, 1 ) )
|
234 |
+
) {
|
235 |
+
return $args;
|
236 |
+
}
|
237 |
+
global $wpdb;
|
238 |
+
$order = $wp_query->get( 'order' );
|
239 |
+
$original_orderby = $args['orderby'];
|
240 |
+
if ( 'desc' === strtolower( $order ) ) {
|
241 |
+
$args['orderby'] = 'MIN(pm.meta_value+0)+0 DESC';
|
242 |
+
} else {
|
243 |
+
$args['orderby'] = 'MAX(pm.meta_value+0)+0 ASC';
|
244 |
+
}
|
245 |
+
$args['orderby'] = ! empty( $original_orderby ) ? $args['orderby'] . ', ' . $original_orderby : $args['orderby'];
|
246 |
+
$args['join'] = $this->append_price_filter_post_meta_join( $args['join'], $group_id );
|
247 |
+
return $args;
|
248 |
+
}
|
249 |
+
|
250 |
+
/**
|
251 |
+
* price_filter_post_clauses.
|
252 |
+
*
|
253 |
+
* @version 5.1.0
|
254 |
+
* @since 5.1.0
|
255 |
+
*
|
256 |
+
* @see WC_Query::price_filter_post_clauses()
|
257 |
+
*
|
258 |
+
* @param $args
|
259 |
+
* @param $wp_query
|
260 |
+
*
|
261 |
+
* @return mixed
|
262 |
+
*/
|
263 |
+
function price_filter_post_clauses( $args, $wp_query ) {
|
264 |
+
global $wpdb;
|
265 |
+
if (
|
266 |
+
! $wp_query->is_main_query() ||
|
267 |
+
( ! isset( $_GET['max_price'] ) && ! isset( $_GET['min_price'] ) ) ||
|
268 |
+
empty( $group_id = $this->get_customer_country_group_id() ) ||
|
269 |
+
1 == (float) ( $country_exchange_rate = get_option( 'wcj_price_by_country_exchange_rate_group_' . $group_id, 1 ) )
|
270 |
+
) {
|
271 |
+
return $args;
|
272 |
+
}
|
273 |
+
$current_min_price = isset( $_GET['min_price'] ) ? floatval( wp_unslash( $_GET['min_price'] ) ) : 0;
|
274 |
+
$current_max_price = isset( $_GET['max_price'] ) ? floatval( wp_unslash( $_GET['max_price'] ) ) : PHP_INT_MAX;
|
275 |
+
if ( wc_tax_enabled() && 'incl' === get_option( 'woocommerce_tax_display_shop' ) && ! wc_prices_include_tax() ) {
|
276 |
+
$tax_class = apply_filters( 'woocommerce_price_filter_widget_tax_class', '' );
|
277 |
+
$tax_rates = WC_Tax::get_rates( $tax_class );
|
278 |
+
if ( $tax_rates ) {
|
279 |
+
$current_min_price -= WC_Tax::get_tax_total( WC_Tax::calc_inclusive_tax( $current_min_price, $tax_rates ) );
|
280 |
+
$current_max_price -= WC_Tax::get_tax_total( WC_Tax::calc_inclusive_tax( $current_max_price, $tax_rates ) );
|
281 |
+
}
|
282 |
+
}
|
283 |
+
$current_min_price *= $country_exchange_rate;
|
284 |
+
$current_max_price *= $country_exchange_rate;
|
285 |
+
$args['fields'] .= ', MIN(pm.meta_value+0) AS wcj_min_price, MAX(pm.meta_value+0) AS wcj_max_price';
|
286 |
+
$args['join'] = $this->append_price_filter_post_meta_join( $args['join'], $group_id );
|
287 |
+
$args['groupby'] .= $wpdb->prepare( " HAVING wcj_min_price >= %f AND wcj_max_price <= %f", $current_min_price, $current_max_price );
|
288 |
+
return $args;
|
289 |
+
}
|
290 |
+
|
291 |
+
/**
|
292 |
+
* Adds compatibility with WooCommerce Price Filter widget.
|
293 |
+
*
|
294 |
+
* @see price-slider.js->init_price_filter()
|
295 |
+
*
|
296 |
+
* @version 5.1.0
|
297 |
+
* @since 5.1.0
|
298 |
+
*/
|
299 |
+
function add_compatibility_with_price_filter_widget() {
|
300 |
+
if (
|
301 |
+
! is_active_widget( false, false, 'woocommerce_price_filter' )
|
302 |
+
|| 'no' === get_option( 'wcj_price_by_country_price_filter_widget_support_enabled', 'no' )
|
303 |
+
) {
|
304 |
+
return;
|
305 |
+
}
|
306 |
+
?>
|
307 |
+
<?php
|
308 |
+
$group_id = $this->get_customer_country_group_id();
|
309 |
+
$exchange_rate = get_option( 'wcj_price_by_country_exchange_rate_group_' . $group_id, 1 );
|
310 |
+
if ( $exchange_rate == 1 ) {
|
311 |
+
return;
|
312 |
+
}
|
313 |
+
?>
|
314 |
+
<input type="hidden" id="wcj_mc_exchange_rate" value="<?php echo esc_html( $exchange_rate ) ?>"/>
|
315 |
+
<script>
|
316 |
+
var wcj_mc_pf_slider = {
|
317 |
+
slider: null,
|
318 |
+
convert_rate: 1,
|
319 |
+
original_min: 1,
|
320 |
+
original_max: 1,
|
321 |
+
original_values: [],
|
322 |
+
current_min: 1,
|
323 |
+
current_max: 1,
|
324 |
+
current_values: [],
|
325 |
+
step: 1,
|
326 |
+
init(slider, convert_rate, step) {
|
327 |
+
this.step = step;
|
328 |
+
this.slider = slider;
|
329 |
+
this.convert_rate = convert_rate;
|
330 |
+
this.original_min = jQuery(this.slider).slider("option", "min");
|
331 |
+
this.original_max = jQuery(this.slider).slider("option", "max");
|
332 |
+
this.original_values = jQuery(this.slider).slider("option", "values");
|
333 |
+
this.current_min = this.original_min;
|
334 |
+
this.current_max = this.original_max;
|
335 |
+
this.current_values[0] = jQuery(this.slider).parent().find('#min_price').val();
|
336 |
+
this.current_values[1] = jQuery(this.slider).parent().find('#max_price').val();
|
337 |
+
if (
|
338 |
+
jQuery(this.slider).parent().find('#min_price').val() != this.original_min ||
|
339 |
+
jQuery(this.slider).parent().find('#max_price').val() != this.original_max
|
340 |
+
) {
|
341 |
+
this.current_values[0] *= wcj_mc_pf_slider.convert_rate;
|
342 |
+
this.current_values[1] *= wcj_mc_pf_slider.convert_rate;
|
343 |
+
}
|
344 |
+
this.update_slider();
|
345 |
+
},
|
346 |
+
update_slider() {
|
347 |
+
jQuery(this.slider).slider("destroy");
|
348 |
+
var current_min_price = Math.floor(this.current_min);
|
349 |
+
var current_max_price = Math.ceil(this.current_max);
|
350 |
+
jQuery(this.slider).slider({
|
351 |
+
range: true,
|
352 |
+
animate: true,
|
353 |
+
min: current_min_price,
|
354 |
+
max: current_max_price,
|
355 |
+
step: parseFloat(this.step),
|
356 |
+
values: wcj_mc_pf_slider.current_values,
|
357 |
+
create: function () {
|
358 |
+
jQuery(wcj_mc_pf_slider.slider).parent().find('.price_slider_amount #min_price').val(Math.floor(wcj_mc_pf_slider.current_values[0] / wcj_mc_pf_slider.convert_rate));
|
359 |
+
jQuery(wcj_mc_pf_slider.slider).parent().find('.price_slider_amount #max_price').val(Math.ceil(wcj_mc_pf_slider.current_values[1] / wcj_mc_pf_slider.convert_rate));
|
360 |
+
jQuery(document.body).trigger('price_slider_create', [Math.floor(wcj_mc_pf_slider.current_values[0]), Math.ceil(wcj_mc_pf_slider.current_values[1])]);
|
361 |
+
},
|
362 |
+
slide: function (event, ui) {
|
363 |
+
jQuery(wcj_mc_pf_slider.slider).parent().find('.price_slider_amount #min_price').val(Math.floor(ui.values[0] / wcj_mc_pf_slider.convert_rate));
|
364 |
+
jQuery(wcj_mc_pf_slider.slider).parent().find('.price_slider_amount #max_price').val(Math.ceil(ui.values[1] / wcj_mc_pf_slider.convert_rate));
|
365 |
+
var the_min = ui.values[0] == Math.round(wcj_mc_pf_slider.current_values[0]) ? Math.floor(wcj_mc_pf_slider.current_values[0]) : ui.values[0];
|
366 |
+
var the_max = ui.values[1] == Math.round(wcj_mc_pf_slider.current_values[1]) ? Math.ceil(wcj_mc_pf_slider.current_values[1]) : ui.values[1];
|
367 |
+
jQuery(document.body).trigger('price_slider_slide', [the_min, the_max]);
|
368 |
+
},
|
369 |
+
change: function (event, ui) {
|
370 |
+
jQuery(document.body).trigger('price_slider_change', [ui.values[0], ui.values[1]]);
|
371 |
+
}
|
372 |
+
});
|
373 |
+
}
|
374 |
+
};
|
375 |
+
var wcj_mc_pf = {
|
376 |
+
price_filters: null,
|
377 |
+
rate: 1,
|
378 |
+
step: 1,
|
379 |
+
init: function (price_filters) {
|
380 |
+
this.price_filters = price_filters;
|
381 |
+
this.rate = document.getElementById('wcj_mc_exchange_rate').value;
|
382 |
+
this.update_slider();
|
383 |
+
},
|
384 |
+
update_slider: function () {
|
385 |
+
[].forEach.call(wcj_mc_pf.price_filters, function (el) {
|
386 |
+
wcj_mc_pf_slider.init(el, wcj_mc_pf.rate, wcj_mc_pf.step);
|
387 |
+
});
|
388 |
+
}
|
389 |
+
}
|
390 |
+
document.addEventListener("DOMContentLoaded", function () {
|
391 |
+
var price_filters = document.querySelectorAll('.price_slider.ui-slider');
|
392 |
+
if (price_filters.length) {
|
393 |
+
wcj_mc_pf.init(price_filters);
|
394 |
+
}
|
395 |
+
});
|
396 |
+
</script>
|
397 |
+
<?php
|
398 |
+
}
|
399 |
+
|
400 |
+
/**
|
401 |
+
* woocommerce_price_filter_sql.
|
402 |
+
*
|
403 |
+
* @version 5.1.0
|
404 |
+
* @since 5.1.0
|
405 |
+
*
|
406 |
+
* @see WC_Widget_Price_Filter::get_filtered_price()
|
407 |
+
*
|
408 |
+
* @param $sql
|
409 |
+
* @param $meta_query_sql
|
410 |
+
* @param $tax_query_sql
|
411 |
+
*
|
412 |
+
* @return string
|
413 |
+
*/
|
414 |
+
function woocommerce_price_filter_sql( $sql, $meta_query_sql, $tax_query_sql){
|
415 |
+
if (
|
416 |
+
is_admin()
|
417 |
+
|| 'no' === get_option( 'wcj_price_by_country_price_filter_widget_support_enabled', 'no' )
|
418 |
+
|| empty( $group_id = $this->get_customer_country_group_id() )
|
419 |
+
|| 1 == (float) ( $country_exchange_rate = get_option( 'wcj_price_by_country_exchange_rate_group_' . $group_id, 1 ) )
|
420 |
+
) {
|
421 |
+
return $sql;
|
422 |
+
}
|
423 |
+
|
424 |
+
global $wpdb;
|
425 |
+
$args = WC()->query->get_main_query()->query_vars;
|
426 |
+
$tax_query = isset( $args['tax_query'] ) ? $args['tax_query'] : array();
|
427 |
+
$meta_query = isset( $args['meta_query'] ) ? $args['meta_query'] : array();
|
428 |
+
|
429 |
+
if ( ! is_post_type_archive( 'product' ) && ! empty( $args['taxonomy'] ) && ! empty( $args['term'] ) ) {
|
430 |
+
$tax_query[] = array(
|
431 |
+
'taxonomy' => $args['taxonomy'],
|
432 |
+
'terms' => array( $args['term'] ),
|
433 |
+
'field' => 'slug',
|
434 |
+
);
|
435 |
+
}
|
436 |
+
|
437 |
+
foreach ( $meta_query + $tax_query as $key => $query ) {
|
438 |
+
if ( ! empty( $query['price_filter'] ) || ! empty( $query['rating_filter'] ) ) {
|
439 |
+
unset( $meta_query[ $key ] );
|
440 |
+
}
|
441 |
+
}
|
442 |
+
|
443 |
+
$search = WC_Query::get_main_search_query_sql();
|
444 |
+
$search_query_sql = $search ? ' AND ' . $search : '';
|
445 |
+
$sql = "
|
446 |
+
SELECT IFNULL(MIN(pm.meta_value+0),min_price) AS min_price, IFNULL(MAX(pm.meta_value+0),max_price) AS max_price
|
447 |
+
FROM {$wpdb->wc_product_meta_lookup}
|
448 |
+
LEFT JOIN {$wpdb->postmeta} AS pm ON (pm.post_id = product_id AND pm.meta_key='_wcj_price_by_country_{$group_id}')
|
449 |
+
WHERE product_id IN (
|
450 |
+
SELECT ID FROM {$wpdb->posts}
|
451 |
+
" . $tax_query_sql['join'] . $meta_query_sql['join'] . "
|
452 |
+
WHERE {$wpdb->posts}.post_type IN ('" . implode( "','", array_map( 'esc_sql', apply_filters( 'woocommerce_price_filter_post_type', array( 'product' ) ) ) ) . "')
|
453 |
+
AND {$wpdb->posts}.post_status = 'publish'
|
454 |
+
" . $tax_query_sql['where'] . $meta_query_sql['where'] . $search_query_sql . '
|
455 |
+
)';
|
456 |
+
|
457 |
+
return $sql;
|
458 |
}
|
459 |
|
460 |
/**
|
490 |
wp_enqueue_script( 'wcj-wcj-wSelect', wcj_plugin_url() . '/includes/js/wcj-wSelect.js', array(), false, true );
|
491 |
}
|
492 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
493 |
/**
|
494 |
* price_filter_meta_query.
|
495 |
*
|
507 |
return $meta_query;
|
508 |
}
|
509 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
510 |
/**
|
511 |
* change_price_grouped.
|
512 |
*
|
includes/settings/wcj-settings-currency-exchange-rates.php
CHANGED
@@ -2,7 +2,7 @@
|
|
2 |
/**
|
3 |
* Booster for WooCommerce - Settings - Currency Exchange Rates
|
4 |
*
|
5 |
-
* @version
|
6 |
* @since 2.8.0
|
7 |
* @author Pluggabl LLC.
|
8 |
* @todo add "rounding" and "fixed offset" options for each pair separately (and option to enable/disable these per pair extra settings)
|
@@ -116,7 +116,7 @@ $settings = array(
|
|
116 |
'id' => 'wcj_currency_exchange_api_key',
|
117 |
),
|
118 |
array(
|
119 |
-
'title' => __( 'Free Currency Converter API', 'woocommerce-jetpack' ),
|
120 |
'desc' => sprintf(__( 'More information at %s', 'woocommerce-jetpack' ),'<a target="_blank" href="https://free.currencyconverterapi.com/free-api-key">https://free.currencyconverterapi.com/free-api-key</a>'),
|
121 |
'type' => 'text',
|
122 |
'id' => 'wcj_currency_exchange_api_key_fccapi',
|
2 |
/**
|
3 |
* Booster for WooCommerce - Settings - Currency Exchange Rates
|
4 |
*
|
5 |
+
* @version 5.1.0
|
6 |
* @since 2.8.0
|
7 |
* @author Pluggabl LLC.
|
8 |
* @todo add "rounding" and "fixed offset" options for each pair separately (and option to enable/disable these per pair extra settings)
|
116 |
'id' => 'wcj_currency_exchange_api_key',
|
117 |
),
|
118 |
array(
|
119 |
+
'title' => __( 'Free Currency Converter API Key', 'woocommerce-jetpack' ),
|
120 |
'desc' => sprintf(__( 'More information at %s', 'woocommerce-jetpack' ),'<a target="_blank" href="https://free.currencyconverterapi.com/free-api-key">https://free.currencyconverterapi.com/free-api-key</a>'),
|
121 |
'type' => 'text',
|
122 |
'id' => 'wcj_currency_exchange_api_key_fccapi',
|
includes/settings/wcj-settings-export.php
CHANGED
@@ -2,7 +2,7 @@
|
|
2 |
/**
|
3 |
* Booster for WooCommerce - Settings - Export
|
4 |
*
|
5 |
-
* @version
|
6 |
* @since 2.8.0
|
7 |
* @author Pluggabl LLC.
|
8 |
* @todo add "Additional Export Fields" for "Customers from Orders" and (maybe) "Customers"
|
@@ -22,6 +22,15 @@ $settings = array(
|
|
22 |
'default' => ',',
|
23 |
'type' => 'text',
|
24 |
),
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
25 |
array(
|
26 |
'title' => __( 'UTF-8 BOM', 'woocommerce-jetpack' ),
|
27 |
'desc' => __( 'Add', 'woocommerce-jetpack' ),
|
2 |
/**
|
3 |
* Booster for WooCommerce - Settings - Export
|
4 |
*
|
5 |
+
* @version 5.1.0
|
6 |
* @since 2.8.0
|
7 |
* @author Pluggabl LLC.
|
8 |
* @todo add "Additional Export Fields" for "Customers from Orders" and (maybe) "Customers"
|
22 |
'default' => ',',
|
23 |
'type' => 'text',
|
24 |
),
|
25 |
+
array(
|
26 |
+
'title' => __( 'Smart Formatting', 'woocommerce-jetpack' ),
|
27 |
+
'custom_attributes' => apply_filters( 'booster_message', '', 'disabled' ),
|
28 |
+
'desc' => empty( $message = apply_filters( 'booster_message', '', 'desc' ) ) ? __( 'Enable', 'woocommerce-jetpack' ) : $message,
|
29 |
+
'id' => 'wcj_export_csv_smart_formatting',
|
30 |
+
'desc_tip' => sprintf( __( 'Tries to handle special characters as commas and quotes, formatting fields according to <a href="%s">RFC4180</a>', 'woocommerce-jetpack' ), 'https://tools.ietf.org/html/rfc4180' ),
|
31 |
+
'default' => 'no',
|
32 |
+
'type' => 'checkbox',
|
33 |
+
),
|
34 |
array(
|
35 |
'title' => __( 'UTF-8 BOM', 'woocommerce-jetpack' ),
|
36 |
'desc' => __( 'Add', 'woocommerce-jetpack' ),
|
includes/settings/wcj-settings-multicurrency.php
CHANGED
@@ -2,7 +2,7 @@
|
|
2 |
/**
|
3 |
* Booster for WooCommerce - Settings - Multicurrency (Currency Switcher)
|
4 |
*
|
5 |
-
* @version 5.
|
6 |
* @since 2.8.0
|
7 |
* @author Pluggabl LLC.
|
8 |
* @todo "pretty prices"
|
@@ -116,14 +116,14 @@ $settings = array(
|
|
116 |
'type' => 'title',
|
117 |
'id' => 'wcj_multicurrency_compatibility',
|
118 |
),
|
119 |
-
array(
|
120 |
'title' => __( 'Prices and Currencies by Country Module', 'woocommerce-jetpack' ),
|
121 |
'desc' => __( 'Enable', 'woocommerce-jetpack' ),
|
122 |
'desc_tip' => __( 'Switches currency according to country.', 'woocommerce-jetpack' ) . '<br />' . sprintf( __( 'Once Enabled, please set all the currency values from the <a href="%s">Country</a> module as 1. The MultiCurrency module values will be used instead.', 'woocommerce-jetpack' ), admin_url( 'admin.php?page=wc-settings&tab=jetpack&wcj-cat=prices_and_currencies§ion=price_by_country' ) ),
|
123 |
'id' => 'wcj_multicurrency_compatibility_price_by_country_module',
|
124 |
'default' => 'no',
|
125 |
'type' => 'checkbox',
|
126 |
-
)
|
127 |
array(
|
128 |
'title' => __( 'WooCommerce Fixed Coupons', 'woocommerce-jetpack' ),
|
129 |
'desc' => __( 'Enable', 'woocommerce-jetpack' ),
|
@@ -207,6 +207,15 @@ $settings = array(
|
|
207 |
'default' => 'no',
|
208 |
'type' => 'checkbox',
|
209 |
),
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
210 |
array(
|
211 |
'type' => 'sectionend',
|
212 |
'id' => 'wcj_multicurrency_compatibility',
|
2 |
/**
|
3 |
* Booster for WooCommerce - Settings - Multicurrency (Currency Switcher)
|
4 |
*
|
5 |
+
* @version 5.1.0
|
6 |
* @since 2.8.0
|
7 |
* @author Pluggabl LLC.
|
8 |
* @todo "pretty prices"
|
116 |
'type' => 'title',
|
117 |
'id' => 'wcj_multicurrency_compatibility',
|
118 |
),
|
119 |
+
/*array(
|
120 |
'title' => __( 'Prices and Currencies by Country Module', 'woocommerce-jetpack' ),
|
121 |
'desc' => __( 'Enable', 'woocommerce-jetpack' ),
|
122 |
'desc_tip' => __( 'Switches currency according to country.', 'woocommerce-jetpack' ) . '<br />' . sprintf( __( 'Once Enabled, please set all the currency values from the <a href="%s">Country</a> module as 1. The MultiCurrency module values will be used instead.', 'woocommerce-jetpack' ), admin_url( 'admin.php?page=wc-settings&tab=jetpack&wcj-cat=prices_and_currencies§ion=price_by_country' ) ),
|
123 |
'id' => 'wcj_multicurrency_compatibility_price_by_country_module',
|
124 |
'default' => 'no',
|
125 |
'type' => 'checkbox',
|
126 |
+
),*/
|
127 |
array(
|
128 |
'title' => __( 'WooCommerce Fixed Coupons', 'woocommerce-jetpack' ),
|
129 |
'desc' => __( 'Enable', 'woocommerce-jetpack' ),
|
207 |
'default' => 'no',
|
208 |
'type' => 'checkbox',
|
209 |
),
|
210 |
+
array(
|
211 |
+
'title' => __( 'Product Add-Ons Plugin', 'woocommerce-jetpack' ),
|
212 |
+
'custom_attributes' => apply_filters( 'booster_message', '', 'disabled' ),
|
213 |
+
'desc' => empty( $message = apply_filters( 'booster_message', '', 'desc' ) ) ? __( 'Enable', 'woocommerce-jetpack' ) : $message,
|
214 |
+
'desc_tip' => sprintf( __( 'Adds compatibility with <a href="%s" target="_blank">Product Add-Ons</a> plugin.', 'woocommerce-jetpack' ), 'https://woocommerce.com/products/product-add-ons/' ) . '<br />' . __( 'Only works with <code>Multicurrency on per Product Basis</code> option disabled.', 'woocommerce-jetpack' ),
|
215 |
+
'id' => 'wcj_multicurrency_compatibility_product_addons',
|
216 |
+
'default' => 'no',
|
217 |
+
'type' => 'checkbox',
|
218 |
+
),
|
219 |
array(
|
220 |
'type' => 'sectionend',
|
221 |
'id' => 'wcj_multicurrency_compatibility',
|
includes/settings/wcj-settings-offer-price.php
CHANGED
@@ -2,7 +2,7 @@
|
|
2 |
/**
|
3 |
* Booster for WooCommerce - Settings - Offer Price
|
4 |
*
|
5 |
-
* @version
|
6 |
* @since 2.9.0
|
7 |
* @author Pluggabl LLC.
|
8 |
*/
|
@@ -333,11 +333,11 @@ return array(
|
|
333 |
),
|
334 |
array(
|
335 |
'title' => __( 'Email Template', 'woocommerce-jetpack' ),
|
336 |
-
'desc' => wcj_message_replaced_values( array( '%product_title%', '%offered_price%', '%customer_name%', '%customer_email%', '%customer_message%', '%user_ip%', '%user_agent%' ) ),
|
337 |
'id' => 'wcj_offer_price_email_template',
|
338 |
'type' => 'custom_textarea',
|
339 |
'default' =>
|
340 |
-
sprintf( __( 'Product: %s', 'woocommerce-jetpack' ), '%product_title
|
341 |
sprintf( __( 'Offered price: %s', 'woocommerce-jetpack' ), '%offered_price%' ) . '<br>' . PHP_EOL .
|
342 |
sprintf( __( 'From: %s %s', 'woocommerce-jetpack' ), '%customer_name%', '%customer_email%' ) . '<br>' . PHP_EOL .
|
343 |
sprintf( __( 'Message: %s', 'woocommerce-jetpack' ), '%customer_message%' ),
|
2 |
/**
|
3 |
* Booster for WooCommerce - Settings - Offer Price
|
4 |
*
|
5 |
+
* @version 5.1.0
|
6 |
* @since 2.9.0
|
7 |
* @author Pluggabl LLC.
|
8 |
*/
|
333 |
),
|
334 |
array(
|
335 |
'title' => __( 'Email Template', 'woocommerce-jetpack' ),
|
336 |
+
'desc' => wcj_message_replaced_values( array( '%product_title%', '%product_edit_link%', '%offered_price%', '%customer_name%', '%customer_email%', '%customer_message%', '%user_ip%', '%user_agent%' ) ),
|
337 |
'id' => 'wcj_offer_price_email_template',
|
338 |
'type' => 'custom_textarea',
|
339 |
'default' =>
|
340 |
+
sprintf( __( 'Product: %s', 'woocommerce-jetpack' ), '<a href="%product_edit_link%">%product_title%</a>' ) . '<br>' . PHP_EOL .
|
341 |
sprintf( __( 'Offered price: %s', 'woocommerce-jetpack' ), '%offered_price%' ) . '<br>' . PHP_EOL .
|
342 |
sprintf( __( 'From: %s %s', 'woocommerce-jetpack' ), '%customer_name%', '%customer_email%' ) . '<br>' . PHP_EOL .
|
343 |
sprintf( __( 'Message: %s', 'woocommerce-jetpack' ), '%customer_message%' ),
|
includes/settings/wcj-settings-order-min-amount.php
CHANGED
@@ -2,7 +2,7 @@
|
|
2 |
/**
|
3 |
* Booster for WooCommerce - Settings - Order Minimum Amount
|
4 |
*
|
5 |
-
* @version
|
6 |
* @since 2.8.0
|
7 |
* @author Pluggabl LLC.
|
8 |
*/
|
@@ -105,6 +105,25 @@ $settings = array(
|
|
105 |
'type' => 'sectionend',
|
106 |
'id' => 'wcj_order_minimum_amount_options',
|
107 |
),
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
108 |
array(
|
109 |
'title' => __( 'Order Minimum Amount by User Role', 'woocommerce-jetpack' ),
|
110 |
'type' => 'title',
|
2 |
/**
|
3 |
* Booster for WooCommerce - Settings - Order Minimum Amount
|
4 |
*
|
5 |
+
* @version 5.1.0
|
6 |
* @since 2.8.0
|
7 |
* @author Pluggabl LLC.
|
8 |
*/
|
105 |
'type' => 'sectionend',
|
106 |
'id' => 'wcj_order_minimum_amount_options',
|
107 |
),
|
108 |
+
array(
|
109 |
+
'title' => __( 'Compatibility', 'woocommerce-jetpack' ),
|
110 |
+
'type' => 'title',
|
111 |
+
'desc' => __( 'Compatibility with other modules or plugins.', 'woocommerce-jetpack' ),
|
112 |
+
'id' => 'wcj_order_minimum_compatibility',
|
113 |
+
),
|
114 |
+
array(
|
115 |
+
'title' => __( 'WooCommerce Multilingual', 'woocommerce-jetpack' ),
|
116 |
+
'custom_attributes' => apply_filters( 'booster_message', '', 'disabled' ),
|
117 |
+
'desc' => empty( $message = apply_filters( 'booster_message', '', 'desc' ) ) ? __( 'Enable', 'woocommerce-jetpack' ) : $message,
|
118 |
+
'desc_tip' => sprintf( __( 'Adds compatibility with <a href="%s" target="_blank">WooCommerce Multilingual</a> plugin.', 'woocommerce-jetpack' ), 'http://wpml.org/documentation/related-projects/woocommerce-multilingual/' ),
|
119 |
+
'id' => 'wcj_order_minimum_compatibility_wpml_multilingual',
|
120 |
+
'default' => 'no',
|
121 |
+
'type' => 'checkbox',
|
122 |
+
),
|
123 |
+
array(
|
124 |
+
'type' => 'sectionend',
|
125 |
+
'id' => 'wcj_order_minimum_compatibility',
|
126 |
+
),
|
127 |
array(
|
128 |
'title' => __( 'Order Minimum Amount by User Role', 'woocommerce-jetpack' ),
|
129 |
'type' => 'title',
|
includes/settings/wcj-settings-order-numbers.php
CHANGED
@@ -2,7 +2,7 @@
|
|
2 |
/**
|
3 |
* Booster for WooCommerce - Settings - Order Numbers
|
4 |
*
|
5 |
-
* @version
|
6 |
* @since 2.8.0
|
7 |
* @author Pluggabl LLC.
|
8 |
* @todo (maybe) add `wcj_order_number_counter_previous_order_date` as `hidden` field (for proper module reset)
|
@@ -136,6 +136,24 @@ return array(
|
|
136 |
'type' => 'sectionend',
|
137 |
'id' => 'wcj_order_numbers_options',
|
138 |
),
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
139 |
array(
|
140 |
'title' => __( 'Orders Renumerate Tool Options', 'woocommerce-jetpack' ),
|
141 |
'type' => 'title',
|
2 |
/**
|
3 |
* Booster for WooCommerce - Settings - Order Numbers
|
4 |
*
|
5 |
+
* @version 5.1.0
|
6 |
* @since 2.8.0
|
7 |
* @author Pluggabl LLC.
|
8 |
* @todo (maybe) add `wcj_order_number_counter_previous_order_date` as `hidden` field (for proper module reset)
|
136 |
'type' => 'sectionend',
|
137 |
'id' => 'wcj_order_numbers_options',
|
138 |
),
|
139 |
+
array(
|
140 |
+
'title' => __( 'Compatibility', 'woocommerce-jetpack' ),
|
141 |
+
'type' => 'title',
|
142 |
+
'id' => 'wcj_order_numbers_compatibility',
|
143 |
+
),
|
144 |
+
array(
|
145 |
+
'title' => __( 'WPNotif', 'woocommerce-jetpack' ),
|
146 |
+
'desc' => empty( $message = apply_filters( 'booster_message', '', 'desc' ) ) ? __( 'Enable', 'woocommerce-jetpack' ) : $message,
|
147 |
+
'desc_tip' => sprintf( __( 'Adds compatibility with <a href="%s" target="_blank">WPNotif: WordPress SMS & WhatsApp Notifications</a> plugin fixing the <code>{{wc-tracking-link}}</code> variable.', 'woocommerce-jetpack' ), 'https://wpnotif.unitedover.com/' ),
|
148 |
+
'id' => 'wcj_order_numbers_compatibility_wpnotif',
|
149 |
+
'default' => 'no',
|
150 |
+
'type' => 'checkbox',
|
151 |
+
'custom_attributes' => apply_filters( 'booster_message', '', 'disabled' ),
|
152 |
+
),
|
153 |
+
array(
|
154 |
+
'type' => 'sectionend',
|
155 |
+
'id' => 'wcj_order_numbers_compatibility',
|
156 |
+
),
|
157 |
array(
|
158 |
'title' => __( 'Orders Renumerate Tool Options', 'woocommerce-jetpack' ),
|
159 |
'type' => 'title',
|
includes/settings/wcj-settings-price-by-country.php
CHANGED
@@ -2,7 +2,7 @@
|
|
2 |
/**
|
3 |
* Booster for WooCommerce - Settings - Prices and Currencies by Country
|
4 |
*
|
5 |
-
* @version
|
6 |
* @since 2.8.0
|
7 |
* @author Pluggabl LLC.
|
8 |
*/
|
@@ -128,15 +128,6 @@ $settings = array(
|
|
128 |
'class' => 'chosen_select',
|
129 |
'options' => wcj_get_user_roles_options(),
|
130 |
),
|
131 |
-
array(
|
132 |
-
'title' => __( 'Price Filter Widget and Sorting by Price Support', 'woocommerce-jetpack' ),
|
133 |
-
'desc' => __( 'Enable', 'woocommerce-jetpack' ),
|
134 |
-
'desc_tip' => '<a href="' . add_query_arg( 'recalculate_price_filter_products_prices', '1', remove_query_arg( array( 'wcj_generate_country_groups' ) ) ) . '">' .
|
135 |
-
__( 'Recalculate price filter widget and sorting by price product prices', 'woocommerce-jetpack' ) . '</a>',
|
136 |
-
'id' => 'wcj_price_by_country_price_filter_widget_support_enabled',
|
137 |
-
'default' => 'no',
|
138 |
-
'type' => 'checkbox',
|
139 |
-
),
|
140 |
array(
|
141 |
'title' => __( 'Add Countries Flags Images to Select Drop-Down Box', 'woocommerce-jetpack' ),
|
142 |
'desc' => __( 'Enable', 'woocommerce-jetpack' ),
|
@@ -161,10 +152,29 @@ $settings = array(
|
|
161 |
'type' => 'title',
|
162 |
'id' => 'wcj_price_by_country_compatibility',
|
163 |
),
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
164 |
array(
|
165 |
'title' => __( 'WooCommerce Coupons', 'woocommerce-jetpack' ),
|
166 |
'desc' => __( 'Enable', 'woocommerce-jetpack' ),
|
167 |
-
'desc_tip' => __( 'When a fixed coupon is used its value changes according to the current currency', 'woocommerce-jetpack' ),
|
168 |
'id' => 'wcj_price_by_country_compatibility_wc_coupons',
|
169 |
'default' => 'no',
|
170 |
'type' => 'checkbox',
|
@@ -173,7 +183,7 @@ $settings = array(
|
|
173 |
'title' => __( 'Woo Discount Rules', 'woocommerce-jetpack' ),
|
174 |
'custom_attributes' => apply_filters( 'booster_message', '', 'disabled' ),
|
175 |
'desc' => empty( $message = apply_filters( 'booster_message', '', 'desc' ) ) ? __( 'Enable', 'woocommerce-jetpack' ) : $message,
|
176 |
-
'desc_tip' => sprintf( __( 'Adds compatibility with <a href="%s" target="_blank">Woo Discount Rules</a> plugin.', 'woocommerce-jetpack' ), 'https://www.flycart.org/products/wordpress/woocommerce-discount-rules' ).'<br />'. sprintf( __( 'If it doesn\'t work properly try to enable <a href="%s">redirect to the cart page after successful addition</a> option', 'woocommerce-jetpack' ), admin_url( 'admin.php?page=wc-settings&tab=products' ) ),
|
177 |
'id' => 'wcj_price_by_country_compatibility_woo_discount_rules',
|
178 |
'default' => 'no',
|
179 |
'type' => 'checkbox',
|
2 |
/**
|
3 |
* Booster for WooCommerce - Settings - Prices and Currencies by Country
|
4 |
*
|
5 |
+
* @version 5.1.0
|
6 |
* @since 2.8.0
|
7 |
* @author Pluggabl LLC.
|
8 |
*/
|
128 |
'class' => 'chosen_select',
|
129 |
'options' => wcj_get_user_roles_options(),
|
130 |
),
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
131 |
array(
|
132 |
'title' => __( 'Add Countries Flags Images to Select Drop-Down Box', 'woocommerce-jetpack' ),
|
133 |
'desc' => __( 'Enable', 'woocommerce-jetpack' ),
|
152 |
'type' => 'title',
|
153 |
'id' => 'wcj_price_by_country_compatibility',
|
154 |
),
|
155 |
+
array(
|
156 |
+
'title' => __( 'Price Filter Widget and Sorting by Price Support', 'woocommerce-jetpack' ),
|
157 |
+
'desc' => empty( $message = apply_filters( 'booster_message', '', 'desc' ) ) ? __( 'Enable', 'woocommerce-jetpack' ) : $message,
|
158 |
+
'custom_attributes' => apply_filters( 'booster_message', '', 'disabled' ),
|
159 |
+
'desc_tip' => '<a href="' . add_query_arg( 'recalculate_price_filter_products_prices', '1', remove_query_arg( array( 'wcj_generate_country_groups' ) ) ) . '">' .
|
160 |
+
__( 'Recalculate price filter widget and sorting by price product prices.', 'woocommerce-jetpack' ) . '</a>',
|
161 |
+
'id' => 'wcj_price_by_country_price_filter_widget_support_enabled',
|
162 |
+
'default' => 'no',
|
163 |
+
'type' => 'checkbox',
|
164 |
+
),
|
165 |
+
array(
|
166 |
+
'title' => __( 'Free Shipping', 'woocommerce-jetpack' ),
|
167 |
+
'desc' => empty( $message = apply_filters( 'booster_message', '', 'desc' ) ) ? __( 'Enable', 'woocommerce-jetpack' ) : $message,
|
168 |
+
'custom_attributes' => apply_filters( 'booster_message', '', 'disabled' ),
|
169 |
+
'desc_tip' => __( 'Converts minimum amount from WooCommerce Free Shipping native method.', 'woocommerce-jetpack' ),
|
170 |
+
'id' => 'wcj_price_by_country_compatibility_free_shipping',
|
171 |
+
'default' => 'no',
|
172 |
+
'type' => 'checkbox',
|
173 |
+
),
|
174 |
array(
|
175 |
'title' => __( 'WooCommerce Coupons', 'woocommerce-jetpack' ),
|
176 |
'desc' => __( 'Enable', 'woocommerce-jetpack' ),
|
177 |
+
'desc_tip' => __( 'When a fixed coupon is used its value changes according to the current currency.', 'woocommerce-jetpack' ),
|
178 |
'id' => 'wcj_price_by_country_compatibility_wc_coupons',
|
179 |
'default' => 'no',
|
180 |
'type' => 'checkbox',
|
183 |
'title' => __( 'Woo Discount Rules', 'woocommerce-jetpack' ),
|
184 |
'custom_attributes' => apply_filters( 'booster_message', '', 'disabled' ),
|
185 |
'desc' => empty( $message = apply_filters( 'booster_message', '', 'desc' ) ) ? __( 'Enable', 'woocommerce-jetpack' ) : $message,
|
186 |
+
'desc_tip' => sprintf( __( 'Adds compatibility with <a href="%s" target="_blank">Woo Discount Rules</a> plugin.', 'woocommerce-jetpack' ), 'https://www.flycart.org/products/wordpress/woocommerce-discount-rules' ).'<br />'. sprintf( __( 'If it doesn\'t work properly try to enable <a href="%s">redirect to the cart page after successful addition</a> option.', 'woocommerce-jetpack' ), admin_url( 'admin.php?page=wc-settings&tab=products' ) ),
|
187 |
'id' => 'wcj_price_by_country_compatibility_woo_discount_rules',
|
188 |
'default' => 'no',
|
189 |
'type' => 'checkbox',
|
includes/settings/wcj-settings-product-msrp.php
CHANGED
@@ -2,7 +2,7 @@
|
|
2 |
/**
|
3 |
* Booster for WooCommerce - Settings - Product MSRP
|
4 |
*
|
5 |
-
* @version
|
6 |
* @since 3.6.0
|
7 |
* @author Pluggabl LLC.
|
8 |
*/
|
@@ -138,6 +138,13 @@ $settings = array_merge( $settings, array(
|
|
138 |
'default' => 'no',
|
139 |
'type' => 'checkbox',
|
140 |
),
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
141 |
array(
|
142 |
'type' => 'sectionend',
|
143 |
'id' => 'wcj_product_msrp_other_options',
|
2 |
/**
|
3 |
* Booster for WooCommerce - Settings - Product MSRP
|
4 |
*
|
5 |
+
* @version 5.1.0
|
6 |
* @since 3.6.0
|
7 |
* @author Pluggabl LLC.
|
8 |
*/
|
138 |
'default' => 'no',
|
139 |
'type' => 'checkbox',
|
140 |
),
|
141 |
+
array(
|
142 |
+
'title' => __( 'Archive Detection Method', 'woocommerce-jetpack' ),
|
143 |
+
'desc_tip' => __( 'Template strings used to detect the loop.', 'woocommerce-jetpack' ).'<br />'.__( 'Use 1 string per line.', 'woocommerce-jetpack' ),
|
144 |
+
'id' => 'wcj_product_msrp_archive_detection_method',
|
145 |
+
'default' => 'loop',
|
146 |
+
'type' => 'textarea',
|
147 |
+
),
|
148 |
array(
|
149 |
'type' => 'sectionend',
|
150 |
'id' => 'wcj_product_msrp_other_options',
|
includes/settings/wcj-settings-product-price-by-formula.php
CHANGED
@@ -2,7 +2,7 @@
|
|
2 |
/**
|
3 |
* Booster for WooCommerce - Settings - Product Price by Formula
|
4 |
*
|
5 |
-
* @version
|
6 |
* @since 2.8.0
|
7 |
* @author Pluggabl LLC.
|
8 |
*/
|
@@ -103,6 +103,14 @@ $settings = array_merge( $settings, array(
|
|
103 |
'default' => 0,
|
104 |
'type' => 'number',
|
105 |
),
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
106 |
array(
|
107 |
'type' => 'sectionend',
|
108 |
'id' => 'wcj_product_price_by_formula_advanced_options',
|
2 |
/**
|
3 |
* Booster for WooCommerce - Settings - Product Price by Formula
|
4 |
*
|
5 |
+
* @version 5.1.1
|
6 |
* @since 2.8.0
|
7 |
* @author Pluggabl LLC.
|
8 |
*/
|
103 |
'default' => 0,
|
104 |
'type' => 'number',
|
105 |
),
|
106 |
+
array(
|
107 |
+
'title' => __( 'Save Calculated Products Prices', 'woocommerce-jetpack' ),
|
108 |
+
'desc_tip' => __( 'This may help if you are experiencing compatibility issues with other plugins.', 'woocommerce-jetpack' ),
|
109 |
+
'desc' => __( 'Enable', 'woocommerce-jetpack' ),
|
110 |
+
'id' => 'wcj_product_price_by_formula_save_prices',
|
111 |
+
'default' => 'no',
|
112 |
+
'type' => 'checkbox',
|
113 |
+
),
|
114 |
array(
|
115 |
'type' => 'sectionend',
|
116 |
'id' => 'wcj_product_price_by_formula_advanced_options',
|
includes/settings/wcj-settings-wpml.php
CHANGED
@@ -2,7 +2,7 @@
|
|
2 |
/**
|
3 |
* Booster for WooCommerce - Settings - WPML
|
4 |
*
|
5 |
-
* @version
|
6 |
* @since 2.8.0
|
7 |
* @author Pluggabl LLC.
|
8 |
*/
|
@@ -38,6 +38,15 @@ $settings = array(
|
|
38 |
'id' => 'wcj_wpml_switch_booster_currency',
|
39 |
'default' => 'no',
|
40 |
),
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
41 |
array(
|
42 |
'type' => 'sectionend',
|
43 |
'id' => 'wcj_wpml_general_options',
|
2 |
/**
|
3 |
* Booster for WooCommerce - Settings - WPML
|
4 |
*
|
5 |
+
* @version 5.1.0
|
6 |
* @since 2.8.0
|
7 |
* @author Pluggabl LLC.
|
8 |
*/
|
38 |
'id' => 'wcj_wpml_switch_booster_currency',
|
39 |
'default' => 'no',
|
40 |
),
|
41 |
+
array(
|
42 |
+
'title' => __( 'Synchronize Metas', 'woocommerce-jetpack' ),
|
43 |
+
'custom_attributes' => apply_filters( 'booster_message', '', 'disabled' ),
|
44 |
+
'desc' => empty( $message = apply_filters( 'booster_message', '', 'desc' ) ) ? __( 'Enable', 'woocommerce-jetpack' ) : $message,
|
45 |
+
'desc_tip' => __( "Try to automatically synchronize some Booster metas between products on different languages.", 'woocommerce-jetpack' ),
|
46 |
+
'type' => 'checkbox',
|
47 |
+
'id' => 'wcj_wpml_sync_metas',
|
48 |
+
'default' => 'no',
|
49 |
+
),
|
50 |
array(
|
51 |
'type' => 'sectionend',
|
52 |
'id' => 'wcj_wpml_general_options',
|
includes/shortcodes/class-wcj-shortcodes-orders.php
CHANGED
@@ -98,7 +98,7 @@ class WCJ_Orders_Shortcodes extends WCJ_Shortcodes {
|
|
98 |
/**
|
99 |
* add_extra_atts.
|
100 |
*
|
101 |
-
* @version
|
102 |
*/
|
103 |
function add_extra_atts( $atts ) {
|
104 |
$modified_atts = array_merge( array(
|
@@ -108,6 +108,7 @@ class WCJ_Orders_Shortcodes extends WCJ_Shortcodes {
|
|
108 |
'date_format' => get_option( 'date_format' ),
|
109 |
'time_format' => get_option( 'time_format' ),
|
110 |
'hide_if_zero' => 'no',
|
|
|
111 |
'field_id' => '',
|
112 |
'name' => '',
|
113 |
'round_by_line' => 'no',
|
@@ -201,7 +202,7 @@ class WCJ_Orders_Shortcodes extends WCJ_Shortcodes {
|
|
201 |
/**
|
202 |
* wcj_price_shortcode.
|
203 |
*
|
204 |
-
* @version
|
205 |
*/
|
206 |
private function wcj_price_shortcode( $raw_price, $atts ) {
|
207 |
if ( 'yes' === $atts['hide_if_zero'] && 0 == $raw_price ) {
|
@@ -209,13 +210,13 @@ class WCJ_Orders_Shortcodes extends WCJ_Shortcodes {
|
|
209 |
} else {
|
210 |
$order_currency = wcj_get_order_currency( $this->the_order );
|
211 |
if ( '' === $atts['currency'] ) {
|
212 |
-
return wcj_price( $raw_price, $order_currency, $atts['hide_currency'] );
|
213 |
} else {
|
214 |
$convert_to_currency = $atts['currency'];
|
215 |
if ( '%shop_currency%' === $convert_to_currency ) {
|
216 |
$convert_to_currency = get_option( 'woocommerce_currency' );
|
217 |
}
|
218 |
-
return wcj_price( $raw_price * wcj_get_saved_exchange_rate( $order_currency, $convert_to_currency ), $convert_to_currency, $atts['hide_currency'] );
|
219 |
}
|
220 |
}
|
221 |
}
|
98 |
/**
|
99 |
* add_extra_atts.
|
100 |
*
|
101 |
+
* @version 5.1.0
|
102 |
*/
|
103 |
function add_extra_atts( $atts ) {
|
104 |
$modified_atts = array_merge( array(
|
108 |
'date_format' => get_option( 'date_format' ),
|
109 |
'time_format' => get_option( 'time_format' ),
|
110 |
'hide_if_zero' => 'no',
|
111 |
+
'add_html_on_price' => true,
|
112 |
'field_id' => '',
|
113 |
'name' => '',
|
114 |
'round_by_line' => 'no',
|
202 |
/**
|
203 |
* wcj_price_shortcode.
|
204 |
*
|
205 |
+
* @version 5.1.0
|
206 |
*/
|
207 |
private function wcj_price_shortcode( $raw_price, $atts ) {
|
208 |
if ( 'yes' === $atts['hide_if_zero'] && 0 == $raw_price ) {
|
210 |
} else {
|
211 |
$order_currency = wcj_get_order_currency( $this->the_order );
|
212 |
if ( '' === $atts['currency'] ) {
|
213 |
+
return wcj_price( $raw_price, $order_currency, $atts['hide_currency'], $atts );
|
214 |
} else {
|
215 |
$convert_to_currency = $atts['currency'];
|
216 |
if ( '%shop_currency%' === $convert_to_currency ) {
|
217 |
$convert_to_currency = get_option( 'woocommerce_currency' );
|
218 |
}
|
219 |
+
return wcj_price( $raw_price * wcj_get_saved_exchange_rate( $order_currency, $convert_to_currency ), $convert_to_currency, $atts['hide_currency'], $atts );
|
220 |
}
|
221 |
}
|
222 |
}
|
includes/widgets/class-wcj-widget-country-switcher.php
CHANGED
@@ -2,7 +2,7 @@
|
|
2 |
/**
|
3 |
* Booster for WooCommerce - Widget - Country Switcher
|
4 |
*
|
5 |
-
* @version
|
6 |
* @since 2.4.8
|
7 |
* @author Pluggabl LLC.
|
8 |
*/
|
@@ -33,7 +33,7 @@ class WCJ_Widget_Country_Switcher extends WCJ_Widget {
|
|
33 |
/**
|
34 |
* get_content.
|
35 |
*
|
36 |
-
* @version
|
37 |
* @since 3.1.0
|
38 |
*/
|
39 |
function get_content( $instance ) {
|
@@ -45,14 +45,16 @@ class WCJ_Widget_Country_Switcher extends WCJ_Widget {
|
|
45 |
if ( ! isset( $instance['replace_with_currency'] ) ) {
|
46 |
$instance['replace_with_currency'] = 'no';
|
47 |
}
|
48 |
-
return do_shortcode( '[wcj_country_select_drop_down_list
|
|
|
|
|
49 |
}
|
50 |
}
|
51 |
|
52 |
/**
|
53 |
* get_options.
|
54 |
*
|
55 |
-
* @version
|
56 |
* @since 3.1.0
|
57 |
* @todo (maybe) `switcher_type`
|
58 |
*/
|
@@ -83,6 +85,18 @@ class WCJ_Widget_Country_Switcher extends WCJ_Widget {
|
|
83 |
'yes' => __( 'Yes', 'woocommerce-jetpack' ),
|
84 |
),
|
85 |
),
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
86 |
);
|
87 |
}
|
88 |
|
2 |
/**
|
3 |
* Booster for WooCommerce - Widget - Country Switcher
|
4 |
*
|
5 |
+
* @version 5.1.0
|
6 |
* @since 2.4.8
|
7 |
* @author Pluggabl LLC.
|
8 |
*/
|
33 |
/**
|
34 |
* get_content.
|
35 |
*
|
36 |
+
* @version 5.1.0
|
37 |
* @since 3.1.0
|
38 |
*/
|
39 |
function get_content( $instance ) {
|
45 |
if ( ! isset( $instance['replace_with_currency'] ) ) {
|
46 |
$instance['replace_with_currency'] = 'no';
|
47 |
}
|
48 |
+
return do_shortcode( '[wcj_country_select_drop_down_list' .
|
49 |
+
' form_method="' . ( ! empty( $instance['form_method'] ) ? $instance['form_method'] : 'post' ) . '"' .
|
50 |
+
' countries="' . $instance['countries'] . '" replace_with_currency="' . $instance['replace_with_currency'] . '"]' );
|
51 |
}
|
52 |
}
|
53 |
|
54 |
/**
|
55 |
* get_options.
|
56 |
*
|
57 |
+
* @version 5.1.0
|
58 |
* @since 3.1.0
|
59 |
* @todo (maybe) `switcher_type`
|
60 |
*/
|
85 |
'yes' => __( 'Yes', 'woocommerce-jetpack' ),
|
86 |
),
|
87 |
),
|
88 |
+
array(
|
89 |
+
'title' => __( 'Form Method', 'woocommerce-jetpack' ),
|
90 |
+
'desc' => '* ' . __( 'HTML form method for "Drop down" and "Radio list" types.', 'woocommerce-jetpack' ),
|
91 |
+
'id' => 'form_method',
|
92 |
+
'default' => 'post',
|
93 |
+
'type' => 'select',
|
94 |
+
'options' => array(
|
95 |
+
'post' => __( 'Post', 'woocommerce-jetpack' ),
|
96 |
+
'get' => __( 'Get', 'woocommerce-jetpack' ),
|
97 |
+
),
|
98 |
+
'class' => 'widefat',
|
99 |
+
),
|
100 |
);
|
101 |
}
|
102 |
|
langs/woocommerce-jetpack.pot
CHANGED
@@ -43,9 +43,9 @@ msgstr ""
|
|
43 |
#: includes/class-wcj-payment-gateways.php:91
|
44 |
#: includes/class-wcj-track-users.php:163
|
45 |
#: includes/class-wcj-track-users.php:251
|
46 |
-
#: includes/classes/class-wcj-module.php:
|
47 |
-
#: includes/classes/class-wcj-module.php:
|
48 |
-
#: includes/settings/wcj-settings-price-by-country.php:
|
49 |
msgid "Booster"
|
50 |
msgstr ""
|
51 |
|
@@ -98,7 +98,7 @@ msgstr ""
|
|
98 |
#: includes/admin/class-wc-settings-jetpack.php:217
|
99 |
#: includes/class-wcj-admin-bar.php:384
|
100 |
#: includes/settings/wcj-settings-emails-verification.php:146
|
101 |
-
#: includes/settings/wcj-settings-price-by-country.php:
|
102 |
msgid "WooCommerce"
|
103 |
msgstr ""
|
104 |
|
@@ -187,7 +187,7 @@ msgstr ""
|
|
187 |
|
188 |
#: includes/admin/class-wc-settings-jetpack.php:416
|
189 |
#: includes/class-wcj-admin-bar.php:172
|
190 |
-
#: includes/classes/class-wcj-module.php:
|
191 |
msgid "Documentation"
|
192 |
msgstr ""
|
193 |
|
@@ -295,7 +295,7 @@ msgid "Doesn't apply rounding, offset etc."
|
|
295 |
msgstr ""
|
296 |
|
297 |
#: includes/admin/class-wcj-settings-custom-fields.php:260
|
298 |
-
#: includes/settings/wcj-settings-wpml.php:
|
299 |
msgid "To use tools, module must be enabled."
|
300 |
msgstr ""
|
301 |
|
@@ -515,8 +515,8 @@ msgstr ""
|
|
515 |
|
516 |
#: includes/class-wcj-admin-bar.php:245 includes/class-wcj-admin-bar.php:288
|
517 |
#: includes/class-wcj-admin-bar.php:632
|
518 |
-
#: includes/classes/class-wcj-module.php:
|
519 |
-
#: includes/settings/wcj-settings-wpml.php:
|
520 |
msgid "Tools"
|
521 |
msgstr ""
|
522 |
|
@@ -854,14 +854,14 @@ msgid "All Products and All Attributes."
|
|
854 |
msgstr ""
|
855 |
|
856 |
#: includes/class-wcj-admin-tools.php:172
|
857 |
-
#: includes/settings/wcj-settings-export.php:
|
858 |
-
#: includes/settings/wcj-settings-export.php:
|
859 |
msgid "Product Meta"
|
860 |
msgstr ""
|
861 |
|
862 |
#: includes/class-wcj-admin-tools.php:189
|
863 |
-
#: includes/settings/wcj-settings-export.php:
|
864 |
-
#: includes/settings/wcj-settings-export.php:
|
865 |
msgid "Order Meta"
|
866 |
msgstr ""
|
867 |
|
@@ -1438,7 +1438,7 @@ msgid ""
|
|
1438 |
msgstr ""
|
1439 |
|
1440 |
#: includes/class-wcj-custom-php.php:32
|
1441 |
-
#: includes/settings/wcj-settings-multicurrency.php:
|
1442 |
#: includes/settings/wcj-settings-offer-price.php:84
|
1443 |
#, php-format
|
1444 |
msgid "E.g.: %s"
|
@@ -1762,44 +1762,44 @@ msgstr ""
|
|
1762 |
msgid "Export Products."
|
1763 |
msgstr ""
|
1764 |
|
1765 |
-
#: includes/class-wcj-export-import.php:
|
1766 |
-
#: includes/class-wcj-export-import.php:
|
1767 |
msgid "Filter by Billing Country"
|
1768 |
msgstr ""
|
1769 |
|
1770 |
-
#: includes/class-wcj-export-import.php:
|
1771 |
msgid "Filter by Product Title"
|
1772 |
msgstr ""
|
1773 |
|
1774 |
-
#: includes/class-wcj-export-import.php:
|
1775 |
#: includes/reports/wcj-class-reports-sales-daily.php:189
|
1776 |
#: includes/reports/wcj-class-reports-sales-gateways.php:137
|
1777 |
#: includes/settings/wcj-settings-orders.php:45
|
1778 |
msgid "Filter"
|
1779 |
msgstr ""
|
1780 |
|
1781 |
-
#: includes/class-wcj-export-import.php:
|
1782 |
#: includes/class-wcj-track-users.php:36
|
1783 |
msgid "All time"
|
1784 |
msgstr ""
|
1785 |
|
1786 |
-
#: includes/class-wcj-export-import.php:
|
1787 |
msgid "Custom:"
|
1788 |
msgstr ""
|
1789 |
|
1790 |
-
#: includes/class-wcj-export-import.php:
|
1791 |
msgid "Go"
|
1792 |
msgstr ""
|
1793 |
|
1794 |
-
#: includes/class-wcj-export-import.php:
|
1795 |
msgid "Download CSV"
|
1796 |
msgstr ""
|
1797 |
|
1798 |
-
#: includes/class-wcj-export-import.php:
|
1799 |
msgid "Download XML"
|
1800 |
msgstr ""
|
1801 |
|
1802 |
-
#: includes/class-wcj-export-import.php:
|
1803 |
msgid "Filter by All Fields"
|
1804 |
msgstr ""
|
1805 |
|
@@ -1872,7 +1872,7 @@ msgstr ""
|
|
1872 |
#: includes/class-wcj-sku.php:667
|
1873 |
#: includes/reports/wcj-class-reports-sales.php:196
|
1874 |
#: includes/settings/wcj-settings-cross-sells.php:43
|
1875 |
-
#: includes/settings/wcj-settings-order-numbers.php:
|
1876 |
#: includes/settings/wcj-settings-product-by-user.php:161
|
1877 |
#: includes/settings/wcj-settings-products-xml.php:221
|
1878 |
#: includes/settings/wcj-settings-related-products.php:30
|
@@ -1929,7 +1929,7 @@ msgstr ""
|
|
1929 |
#: includes/settings/wcj-settings-email-options.php:20
|
1930 |
#: includes/settings/wcj-settings-eu-vat-number.php:181
|
1931 |
#: includes/settings/wcj-settings-eu-vat-number.php:217
|
1932 |
-
#: includes/settings/wcj-settings-export.php:
|
1933 |
#: includes/settings/wcj-settings-order-custom-statuses.php:29
|
1934 |
#: includes/settings/wcj-settings-order-custom-statuses.php:37
|
1935 |
#: includes/settings/wcj-settings-order-custom-statuses.php:80
|
@@ -2156,16 +2156,16 @@ msgid ""
|
|
2156 |
"and <a href=\"%3$s\">edit your password and account details</a>."
|
2157 |
msgstr ""
|
2158 |
|
2159 |
-
#: includes/class-wcj-my-account.php:
|
2160 |
msgid "User role"
|
2161 |
msgstr ""
|
2162 |
|
2163 |
-
#: includes/class-wcj-my-account.php:
|
2164 |
#: includes/class-wcj-product-bulk-meta-editor.php:279
|
2165 |
#: includes/class-wcj-product-by-user.php:206
|
2166 |
#: includes/class-wcj-purchase-data.php:94
|
2167 |
#: includes/class-wcj-track-users.php:334
|
2168 |
-
#: includes/classes/class-wcj-module.php:
|
2169 |
#: includes/functions/wcj-functions-general.php:189
|
2170 |
#: includes/functions/wcj-functions-html.php:117
|
2171 |
#: includes/reports/wcj-class-reports-monthly-sales.php:351
|
@@ -2191,7 +2191,7 @@ msgstr ""
|
|
2191 |
#: includes/class-wcj-offer-price.php:164
|
2192 |
#: includes/functions/wcj-functions-reports.php:21
|
2193 |
#: includes/settings/wcj-settings-cross-sells.php:44
|
2194 |
-
#: includes/settings/wcj-settings-order-numbers.php:
|
2195 |
#: includes/settings/wcj-settings-products-xml.php:220
|
2196 |
#: includes/settings/wcj-settings-related-products.php:23
|
2197 |
#: includes/settings/wcj-settings-upsells.php:44
|
@@ -2303,36 +2303,36 @@ msgstr ""
|
|
2303 |
msgid "Make an offer"
|
2304 |
msgstr ""
|
2305 |
|
2306 |
-
#: includes/class-wcj-offer-price.php:
|
2307 |
#: includes/settings/wcj-settings-offer-price.php:340
|
2308 |
#, php-format
|
2309 |
msgid "Product: %s"
|
2310 |
msgstr ""
|
2311 |
|
2312 |
-
#: includes/class-wcj-offer-price.php:
|
2313 |
#: includes/settings/wcj-settings-offer-price.php:341
|
2314 |
#, php-format
|
2315 |
msgid "Offered price: %s"
|
2316 |
msgstr ""
|
2317 |
|
2318 |
-
#: includes/class-wcj-offer-price.php:
|
2319 |
#: includes/settings/wcj-settings-offer-price.php:342
|
2320 |
#, php-format
|
2321 |
msgid "From: %s %s"
|
2322 |
msgstr ""
|
2323 |
|
2324 |
-
#: includes/class-wcj-offer-price.php:
|
2325 |
#: includes/settings/wcj-settings-offer-price.php:343
|
2326 |
#, php-format
|
2327 |
msgid "Message: %s"
|
2328 |
msgstr ""
|
2329 |
|
2330 |
-
#: includes/class-wcj-offer-price.php:
|
2331 |
#: includes/settings/wcj-settings-offer-price.php:331
|
2332 |
msgid "Price Offer"
|
2333 |
msgstr ""
|
2334 |
|
2335 |
-
#: includes/class-wcj-offer-price.php:
|
2336 |
#: includes/settings/wcj-settings-offer-price.php:262
|
2337 |
msgid "Your price offer has been sent."
|
2338 |
msgstr ""
|
@@ -2479,23 +2479,23 @@ msgstr ""
|
|
2479 |
msgid "Tool renumerates all orders."
|
2480 |
msgstr ""
|
2481 |
|
2482 |
-
#: includes/class-wcj-order-numbers.php:
|
2483 |
msgid "Orders successfully renumerated!"
|
2484 |
msgstr ""
|
2485 |
|
2486 |
-
#: includes/class-wcj-order-numbers.php:
|
2487 |
#, php-format
|
2488 |
msgid "Sequential number generation is enabled. Next order number will be %s."
|
2489 |
msgstr ""
|
2490 |
|
2491 |
-
#: includes/class-wcj-order-numbers.php:
|
2492 |
#, php-format
|
2493 |
msgid ""
|
2494 |
"Press the button below to renumerate all existing orders starting from order "
|
2495 |
"counter settings in <a href=\"%s\">Order Numbers</a> module."
|
2496 |
msgstr ""
|
2497 |
|
2498 |
-
#: includes/class-wcj-order-numbers.php:
|
2499 |
msgid "Renumerate orders"
|
2500 |
msgstr ""
|
2501 |
|
@@ -2764,15 +2764,15 @@ msgstr ""
|
|
2764 |
msgid "You are not allowed to view the invoice."
|
2765 |
msgstr ""
|
2766 |
|
2767 |
-
#: includes/class-wcj-price-by-country.php:
|
2768 |
msgid "Prices and Currencies by Country"
|
2769 |
msgstr ""
|
2770 |
|
2771 |
-
#: includes/class-wcj-price-by-country.php:
|
2772 |
msgid "Change product price and currency automatically by customer's country."
|
2773 |
msgstr ""
|
2774 |
|
2775 |
-
#: includes/class-wcj-price-by-country.php:
|
2776 |
msgid "Price filter widget product prices recalculated."
|
2777 |
msgstr ""
|
2778 |
|
@@ -2850,8 +2850,8 @@ msgstr ""
|
|
2850 |
#: includes/class-wcj-product-info.php:235
|
2851 |
#: includes/class-wcj-shipping-by-products.php:195
|
2852 |
#: includes/class-wcj-shipping-options.php:121
|
2853 |
-
#: includes/classes/class-wcj-module.php:
|
2854 |
-
#: includes/classes/class-wcj-module.php:
|
2855 |
#: includes/settings/meta-box/wcj-settings-meta-box-product-add-to-cart.php:68
|
2856 |
#: includes/settings/meta-box/wcj-settings-meta-box-product-addons.php:73
|
2857 |
#: includes/settings/meta-box/wcj-settings-meta-box-related-products.php:19
|
@@ -2911,6 +2911,7 @@ msgstr ""
|
|
2911 |
#: includes/settings/wcj-settings-emails-verification.php:36
|
2912 |
#: includes/settings/wcj-settings-emails-verification.php:43
|
2913 |
#: includes/settings/wcj-settings-eu-vat-number.php:264
|
|
|
2914 |
#: includes/settings/wcj-settings-general.php:21
|
2915 |
#: includes/settings/wcj-settings-general.php:73
|
2916 |
#: includes/settings/wcj-settings-general.php:146
|
@@ -2931,7 +2932,6 @@ msgstr ""
|
|
2931 |
#: includes/settings/wcj-settings-multicurrency-base-price.php:102
|
2932 |
#: includes/settings/wcj-settings-multicurrency.php:39
|
2933 |
#: includes/settings/wcj-settings-multicurrency.php:103
|
2934 |
-
#: includes/settings/wcj-settings-multicurrency.php:121
|
2935 |
#: includes/settings/wcj-settings-multicurrency.php:129
|
2936 |
#: includes/settings/wcj-settings-multicurrency.php:138
|
2937 |
#: includes/settings/wcj-settings-multicurrency.php:146
|
@@ -2942,8 +2942,9 @@ msgstr ""
|
|
2942 |
#: includes/settings/wcj-settings-multicurrency.php:186
|
2943 |
#: includes/settings/wcj-settings-multicurrency.php:195
|
2944 |
#: includes/settings/wcj-settings-multicurrency.php:204
|
2945 |
-
#: includes/settings/wcj-settings-multicurrency.php:
|
2946 |
#: includes/settings/wcj-settings-multicurrency.php:246
|
|
|
2947 |
#: includes/settings/wcj-settings-my-account.php:29
|
2948 |
#: includes/settings/wcj-settings-my-account.php:87
|
2949 |
#: includes/settings/wcj-settings-my-account.php:104
|
@@ -2951,10 +2952,12 @@ msgstr ""
|
|
2951 |
#: includes/settings/wcj-settings-order-custom-statuses.php:45
|
2952 |
#: includes/settings/wcj-settings-order-custom-statuses.php:55
|
2953 |
#: includes/settings/wcj-settings-order-custom-statuses.php:98
|
|
|
2954 |
#: includes/settings/wcj-settings-order-numbers.php:97
|
2955 |
#: includes/settings/wcj-settings-order-numbers.php:105
|
2956 |
#: includes/settings/wcj-settings-order-numbers.php:112
|
2957 |
#: includes/settings/wcj-settings-order-numbers.php:119
|
|
|
2958 |
#: includes/settings/wcj-settings-order-quantities.php:23
|
2959 |
#: includes/settings/wcj-settings-order-quantities.php:42
|
2960 |
#: includes/settings/wcj-settings-order-quantities.php:49
|
@@ -2985,10 +2988,11 @@ msgstr ""
|
|
2985 |
#: includes/settings/wcj-settings-price-by-country.php:90
|
2986 |
#: includes/settings/wcj-settings-price-by-country.php:106
|
2987 |
#: includes/settings/wcj-settings-price-by-country.php:133
|
2988 |
-
#: includes/settings/wcj-settings-price-by-country.php:
|
2989 |
-
#: includes/settings/wcj-settings-price-by-country.php:
|
2990 |
-
#: includes/settings/wcj-settings-price-by-country.php:
|
2991 |
-
#: includes/settings/wcj-settings-price-by-country.php:
|
|
|
2992 |
#: includes/settings/wcj-settings-price-by-user-role.php:19
|
2993 |
#: includes/settings/wcj-settings-price-by-user-role.php:46
|
2994 |
#: includes/settings/wcj-settings-price-by-user-role.php:93
|
@@ -3040,6 +3044,7 @@ msgstr ""
|
|
3040 |
#: includes/settings/wcj-settings-product-open-pricing.php:109
|
3041 |
#: includes/settings/wcj-settings-product-open-pricing.php:140
|
3042 |
#: includes/settings/wcj-settings-product-price-by-formula.php:30
|
|
|
3043 |
#: includes/settings/wcj-settings-product-tabs.php:43
|
3044 |
#: includes/settings/wcj-settings-product-tabs.php:232
|
3045 |
#: includes/settings/wcj-settings-product-tabs.php:240
|
@@ -3088,7 +3093,8 @@ msgstr ""
|
|
3088 |
#: includes/settings/wcj-settings-wholesale-price.php:63
|
3089 |
#: includes/settings/wcj-settings-wpml.php:28
|
3090 |
#: includes/settings/wcj-settings-wpml.php:35
|
3091 |
-
#: includes/settings/wcj-settings-wpml.php:
|
|
|
3092 |
msgid "Enable"
|
3093 |
msgstr ""
|
3094 |
|
@@ -3328,9 +3334,9 @@ msgstr ""
|
|
3328 |
#: includes/settings/wcj-settings-admin-orders-list.php:71
|
3329 |
#: includes/settings/wcj-settings-admin-products-list.php:56
|
3330 |
#: includes/settings/wcj-settings-checkout-fees.php:76
|
3331 |
-
#: includes/settings/wcj-settings-export.php:
|
3332 |
-
#: includes/settings/wcj-settings-export.php:
|
3333 |
-
#: includes/settings/wcj-settings-export.php:
|
3334 |
#: includes/settings/wcj-settings-global-discount.php:74
|
3335 |
msgid "Value"
|
3336 |
msgstr ""
|
@@ -3488,7 +3494,7 @@ msgid ""
|
|
3488 |
msgstr ""
|
3489 |
|
3490 |
#: includes/class-wcj-product-by-country.php:30
|
3491 |
-
#: includes/widgets/class-wcj-widget-country-switcher.php:
|
3492 |
#: includes/widgets/class-wcj-widget-selector.php:64
|
3493 |
msgid "Countries"
|
3494 |
msgstr ""
|
@@ -3680,9 +3686,9 @@ msgstr ""
|
|
3680 |
#: includes/settings/wcj-settings-admin-orders-list.php:172
|
3681 |
#: includes/settings/wcj-settings-checkout-fees.php:60
|
3682 |
#: includes/settings/wcj-settings-cross-sells.php:42
|
3683 |
-
#: includes/settings/wcj-settings-export.php:
|
3684 |
-
#: includes/settings/wcj-settings-export.php:
|
3685 |
-
#: includes/settings/wcj-settings-export.php:
|
3686 |
#: includes/settings/wcj-settings-my-account.php:161
|
3687 |
#: includes/settings/wcj-settings-product-add-to-cart.php:300
|
3688 |
#: includes/settings/wcj-settings-product-addons.php:92
|
@@ -3698,7 +3704,7 @@ msgstr ""
|
|
3698 |
#: includes/shipping/class-wc-shipping-wcj-custom-with-shipping-zones.php:191
|
3699 |
#: includes/shipping/class-wc-shipping-wcj-custom.php:107
|
3700 |
#: includes/shortcodes/class-wcj-shortcodes-products-add-form.php:334
|
3701 |
-
#: includes/widgets/class-wcj-widget-country-switcher.php:
|
3702 |
#: includes/widgets/class-wcj-widget-left-to-free-shipping.php:52
|
3703 |
#: includes/widgets/class-wcj-widget-multicurrency.php:69
|
3704 |
#: includes/widgets/class-wcj-widget-selector.php:52
|
@@ -3912,11 +3918,11 @@ msgid ""
|
|
3912 |
"count, exclude categories, show/hide empty categories."
|
3913 |
msgstr ""
|
3914 |
|
3915 |
-
#: includes/class-wcj-product-msrp.php:
|
3916 |
msgid "Product MSRP"
|
3917 |
msgstr ""
|
3918 |
|
3919 |
-
#: includes/class-wcj-product-msrp.php:
|
3920 |
msgid ""
|
3921 |
"The <strong>manufacturer's suggested retail price</strong> (<strong>MSRP</"
|
3922 |
"strong>), also known as the <strong>list price</strong>, or the "
|
@@ -3926,17 +3932,17 @@ msgid ""
|
|
3926 |
"product."
|
3927 |
msgstr ""
|
3928 |
|
3929 |
-
#: includes/class-wcj-product-msrp.php:
|
3930 |
#, php-format
|
3931 |
msgid "Booster stores MSRP as product meta with %s key."
|
3932 |
msgstr ""
|
3933 |
|
3934 |
-
#: includes/class-wcj-product-msrp.php:
|
3935 |
msgid "Save and display product MSRP in WooCommerce."
|
3936 |
msgstr ""
|
3937 |
|
3938 |
-
#: includes/class-wcj-product-msrp.php:
|
3939 |
-
#: includes/class-wcj-product-msrp.php:
|
3940 |
#: includes/settings/meta-box/wcj-settings-meta-box-product-msrp.php:48
|
3941 |
msgid "MSRP"
|
3942 |
msgstr ""
|
@@ -3989,11 +3995,11 @@ msgstr ""
|
|
3989 |
msgid "Set formula for automatic product price calculation."
|
3990 |
msgstr ""
|
3991 |
|
3992 |
-
#: includes/class-wcj-product-price-by-formula.php:
|
3993 |
msgid "Error in formula"
|
3994 |
msgstr ""
|
3995 |
|
3996 |
-
#: includes/class-wcj-product-price-by-formula.php:
|
3997 |
msgid ""
|
3998 |
"Booster: Free plugin's version is limited to only one price by formula "
|
3999 |
"product enabled at a time. You will need to get <a href=\"https://booster.io/"
|
@@ -4001,7 +4007,7 @@ msgid ""
|
|
4001 |
"by formula products."
|
4002 |
msgstr ""
|
4003 |
|
4004 |
-
#: includes/class-wcj-product-price-by-formula.php:
|
4005 |
msgid "Final Price Preview"
|
4006 |
msgstr ""
|
4007 |
|
@@ -4104,7 +4110,7 @@ msgstr ""
|
|
4104 |
#: includes/settings/wcj-settings-checkout-custom-fields.php:265
|
4105 |
#: includes/settings/wcj-settings-product-addons.php:242
|
4106 |
#: includes/settings/wcj-settings-related-products.php:176
|
4107 |
-
#: includes/widgets/class-wcj-widget-country-switcher.php:
|
4108 |
msgid "No"
|
4109 |
msgstr ""
|
4110 |
|
@@ -4142,7 +4148,7 @@ msgstr ""
|
|
4142 |
#: includes/settings/wcj-settings-eu-vat-number.php:154
|
4143 |
#: includes/settings/wcj-settings-product-addons.php:241
|
4144 |
#: includes/settings/wcj-settings-related-products.php:175
|
4145 |
-
#: includes/widgets/class-wcj-widget-country-switcher.php:
|
4146 |
msgid "Yes"
|
4147 |
msgstr ""
|
4148 |
|
@@ -4555,8 +4561,8 @@ msgid ""
|
|
4555 |
msgstr ""
|
4556 |
|
4557 |
#: includes/class-wcj-shipping-by-user-role.php:33
|
4558 |
-
#: includes/settings/wcj-settings-multicurrency.php:
|
4559 |
-
#: includes/settings/wcj-settings-order-min-amount.php:
|
4560 |
#: includes/settings/wcj-settings-price-by-user-role.php:133
|
4561 |
#, php-format
|
4562 |
msgid ""
|
@@ -4873,15 +4879,15 @@ msgid ""
|
|
4873 |
"less)."
|
4874 |
msgstr ""
|
4875 |
|
4876 |
-
#: includes/class-wcj-wpml.php:
|
4877 |
msgid "Booster WPML"
|
4878 |
msgstr ""
|
4879 |
|
4880 |
-
#: includes/class-wcj-wpml.php:
|
4881 |
msgid "Booster for WooCommerce basic WPML support."
|
4882 |
msgstr ""
|
4883 |
|
4884 |
-
#: includes/class-wcj-wpml.php:
|
4885 |
msgid "File wpml-config.xml successfully regenerated!"
|
4886 |
msgstr ""
|
4887 |
|
@@ -4899,23 +4905,23 @@ msgstr ""
|
|
4899 |
msgid "Invisible"
|
4900 |
msgstr ""
|
4901 |
|
4902 |
-
#: includes/classes/class-wcj-module.php:
|
4903 |
msgid "WPML: Get Terms in All Languages"
|
4904 |
msgstr ""
|
4905 |
|
4906 |
-
#: includes/classes/class-wcj-module.php:
|
4907 |
msgid "Get tags and taxonomies in all languages"
|
4908 |
msgstr ""
|
4909 |
|
4910 |
-
#: includes/classes/class-wcj-module.php:
|
4911 |
msgid "WPML: Get Products in All Languages"
|
4912 |
msgstr ""
|
4913 |
|
4914 |
-
#: includes/classes/class-wcj-module.php:
|
4915 |
msgid "Get products in all languages"
|
4916 |
msgstr ""
|
4917 |
|
4918 |
-
#: includes/classes/class-wcj-module.php:
|
4919 |
#, php-format
|
4920 |
msgid ""
|
4921 |
"Booster: Free plugin's version is limited to only one \"%1$s\" product with "
|
@@ -4924,30 +4930,30 @@ msgid ""
|
|
4924 |
"\"%1$s\" products."
|
4925 |
msgstr ""
|
4926 |
|
4927 |
-
#: includes/classes/class-wcj-module.php:
|
4928 |
#, php-format
|
4929 |
msgid "Selected: %s."
|
4930 |
msgstr ""
|
4931 |
|
4932 |
-
#: includes/classes/class-wcj-module.php:
|
4933 |
msgid "Back to Module Settings"
|
4934 |
msgstr ""
|
4935 |
|
4936 |
-
#: includes/classes/class-wcj-module.php:
|
4937 |
-
#: includes/settings/wcj-settings-wpml.php:
|
4938 |
msgid "Module Tools"
|
4939 |
msgstr ""
|
4940 |
|
4941 |
-
#: includes/classes/class-wcj-module.php:
|
4942 |
#: includes/settings/wcj-settings-checkout-core-fields.php:77
|
4943 |
msgid "enabled"
|
4944 |
msgstr ""
|
4945 |
|
4946 |
-
#: includes/classes/class-wcj-module.php:
|
4947 |
msgid "disabled"
|
4948 |
msgstr ""
|
4949 |
|
4950 |
-
#: includes/classes/class-wcj-module.php:
|
4951 |
#: includes/settings/wcj-settings-product-tabs.php:172
|
4952 |
#: includes/settings/wcj-settings-product-tabs.php:184
|
4953 |
#: includes/settings/wcj-settings-product-tabs.php:196
|
@@ -4955,27 +4961,27 @@ msgstr ""
|
|
4955 |
msgid "Deprecated"
|
4956 |
msgstr ""
|
4957 |
|
4958 |
-
#: includes/classes/class-wcj-module.php:
|
4959 |
msgid "Reset Settings"
|
4960 |
msgstr ""
|
4961 |
|
4962 |
-
#: includes/classes/class-wcj-module.php:
|
4963 |
msgid "Reset Module to Default Settings"
|
4964 |
msgstr ""
|
4965 |
|
4966 |
-
#: includes/classes/class-wcj-module.php:
|
4967 |
msgid "Reset Submodule to Default Settings"
|
4968 |
msgstr ""
|
4969 |
|
4970 |
-
#: includes/classes/class-wcj-module.php:
|
4971 |
msgid "Reset settings"
|
4972 |
msgstr ""
|
4973 |
|
4974 |
-
#: includes/classes/class-wcj-module.php:
|
4975 |
msgid "Module Options"
|
4976 |
msgstr ""
|
4977 |
|
4978 |
-
#: includes/classes/class-wcj-module.php:
|
4979 |
msgid "Enable Module"
|
4980 |
msgstr ""
|
4981 |
|
@@ -4984,7 +4990,7 @@ msgstr ""
|
|
4984 |
msgid "Company Name"
|
4985 |
msgstr ""
|
4986 |
|
4987 |
-
#: includes/classes/class-wcj-pdf-invoice.php:
|
4988 |
#: includes/functions/wcj-functions-general.php:145
|
4989 |
#: includes/pdf-invoices/class-wcj-pdf-invoicing-report-tool.php:245
|
4990 |
msgid "Unexpected error"
|
@@ -5543,9 +5549,9 @@ msgstr ""
|
|
5543 |
#: includes/settings/meta-box/wcj-settings-meta-box-product-addons.php:83
|
5544 |
#: includes/settings/wcj-settings-checkout-custom-fields.php:130
|
5545 |
#: includes/settings/wcj-settings-checkout-fees.php:66
|
5546 |
-
#: includes/settings/wcj-settings-export.php:
|
5547 |
-
#: includes/settings/wcj-settings-export.php:
|
5548 |
-
#: includes/settings/wcj-settings-export.php:
|
5549 |
#: includes/settings/wcj-settings-global-discount.php:63
|
5550 |
#: includes/settings/wcj-settings-product-addons.php:80
|
5551 |
#: includes/settings/wcj-settings-purchase-data.php:84
|
@@ -7216,9 +7222,9 @@ msgstr ""
|
|
7216 |
#: includes/settings/wcj-settings-admin-products-list.php:43
|
7217 |
#: includes/settings/wcj-settings-checkout-core-fields.php:83
|
7218 |
#: includes/settings/wcj-settings-checkout-files-upload.php:40
|
7219 |
-
#: includes/settings/wcj-settings-export.php:
|
7220 |
-
#: includes/settings/wcj-settings-export.php:
|
7221 |
-
#: includes/settings/wcj-settings-export.php:
|
7222 |
#: includes/settings/wcj-settings-global-discount.php:55
|
7223 |
#: includes/settings/wcj-settings-product-by-user.php:149
|
7224 |
#: includes/settings/wcj-settings-products-xml.php:76
|
@@ -7655,9 +7661,9 @@ msgstr ""
|
|
7655 |
#: includes/settings/wcj-settings-add-to-cart-button-visibility.php:36
|
7656 |
#: includes/settings/wcj-settings-add-to-cart-button-visibility.php:62
|
7657 |
#: includes/settings/wcj-settings-multicurrency-base-price.php:63
|
7658 |
-
#: includes/settings/wcj-settings-multicurrency.php:
|
7659 |
#: includes/settings/wcj-settings-order-min-amount.php:77
|
7660 |
-
#: includes/settings/wcj-settings-price-by-country.php:
|
7661 |
#: includes/settings/wcj-settings-price-by-user-role.php:106
|
7662 |
#: includes/settings/wcj-settings-product-addons.php:230
|
7663 |
msgid "Advanced"
|
@@ -7894,18 +7900,18 @@ msgstr ""
|
|
7894 |
|
7895 |
#: includes/price-by-country/class-wcj-price-by-country-local.php:111
|
7896 |
#: includes/settings/meta-box/wcj-settings-meta-box-price-by-country.php:67
|
7897 |
-
#: includes/settings/wcj-settings-price-by-country.php:
|
7898 |
msgid "Make empty price"
|
7899 |
msgstr ""
|
7900 |
|
7901 |
#: includes/price-by-country/class-wcj-price-by-country-local.php:215
|
7902 |
#: includes/settings/meta-box/wcj-settings-meta-box-price-by-country.php:17
|
7903 |
#: includes/settings/wcj-settings-add-to-cart.php:50
|
7904 |
-
#: includes/settings/wcj-settings-price-by-country.php:
|
7905 |
-
#: includes/settings/wcj-settings-price-by-country.php:
|
7906 |
-
#: includes/settings/wcj-settings-price-by-country.php:
|
7907 |
-
#: includes/settings/wcj-settings-price-by-country.php:
|
7908 |
-
#: includes/settings/wcj-settings-price-by-country.php:
|
7909 |
msgid "Group"
|
7910 |
msgstr ""
|
7911 |
|
@@ -10642,9 +10648,9 @@ msgid "Replaced values: %field_id%, %field_label%, %required_html%."
|
|
10642 |
msgstr ""
|
10643 |
|
10644 |
#: includes/settings/wcj-settings-checkout-files-upload.php:313
|
10645 |
-
#: includes/settings/wcj-settings-export.php:
|
10646 |
-
#: includes/settings/wcj-settings-export.php:
|
10647 |
-
#: includes/settings/wcj-settings-export.php:
|
10648 |
msgid "Field"
|
10649 |
msgstr ""
|
10650 |
|
@@ -10857,7 +10863,7 @@ msgid "No changes (default behaviour)"
|
|
10857 |
msgstr ""
|
10858 |
|
10859 |
#: includes/settings/wcj-settings-cross-sells.php:41
|
10860 |
-
#: includes/settings/wcj-settings-order-numbers.php:
|
10861 |
#: includes/settings/wcj-settings-related-products.php:22
|
10862 |
#: includes/settings/wcj-settings-upsells.php:41
|
10863 |
msgid "Random"
|
@@ -10882,14 +10888,14 @@ msgid "Cross-sells Order"
|
|
10882 |
msgstr ""
|
10883 |
|
10884 |
#: includes/settings/wcj-settings-cross-sells.php:59
|
10885 |
-
#: includes/settings/wcj-settings-order-numbers.php:
|
10886 |
#: includes/settings/wcj-settings-products-xml.php:235
|
10887 |
#: includes/settings/wcj-settings-related-products.php:91
|
10888 |
msgid "Descending"
|
10889 |
msgstr ""
|
10890 |
|
10891 |
#: includes/settings/wcj-settings-cross-sells.php:60
|
10892 |
-
#: includes/settings/wcj-settings-order-numbers.php:
|
10893 |
#: includes/settings/wcj-settings-products-xml.php:236
|
10894 |
#: includes/settings/wcj-settings-related-products.php:90
|
10895 |
msgid "Ascending"
|
@@ -10989,7 +10995,7 @@ msgstr ""
|
|
10989 |
#: includes/settings/wcj-settings-multicurrency-base-price.php:22
|
10990 |
#: includes/settings/wcj-settings-multicurrency.php:22
|
10991 |
#: includes/settings/wcj-settings-payment-gateways-currency.php:68
|
10992 |
-
#: includes/settings/wcj-settings-price-by-country.php:
|
10993 |
msgid "Exchange Rates Updates"
|
10994 |
msgstr ""
|
10995 |
|
@@ -11053,7 +11059,7 @@ msgid "API keys provided by the Exchange Rates Servers"
|
|
11053 |
msgstr ""
|
11054 |
|
11055 |
#: includes/settings/wcj-settings-currency-exchange-rates.php:119
|
11056 |
-
msgid "Free Currency Converter API"
|
11057 |
msgstr ""
|
11058 |
|
11059 |
#: includes/settings/wcj-settings-currency-exchange-rates.php:120
|
@@ -11083,7 +11089,7 @@ msgid "Custom Currency"
|
|
11083 |
msgstr ""
|
11084 |
|
11085 |
#: includes/settings/wcj-settings-currency-exchange-rates.php:173
|
11086 |
-
#: includes/settings/wcj-settings-price-by-country.php:
|
11087 |
msgid "Exchange Rates"
|
11088 |
msgstr ""
|
11089 |
|
@@ -11101,8 +11107,8 @@ msgstr ""
|
|
11101 |
#: includes/settings/wcj-settings-currency-external-products.php:20
|
11102 |
#: includes/settings/wcj-settings-currency-per-product.php:180
|
11103 |
#: includes/settings/wcj-settings-multicurrency-base-price.php:142
|
11104 |
-
#: includes/settings/wcj-settings-multicurrency.php:
|
11105 |
-
#: includes/settings/wcj-settings-price-by-country.php:
|
11106 |
#: includes/settings/wcj-settings-price-formats.php:59
|
11107 |
msgid "Currency"
|
11108 |
msgstr ""
|
@@ -11177,7 +11183,7 @@ msgstr ""
|
|
11177 |
#: includes/settings/wcj-settings-multicurrency-base-price.php:27
|
11178 |
#: includes/settings/wcj-settings-multicurrency.php:28
|
11179 |
#: includes/settings/wcj-settings-payment-gateways-currency.php:73
|
11180 |
-
#: includes/settings/wcj-settings-price-by-country.php:
|
11181 |
msgid "Enter Rates Manually"
|
11182 |
msgstr ""
|
11183 |
|
@@ -11185,7 +11191,7 @@ msgstr ""
|
|
11185 |
#: includes/settings/wcj-settings-multicurrency-base-price.php:28
|
11186 |
#: includes/settings/wcj-settings-multicurrency.php:29
|
11187 |
#: includes/settings/wcj-settings-payment-gateways-currency.php:74
|
11188 |
-
#: includes/settings/wcj-settings-price-by-country.php:
|
11189 |
msgid "Automatically via Currency Exchange Rates module"
|
11190 |
msgstr ""
|
11191 |
|
@@ -11193,7 +11199,7 @@ msgstr ""
|
|
11193 |
#: includes/settings/wcj-settings-multicurrency-base-price.php:31
|
11194 |
#: includes/settings/wcj-settings-multicurrency.php:32
|
11195 |
#: includes/settings/wcj-settings-payment-gateways-currency.php:77
|
11196 |
-
#: includes/settings/wcj-settings-price-by-country.php:
|
11197 |
msgid "Visit"
|
11198 |
msgstr ""
|
11199 |
|
@@ -11201,13 +11207,13 @@ msgstr ""
|
|
11201 |
#: includes/settings/wcj-settings-multicurrency-base-price.php:31
|
11202 |
#: includes/settings/wcj-settings-multicurrency.php:32
|
11203 |
#: includes/settings/wcj-settings-payment-gateways-currency.php:79
|
11204 |
-
#: includes/settings/wcj-settings-price-by-country.php:
|
11205 |
msgid "Currency Exchange Rates module"
|
11206 |
msgstr ""
|
11207 |
|
11208 |
#: includes/settings/wcj-settings-currency-per-product.php:138
|
11209 |
#: includes/settings/wcj-settings-multicurrency-base-price.php:113
|
11210 |
-
#: includes/settings/wcj-settings-multicurrency.php:
|
11211 |
msgid "Currencies Options"
|
11212 |
msgstr ""
|
11213 |
|
@@ -11220,7 +11226,7 @@ msgstr ""
|
|
11220 |
|
11221 |
#: includes/settings/wcj-settings-currency-per-product.php:144
|
11222 |
#: includes/settings/wcj-settings-multicurrency-base-price.php:118
|
11223 |
-
#: includes/settings/wcj-settings-multicurrency.php:
|
11224 |
msgid "Total Currencies"
|
11225 |
msgstr ""
|
11226 |
|
@@ -11238,8 +11244,9 @@ msgstr ""
|
|
11238 |
|
11239 |
#: includes/settings/wcj-settings-currency-per-product.php:257
|
11240 |
#: includes/settings/wcj-settings-multicurrency-base-price.php:69
|
11241 |
-
#: includes/settings/wcj-settings-multicurrency.php:
|
11242 |
-
#: includes/settings/wcj-settings-price-by-country.php:
|
|
|
11243 |
msgid ""
|
11244 |
"This may help if you are experiencing compatibility issues with other "
|
11245 |
"plugins."
|
@@ -11754,133 +11761,144 @@ msgid "CSV Separator"
|
|
11754 |
msgstr ""
|
11755 |
|
11756 |
#: includes/settings/wcj-settings-export.php:26
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
11757 |
msgid "UTF-8 BOM"
|
11758 |
msgstr ""
|
11759 |
|
11760 |
-
#: includes/settings/wcj-settings-export.php:
|
11761 |
msgid "Add UTF-8 BOM sequence"
|
11762 |
msgstr ""
|
11763 |
|
11764 |
-
#: includes/settings/wcj-settings-export.php:
|
11765 |
msgid "Export Orders Options"
|
11766 |
msgstr ""
|
11767 |
|
11768 |
-
#: includes/settings/wcj-settings-export.php:
|
11769 |
msgid "Export Orders Fields"
|
11770 |
msgstr ""
|
11771 |
|
11772 |
-
#: includes/settings/wcj-settings-export.php:
|
11773 |
-
#: includes/settings/wcj-settings-export.php:
|
11774 |
-
#: includes/settings/wcj-settings-export.php:
|
11775 |
-
#: includes/settings/wcj-settings-export.php:
|
11776 |
-
#: includes/settings/wcj-settings-export.php:
|
11777 |
msgid "Hold \"Control\" key to select multiple fields."
|
11778 |
msgstr ""
|
11779 |
|
11780 |
-
#: includes/settings/wcj-settings-export.php:
|
11781 |
msgid "Additional Export Orders Fields"
|
11782 |
msgstr ""
|
11783 |
|
11784 |
-
#: includes/settings/wcj-settings-export.php:
|
11785 |
-
#: includes/settings/wcj-settings-export.php:
|
11786 |
msgid "Order Shortcode"
|
11787 |
msgstr ""
|
11788 |
|
11789 |
-
#: includes/settings/wcj-settings-export.php:
|
11790 |
msgid ""
|
11791 |
"If field's \"Type\" is set to \"Meta\", enter order meta key to retrieve "
|
11792 |
"(can be custom field name)."
|
11793 |
msgstr ""
|
11794 |
|
11795 |
-
#: includes/settings/wcj-settings-export.php:
|
11796 |
msgid "If it's set to \"Shortcode\", use Booster's Orders shortcodes here."
|
11797 |
msgstr ""
|
11798 |
|
11799 |
-
#: includes/settings/wcj-settings-export.php:
|
11800 |
msgid "Export Orders Items Options"
|
11801 |
msgstr ""
|
11802 |
|
11803 |
-
#: includes/settings/wcj-settings-export.php:
|
11804 |
msgid "Export Orders Items Fields"
|
11805 |
msgstr ""
|
11806 |
|
11807 |
-
#: includes/settings/wcj-settings-export.php:
|
11808 |
msgid "Additional Export Orders Items Fields"
|
11809 |
msgstr ""
|
11810 |
|
11811 |
-
#: includes/settings/wcj-settings-export.php:
|
11812 |
msgid "Order Item Meta"
|
11813 |
msgstr ""
|
11814 |
|
11815 |
-
#: includes/settings/wcj-settings-export.php:
|
11816 |
-
#: includes/settings/wcj-settings-export.php:
|
11817 |
msgid "Product Shortcode"
|
11818 |
msgstr ""
|
11819 |
|
11820 |
-
#: includes/settings/wcj-settings-export.php:
|
11821 |
msgid ""
|
11822 |
"If field's \"Type\" is set to \"Meta\", enter order/product meta key to "
|
11823 |
"retrieve (can be custom field name)."
|
11824 |
msgstr ""
|
11825 |
|
11826 |
-
#: includes/settings/wcj-settings-export.php:
|
11827 |
msgid ""
|
11828 |
"If it's set to \"Shortcode\", use Booster's Orders/Products shortcodes here."
|
11829 |
msgstr ""
|
11830 |
|
11831 |
-
#: includes/settings/wcj-settings-export.php:
|
11832 |
msgid "Export Products Options"
|
11833 |
msgstr ""
|
11834 |
|
11835 |
-
#: includes/settings/wcj-settings-export.php:
|
11836 |
msgid "Export Products Fields"
|
11837 |
msgstr ""
|
11838 |
|
11839 |
-
#: includes/settings/wcj-settings-export.php:
|
11840 |
#: includes/settings/wcj-settings-free-price.php:14
|
11841 |
#: includes/settings/wcj-settings-order-quantities.php:56
|
11842 |
msgid "Variable Products"
|
11843 |
msgstr ""
|
11844 |
|
11845 |
-
#: includes/settings/wcj-settings-export.php:
|
11846 |
msgid "Export variable (main) product only"
|
11847 |
msgstr ""
|
11848 |
|
11849 |
-
#: includes/settings/wcj-settings-export.php:
|
11850 |
msgid "Export variation products only"
|
11851 |
msgstr ""
|
11852 |
|
11853 |
-
#: includes/settings/wcj-settings-export.php:
|
11854 |
msgid "Export variable (main) and variation products"
|
11855 |
msgstr ""
|
11856 |
|
11857 |
-
#: includes/settings/wcj-settings-export.php:
|
11858 |
msgid "Additional Export Products Fields"
|
11859 |
msgstr ""
|
11860 |
|
11861 |
-
#: includes/settings/wcj-settings-export.php:
|
11862 |
msgid ""
|
11863 |
"If field's \"Type\" is set to \"Meta\", enter product meta key to retrieve "
|
11864 |
"(can be custom field name)."
|
11865 |
msgstr ""
|
11866 |
|
11867 |
-
#: includes/settings/wcj-settings-export.php:
|
11868 |
msgid "If it's set to \"Shortcode\", use Booster's Products shortcodes here."
|
11869 |
msgstr ""
|
11870 |
|
11871 |
-
#: includes/settings/wcj-settings-export.php:
|
11872 |
msgid "Export Customers Options"
|
11873 |
msgstr ""
|
11874 |
|
11875 |
-
#: includes/settings/wcj-settings-export.php:
|
11876 |
msgid "Export Customers Fields"
|
11877 |
msgstr ""
|
11878 |
|
11879 |
-
#: includes/settings/wcj-settings-export.php:
|
11880 |
msgid "Export Customers from Orders Options"
|
11881 |
msgstr ""
|
11882 |
|
11883 |
-
#: includes/settings/wcj-settings-export.php:
|
11884 |
msgid "Export Customers from Orders Fields"
|
11885 |
msgstr ""
|
11886 |
|
@@ -12290,8 +12308,8 @@ msgstr ""
|
|
12290 |
|
12291 |
#: includes/settings/wcj-settings-global-discount.php:201
|
12292 |
#: includes/settings/wcj-settings-multicurrency-base-price.php:76
|
12293 |
-
#: includes/settings/wcj-settings-multicurrency.php:
|
12294 |
-
#: includes/settings/wcj-settings-price-by-country.php:
|
12295 |
#: includes/settings/wcj-settings-price-by-user-role.php:111
|
12296 |
#: includes/settings/wcj-settings-product-addons.php:258
|
12297 |
#: includes/settings/wcj-settings-product-price-by-formula.php:100
|
@@ -12300,8 +12318,8 @@ msgstr ""
|
|
12300 |
|
12301 |
#: includes/settings/wcj-settings-global-discount.php:202
|
12302 |
#: includes/settings/wcj-settings-multicurrency-base-price.php:77
|
12303 |
-
#: includes/settings/wcj-settings-multicurrency.php:
|
12304 |
-
#: includes/settings/wcj-settings-price-by-country.php:
|
12305 |
#: includes/settings/wcj-settings-price-by-user-role.php:112
|
12306 |
#: includes/settings/wcj-settings-product-addons.php:259
|
12307 |
#: includes/settings/wcj-settings-product-price-by-formula.php:101
|
@@ -12520,15 +12538,18 @@ msgid "Convert Product Prices in Admin Products List"
|
|
12520 |
msgstr ""
|
12521 |
|
12522 |
#: includes/settings/wcj-settings-multicurrency-base-price.php:68
|
12523 |
-
#: includes/settings/wcj-settings-multicurrency.php:
|
12524 |
-
#: includes/settings/wcj-settings-price-by-country.php:
|
|
|
12525 |
msgid "Save Calculated Products Prices"
|
12526 |
msgstr ""
|
12527 |
|
12528 |
#: includes/settings/wcj-settings-multicurrency-base-price.php:87
|
12529 |
#: includes/settings/wcj-settings-multicurrency.php:115
|
|
|
|
|
12530 |
#: includes/settings/wcj-settings-payment-gateways-min-max.php:65
|
12531 |
-
#: includes/settings/wcj-settings-price-by-country.php:
|
12532 |
#: includes/settings/wcj-settings-product-msrp.php:105
|
12533 |
msgid "Compatibility"
|
12534 |
msgstr ""
|
@@ -12662,27 +12683,12 @@ msgid ""
|
|
12662 |
"Disable it if you have some other plugin already converting it like WPML."
|
12663 |
msgstr ""
|
12664 |
|
12665 |
-
#: includes/settings/wcj-settings-multicurrency.php:120
|
12666 |
-
msgid "Prices and Currencies by Country Module"
|
12667 |
-
msgstr ""
|
12668 |
-
|
12669 |
-
#: includes/settings/wcj-settings-multicurrency.php:122
|
12670 |
-
msgid "Switches currency according to country."
|
12671 |
-
msgstr ""
|
12672 |
-
|
12673 |
-
#: includes/settings/wcj-settings-multicurrency.php:122
|
12674 |
-
#, php-format
|
12675 |
-
msgid ""
|
12676 |
-
"Once Enabled, please set all the currency values from the <a href=\"%s"
|
12677 |
-
"\">Country</a> module as 1. The MultiCurrency module values will be used "
|
12678 |
-
"instead."
|
12679 |
-
msgstr ""
|
12680 |
-
|
12681 |
#: includes/settings/wcj-settings-multicurrency.php:128
|
12682 |
msgid "WooCommerce Fixed Coupons"
|
12683 |
msgstr ""
|
12684 |
|
12685 |
#: includes/settings/wcj-settings-multicurrency.php:130
|
|
|
12686 |
msgid ""
|
12687 |
"When a fixed coupon is used its value changes according to the current "
|
12688 |
"currency."
|
@@ -12770,56 +12776,73 @@ msgid ""
|
|
12770 |
"plugin."
|
12771 |
msgstr ""
|
12772 |
|
12773 |
-
#: includes/settings/wcj-settings-multicurrency.php:
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
12774 |
msgid "Additional Price Filters"
|
12775 |
msgstr ""
|
12776 |
|
12777 |
-
#: includes/settings/wcj-settings-multicurrency.php:
|
12778 |
msgid ""
|
12779 |
"Add additional price filters here. One per line. Leave blank if not sure."
|
12780 |
msgstr ""
|
12781 |
|
12782 |
-
#: includes/settings/wcj-settings-multicurrency.php:
|
12783 |
msgid "Save Prices on Exchange Update"
|
12784 |
msgstr ""
|
12785 |
|
12786 |
-
#: includes/settings/wcj-settings-multicurrency.php:
|
12787 |
msgid ""
|
12788 |
"Save min and max prices on exchange rate update, via background processing."
|
12789 |
msgstr ""
|
12790 |
|
12791 |
-
#: includes/settings/wcj-settings-multicurrency.php:
|
12792 |
msgid ""
|
12793 |
"All products with \"per product\" options registered related to the currency "
|
12794 |
"will be affected."
|
12795 |
msgstr ""
|
12796 |
|
12797 |
-
#: includes/settings/wcj-settings-multicurrency.php:
|
12798 |
msgid ""
|
12799 |
"One currency probably should be set to current (original) shop currency with "
|
12800 |
"an exchange rate of 1."
|
12801 |
msgstr ""
|
12802 |
|
12803 |
-
#: includes/settings/wcj-settings-multicurrency.php:
|
12804 |
msgid ""
|
12805 |
"Press Save changes after setting this option, so new settings fields will be "
|
12806 |
"added."
|
12807 |
msgstr ""
|
12808 |
|
12809 |
-
#: includes/settings/wcj-settings-multicurrency.php:
|
12810 |
msgid "Role Defaults"
|
12811 |
msgstr ""
|
12812 |
|
12813 |
-
#: includes/settings/wcj-settings-multicurrency.php:
|
12814 |
msgid "Roles"
|
12815 |
msgstr ""
|
12816 |
|
12817 |
-
#: includes/settings/wcj-settings-multicurrency.php:
|
12818 |
#: includes/settings/wcj-settings-wholesale-price.php:237
|
12819 |
msgid "Save settings after you change this option. Leave blank to disable."
|
12820 |
msgstr ""
|
12821 |
|
12822 |
-
#: includes/settings/wcj-settings-multicurrency.php:
|
12823 |
msgid "No default currency"
|
12824 |
msgstr ""
|
12825 |
|
@@ -13501,7 +13524,22 @@ msgstr ""
|
|
13501 |
msgid "Redirect back to Cart page"
|
13502 |
msgstr ""
|
13503 |
|
13504 |
-
#: includes/settings/wcj-settings-order-min-amount.php:
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
13505 |
msgid "Order Minimum Amount by User Role"
|
13506 |
msgstr ""
|
13507 |
|
@@ -13654,19 +13692,31 @@ msgstr ""
|
|
13654 |
msgid "Set to zero to enable numbering for all orders."
|
13655 |
msgstr ""
|
13656 |
|
13657 |
-
#: includes/settings/wcj-settings-order-numbers.php:
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
13658 |
msgid "Orders Renumerate Tool Options"
|
13659 |
msgstr ""
|
13660 |
|
13661 |
-
#: includes/settings/wcj-settings-order-numbers.php:
|
13662 |
msgid "Sort by"
|
13663 |
msgstr ""
|
13664 |
|
13665 |
-
#: includes/settings/wcj-settings-order-numbers.php:
|
13666 |
msgid "Last modified date"
|
13667 |
msgstr ""
|
13668 |
|
13669 |
-
#: includes/settings/wcj-settings-order-numbers.php:
|
13670 |
msgid "Sort Ascending or Descending"
|
13671 |
msgstr ""
|
13672 |
|
@@ -14567,7 +14617,7 @@ msgid "Replace"
|
|
14567 |
msgstr ""
|
14568 |
|
14569 |
#: includes/settings/wcj-settings-pdf-invoicing-display.php:25
|
14570 |
-
#: includes/settings/wcj-settings-price-by-country.php:
|
14571 |
#: includes/settings/wcj-settings-shipping.php:30
|
14572 |
msgid "Admin Title"
|
14573 |
msgstr ""
|
@@ -15031,122 +15081,124 @@ msgid "Leave empty to show to all user roles."
|
|
15031 |
msgstr ""
|
15032 |
|
15033 |
#: includes/settings/wcj-settings-price-by-country.php:132
|
15034 |
-
msgid "Price Filter Widget and Sorting by Price Support"
|
15035 |
-
msgstr ""
|
15036 |
-
|
15037 |
-
#: includes/settings/wcj-settings-price-by-country.php:135
|
15038 |
-
msgid "Recalculate price filter widget and sorting by price product prices"
|
15039 |
-
msgstr ""
|
15040 |
-
|
15041 |
-
#: includes/settings/wcj-settings-price-by-country.php:141
|
15042 |
msgid "Add Countries Flags Images to Select Drop-Down Box"
|
15043 |
msgstr ""
|
15044 |
|
15045 |
-
#: includes/settings/wcj-settings-price-by-country.php:
|
15046 |
msgid ""
|
15047 |
"If you are using [wcj_country_select_drop_down_list] shortcode or \"Booster: "
|
15048 |
"Country Switcher\" widget, this will add country flags to these select boxes."
|
15049 |
msgstr ""
|
15050 |
|
15051 |
-
#: includes/settings/wcj-settings-price-by-country.php:
|
15052 |
#: includes/settings/wcj-settings-price-by-user-role.php:61
|
15053 |
msgid "Search Engine Bots"
|
15054 |
msgstr ""
|
15055 |
|
15056 |
-
#: includes/settings/wcj-settings-price-by-country.php:
|
15057 |
msgid "Disable Price by Country for Bots"
|
15058 |
msgstr ""
|
15059 |
|
15060 |
-
#: includes/settings/wcj-settings-price-by-country.php:
|
15061 |
-
msgid "
|
15062 |
msgstr ""
|
15063 |
|
15064 |
-
#: includes/settings/wcj-settings-price-by-country.php:
|
15065 |
-
msgid ""
|
15066 |
-
|
15067 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
15068 |
msgstr ""
|
15069 |
|
15070 |
-
#: includes/settings/wcj-settings-price-by-country.php:
|
|
|
|
|
|
|
|
|
15071 |
msgid "Woo Discount Rules"
|
15072 |
msgstr ""
|
15073 |
|
15074 |
-
#: includes/settings/wcj-settings-price-by-country.php:
|
15075 |
#, php-format
|
15076 |
msgid ""
|
15077 |
"Adds compatibility with <a href=\"%s\" target=\"_blank\">Woo Discount Rules</"
|
15078 |
"a> plugin."
|
15079 |
msgstr ""
|
15080 |
|
15081 |
-
#: includes/settings/wcj-settings-price-by-country.php:
|
15082 |
#, php-format
|
15083 |
msgid ""
|
15084 |
"If it doesn't work properly try to enable <a href=\"%s\">redirect to the "
|
15085 |
-
"cart page after successful addition</a> option"
|
15086 |
msgstr ""
|
15087 |
|
15088 |
-
#: includes/settings/wcj-settings-price-by-country.php:
|
15089 |
msgid "User IP Detection Method"
|
15090 |
msgstr ""
|
15091 |
|
15092 |
-
#: includes/settings/wcj-settings-price-by-country.php:
|
15093 |
msgid "Price Format Method"
|
15094 |
msgstr ""
|
15095 |
|
15096 |
-
#: includes/settings/wcj-settings-price-by-country.php:
|
15097 |
msgid "The moment \"Pretty Price\" and \"Rounding\" will be applied"
|
15098 |
msgstr ""
|
15099 |
|
15100 |
-
#: includes/settings/wcj-settings-price-by-country.php:
|
15101 |
msgid "get_price()"
|
15102 |
msgstr ""
|
15103 |
|
15104 |
-
#: includes/settings/wcj-settings-price-by-country.php:
|
15105 |
msgid "wc_get_price_to_display()"
|
15106 |
msgstr ""
|
15107 |
|
15108 |
-
#: includes/settings/wcj-settings-price-by-country.php:
|
15109 |
msgid "Country Groups"
|
15110 |
msgstr ""
|
15111 |
|
15112 |
-
#: includes/settings/wcj-settings-price-by-country.php:
|
15113 |
msgid "Countries Selection"
|
15114 |
msgstr ""
|
15115 |
|
15116 |
-
#: includes/settings/wcj-settings-price-by-country.php:
|
15117 |
msgid "Choose how do you want to enter countries groups in admin."
|
15118 |
msgstr ""
|
15119 |
|
15120 |
-
#: includes/settings/wcj-settings-price-by-country.php:
|
15121 |
msgid "Comma separated list"
|
15122 |
msgstr ""
|
15123 |
|
15124 |
-
#: includes/settings/wcj-settings-price-by-country.php:
|
15125 |
msgid "Multiselect"
|
15126 |
msgstr ""
|
15127 |
|
15128 |
-
#: includes/settings/wcj-settings-price-by-country.php:
|
15129 |
#: includes/settings/wcj-settings-product-by-condition.php:82
|
15130 |
#: includes/settings/wcj-settings-related-products.php:164
|
15131 |
msgid "Chosen select"
|
15132 |
msgstr ""
|
15133 |
|
15134 |
-
#: includes/settings/wcj-settings-price-by-country.php:
|
15135 |
msgid "Autogenerate Groups"
|
15136 |
msgstr ""
|
15137 |
|
15138 |
-
#: includes/settings/wcj-settings-price-by-country.php:
|
15139 |
msgid "Groups Number"
|
15140 |
msgstr ""
|
15141 |
|
15142 |
-
#: includes/settings/wcj-settings-price-by-country.php:
|
15143 |
msgid ""
|
15144 |
"Countries. List of comma separated country codes.<br>For country codes and "
|
15145 |
"predefined sets visit <a href=\"https://booster.io/country-codes/\" target="
|
15146 |
"\"_blank\">https://booster.io/country-codes/</a>"
|
15147 |
msgstr ""
|
15148 |
|
15149 |
-
#: includes/settings/wcj-settings-price-by-country.php:
|
15150 |
msgid "Multiply Price by"
|
15151 |
msgstr ""
|
15152 |
|
@@ -16824,28 +16876,40 @@ msgstr ""
|
|
16824 |
msgid "Adds a MSRP field that will be displayed on the product archive."
|
16825 |
msgstr ""
|
16826 |
|
16827 |
-
#: includes/settings/wcj-settings-product-msrp.php:
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
16828 |
msgid "Template Variable Formulas"
|
16829 |
msgstr ""
|
16830 |
|
16831 |
-
#: includes/settings/wcj-settings-product-msrp.php:
|
16832 |
msgid "You Save"
|
16833 |
msgstr ""
|
16834 |
|
16835 |
-
#: includes/settings/wcj-settings-product-msrp.php:
|
16836 |
-
#: includes/settings/wcj-settings-product-msrp.php:
|
16837 |
msgid "Variable: "
|
16838 |
msgstr ""
|
16839 |
|
16840 |
-
#: includes/settings/wcj-settings-product-msrp.php:
|
16841 |
msgid "%you_save%"
|
16842 |
msgstr ""
|
16843 |
|
16844 |
-
#: includes/settings/wcj-settings-product-msrp.php:
|
16845 |
msgid "You Save Percent"
|
16846 |
msgstr ""
|
16847 |
|
16848 |
-
#: includes/settings/wcj-settings-product-msrp.php:
|
16849 |
msgid "%you_save_percent%"
|
16850 |
msgstr ""
|
16851 |
|
@@ -17267,6 +17331,7 @@ msgid "Template - After Form"
|
|
17267 |
msgstr ""
|
17268 |
|
17269 |
#: includes/settings/wcj-settings-products-per-page.php:75
|
|
|
17270 |
#: includes/widgets/class-wcj-widget-multicurrency.php:88
|
17271 |
msgid "Form Method"
|
17272 |
msgstr ""
|
@@ -19099,48 +19164,58 @@ msgid ""
|
|
19099 |
"necessary to enable MultiCurrency module"
|
19100 |
msgstr ""
|
19101 |
|
19102 |
-
#: includes/settings/wcj-settings-wpml.php:
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
19103 |
msgid "WPML Language Configuration File Options"
|
19104 |
msgstr ""
|
19105 |
|
19106 |
-
#: includes/settings/wcj-settings-wpml.php:
|
19107 |
#, php-format
|
19108 |
msgid "Options for regenerating %s file."
|
19109 |
msgstr ""
|
19110 |
|
19111 |
-
#: includes/settings/wcj-settings-wpml.php:
|
19112 |
msgid "Automatically Regenerate"
|
19113 |
msgstr ""
|
19114 |
|
19115 |
-
#: includes/settings/wcj-settings-wpml.php:
|
19116 |
#, php-format
|
19117 |
msgid "Automatically regenerate %s file on each Booster version update."
|
19118 |
msgstr ""
|
19119 |
|
19120 |
-
#: includes/settings/wcj-settings-wpml.php:
|
19121 |
msgid "Modules to Skip"
|
19122 |
msgstr ""
|
19123 |
|
19124 |
-
#: includes/settings/wcj-settings-wpml.php:
|
19125 |
msgid ""
|
19126 |
"Select modules, which options you wish to exclude from wpml-config.xml file."
|
19127 |
msgstr ""
|
19128 |
|
19129 |
-
#: includes/settings/wcj-settings-wpml.php:
|
19130 |
msgid "Option IDs to Skip"
|
19131 |
msgstr ""
|
19132 |
|
19133 |
-
#: includes/settings/wcj-settings-wpml.php:
|
19134 |
msgid "Select options, which you wish to exclude from wpml-config.xml file."
|
19135 |
msgstr ""
|
19136 |
|
19137 |
-
#: includes/settings/wcj-settings-wpml.php:
|
19138 |
#, php-format
|
19139 |
msgid "Full or part of option ID. Separated by vertical bar %s."
|
19140 |
msgstr ""
|
19141 |
|
19142 |
-
#: includes/settings/wcj-settings-wpml.php:
|
19143 |
-
#: includes/settings/wcj-settings-wpml.php:
|
19144 |
msgid "Regenerate wpml-config.xml file"
|
19145 |
msgstr ""
|
19146 |
|
@@ -19273,7 +19348,7 @@ msgstr ""
|
|
19273 |
msgid "Attribute \"name\" is required!"
|
19274 |
msgstr ""
|
19275 |
|
19276 |
-
#: includes/shortcodes/class-wcj-shortcodes-orders.php:
|
19277 |
#, php-format
|
19278 |
msgid "Refund #%1$s - %2$s"
|
19279 |
msgstr ""
|
@@ -19471,10 +19546,25 @@ msgstr ""
|
|
19471 |
msgid "Customer Country Detection Method must include \"by user selection\"!"
|
19472 |
msgstr ""
|
19473 |
|
19474 |
-
#: includes/widgets/class-wcj-widget-country-switcher.php:
|
19475 |
msgid "Replace with currency"
|
19476 |
msgstr ""
|
19477 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
19478 |
#: includes/widgets/class-wcj-widget-left-to-free-shipping.php:27
|
19479 |
msgid "Booster - Left to Free Shipping"
|
19480 |
msgstr ""
|
@@ -19503,18 +19593,6 @@ msgstr ""
|
|
19503 |
msgid "Link list"
|
19504 |
msgstr ""
|
19505 |
|
19506 |
-
#: includes/widgets/class-wcj-widget-multicurrency.php:89
|
19507 |
-
msgid "HTML form method for \"Drop down\" and \"Radio list\" types."
|
19508 |
-
msgstr ""
|
19509 |
-
|
19510 |
-
#: includes/widgets/class-wcj-widget-multicurrency.php:94
|
19511 |
-
msgid "Post"
|
19512 |
-
msgstr ""
|
19513 |
-
|
19514 |
-
#: includes/widgets/class-wcj-widget-multicurrency.php:95
|
19515 |
-
msgid "Get"
|
19516 |
-
msgstr ""
|
19517 |
-
|
19518 |
#: includes/widgets/class-wcj-widget-multicurrency.php:101
|
19519 |
msgid "HTML class for \"Drop down\" type."
|
19520 |
msgstr ""
|
43 |
#: includes/class-wcj-payment-gateways.php:91
|
44 |
#: includes/class-wcj-track-users.php:163
|
45 |
#: includes/class-wcj-track-users.php:251
|
46 |
+
#: includes/classes/class-wcj-module.php:555
|
47 |
+
#: includes/classes/class-wcj-module.php:755
|
48 |
+
#: includes/settings/wcj-settings-price-by-country.php:214
|
49 |
msgid "Booster"
|
50 |
msgstr ""
|
51 |
|
98 |
#: includes/admin/class-wc-settings-jetpack.php:217
|
99 |
#: includes/class-wcj-admin-bar.php:384
|
100 |
#: includes/settings/wcj-settings-emails-verification.php:146
|
101 |
+
#: includes/settings/wcj-settings-price-by-country.php:213
|
102 |
msgid "WooCommerce"
|
103 |
msgstr ""
|
104 |
|
187 |
|
188 |
#: includes/admin/class-wc-settings-jetpack.php:416
|
189 |
#: includes/class-wcj-admin-bar.php:172
|
190 |
+
#: includes/classes/class-wcj-module.php:895
|
191 |
msgid "Documentation"
|
192 |
msgstr ""
|
193 |
|
295 |
msgstr ""
|
296 |
|
297 |
#: includes/admin/class-wcj-settings-custom-fields.php:260
|
298 |
+
#: includes/settings/wcj-settings-wpml.php:97
|
299 |
msgid "To use tools, module must be enabled."
|
300 |
msgstr ""
|
301 |
|
515 |
|
516 |
#: includes/class-wcj-admin-bar.php:245 includes/class-wcj-admin-bar.php:288
|
517 |
#: includes/class-wcj-admin-bar.php:632
|
518 |
+
#: includes/classes/class-wcj-module.php:728
|
519 |
+
#: includes/settings/wcj-settings-wpml.php:91
|
520 |
msgid "Tools"
|
521 |
msgstr ""
|
522 |
|
854 |
msgstr ""
|
855 |
|
856 |
#: includes/class-wcj-admin-tools.php:172
|
857 |
+
#: includes/settings/wcj-settings-export.php:166
|
858 |
+
#: includes/settings/wcj-settings-export.php:245
|
859 |
msgid "Product Meta"
|
860 |
msgstr ""
|
861 |
|
862 |
#: includes/class-wcj-admin-tools.php:189
|
863 |
+
#: includes/settings/wcj-settings-export.php:95
|
864 |
+
#: includes/settings/wcj-settings-export.php:163
|
865 |
msgid "Order Meta"
|
866 |
msgstr ""
|
867 |
|
1438 |
msgstr ""
|
1439 |
|
1440 |
#: includes/class-wcj-custom-php.php:32
|
1441 |
+
#: includes/settings/wcj-settings-multicurrency.php:231
|
1442 |
#: includes/settings/wcj-settings-offer-price.php:84
|
1443 |
#, php-format
|
1444 |
msgid "E.g.: %s"
|
1762 |
msgid "Export Products."
|
1763 |
msgstr ""
|
1764 |
|
1765 |
+
#: includes/class-wcj-export-import.php:222
|
1766 |
+
#: includes/class-wcj-export-import.php:228
|
1767 |
msgid "Filter by Billing Country"
|
1768 |
msgstr ""
|
1769 |
|
1770 |
+
#: includes/class-wcj-export-import.php:223
|
1771 |
msgid "Filter by Product Title"
|
1772 |
msgstr ""
|
1773 |
|
1774 |
+
#: includes/class-wcj-export-import.php:242
|
1775 |
#: includes/reports/wcj-class-reports-sales-daily.php:189
|
1776 |
#: includes/reports/wcj-class-reports-sales-gateways.php:137
|
1777 |
#: includes/settings/wcj-settings-orders.php:45
|
1778 |
msgid "Filter"
|
1779 |
msgstr ""
|
1780 |
|
1781 |
+
#: includes/class-wcj-export-import.php:262
|
1782 |
#: includes/class-wcj-track-users.php:36
|
1783 |
msgid "All time"
|
1784 |
msgstr ""
|
1785 |
|
1786 |
+
#: includes/class-wcj-export-import.php:276
|
1787 |
msgid "Custom:"
|
1788 |
msgstr ""
|
1789 |
|
1790 |
+
#: includes/class-wcj-export-import.php:281
|
1791 |
msgid "Go"
|
1792 |
msgstr ""
|
1793 |
|
1794 |
+
#: includes/class-wcj-export-import.php:301
|
1795 |
msgid "Download CSV"
|
1796 |
msgstr ""
|
1797 |
|
1798 |
+
#: includes/class-wcj-export-import.php:304
|
1799 |
msgid "Download XML"
|
1800 |
msgstr ""
|
1801 |
|
1802 |
+
#: includes/class-wcj-export-import.php:306
|
1803 |
msgid "Filter by All Fields"
|
1804 |
msgstr ""
|
1805 |
|
1872 |
#: includes/class-wcj-sku.php:667
|
1873 |
#: includes/reports/wcj-class-reports-sales.php:196
|
1874 |
#: includes/settings/wcj-settings-cross-sells.php:43
|
1875 |
+
#: includes/settings/wcj-settings-order-numbers.php:168
|
1876 |
#: includes/settings/wcj-settings-product-by-user.php:161
|
1877 |
#: includes/settings/wcj-settings-products-xml.php:221
|
1878 |
#: includes/settings/wcj-settings-related-products.php:30
|
1929 |
#: includes/settings/wcj-settings-email-options.php:20
|
1930 |
#: includes/settings/wcj-settings-eu-vat-number.php:181
|
1931 |
#: includes/settings/wcj-settings-eu-vat-number.php:217
|
1932 |
+
#: includes/settings/wcj-settings-export.php:36
|
1933 |
#: includes/settings/wcj-settings-order-custom-statuses.php:29
|
1934 |
#: includes/settings/wcj-settings-order-custom-statuses.php:37
|
1935 |
#: includes/settings/wcj-settings-order-custom-statuses.php:80
|
2156 |
"and <a href=\"%3$s\">edit your password and account details</a>."
|
2157 |
msgstr ""
|
2158 |
|
2159 |
+
#: includes/class-wcj-my-account.php:415
|
2160 |
msgid "User role"
|
2161 |
msgstr ""
|
2162 |
|
2163 |
+
#: includes/class-wcj-my-account.php:495
|
2164 |
#: includes/class-wcj-product-bulk-meta-editor.php:279
|
2165 |
#: includes/class-wcj-product-by-user.php:206
|
2166 |
#: includes/class-wcj-purchase-data.php:94
|
2167 |
#: includes/class-wcj-track-users.php:334
|
2168 |
+
#: includes/classes/class-wcj-module.php:864
|
2169 |
#: includes/functions/wcj-functions-general.php:189
|
2170 |
#: includes/functions/wcj-functions-html.php:117
|
2171 |
#: includes/reports/wcj-class-reports-monthly-sales.php:351
|
2191 |
#: includes/class-wcj-offer-price.php:164
|
2192 |
#: includes/functions/wcj-functions-reports.php:21
|
2193 |
#: includes/settings/wcj-settings-cross-sells.php:44
|
2194 |
+
#: includes/settings/wcj-settings-order-numbers.php:169
|
2195 |
#: includes/settings/wcj-settings-products-xml.php:220
|
2196 |
#: includes/settings/wcj-settings-related-products.php:23
|
2197 |
#: includes/settings/wcj-settings-upsells.php:44
|
2303 |
msgid "Make an offer"
|
2304 |
msgstr ""
|
2305 |
|
2306 |
+
#: includes/class-wcj-offer-price.php:523
|
2307 |
#: includes/settings/wcj-settings-offer-price.php:340
|
2308 |
#, php-format
|
2309 |
msgid "Product: %s"
|
2310 |
msgstr ""
|
2311 |
|
2312 |
+
#: includes/class-wcj-offer-price.php:524
|
2313 |
#: includes/settings/wcj-settings-offer-price.php:341
|
2314 |
#, php-format
|
2315 |
msgid "Offered price: %s"
|
2316 |
msgstr ""
|
2317 |
|
2318 |
+
#: includes/class-wcj-offer-price.php:525
|
2319 |
#: includes/settings/wcj-settings-offer-price.php:342
|
2320 |
#, php-format
|
2321 |
msgid "From: %s %s"
|
2322 |
msgstr ""
|
2323 |
|
2324 |
+
#: includes/class-wcj-offer-price.php:526
|
2325 |
#: includes/settings/wcj-settings-offer-price.php:343
|
2326 |
#, php-format
|
2327 |
msgid "Message: %s"
|
2328 |
msgstr ""
|
2329 |
|
2330 |
+
#: includes/class-wcj-offer-price.php:540
|
2331 |
#: includes/settings/wcj-settings-offer-price.php:331
|
2332 |
msgid "Price Offer"
|
2333 |
msgstr ""
|
2334 |
|
2335 |
+
#: includes/class-wcj-offer-price.php:550
|
2336 |
#: includes/settings/wcj-settings-offer-price.php:262
|
2337 |
msgid "Your price offer has been sent."
|
2338 |
msgstr ""
|
2479 |
msgid "Tool renumerates all orders."
|
2480 |
msgstr ""
|
2481 |
|
2482 |
+
#: includes/class-wcj-order-numbers.php:316
|
2483 |
msgid "Orders successfully renumerated!"
|
2484 |
msgstr ""
|
2485 |
|
2486 |
+
#: includes/class-wcj-order-numbers.php:319
|
2487 |
#, php-format
|
2488 |
msgid "Sequential number generation is enabled. Next order number will be %s."
|
2489 |
msgstr ""
|
2490 |
|
2491 |
+
#: includes/class-wcj-order-numbers.php:328
|
2492 |
#, php-format
|
2493 |
msgid ""
|
2494 |
"Press the button below to renumerate all existing orders starting from order "
|
2495 |
"counter settings in <a href=\"%s\">Order Numbers</a> module."
|
2496 |
msgstr ""
|
2497 |
|
2498 |
+
#: includes/class-wcj-order-numbers.php:335
|
2499 |
msgid "Renumerate orders"
|
2500 |
msgstr ""
|
2501 |
|
2764 |
msgid "You are not allowed to view the invoice."
|
2765 |
msgstr ""
|
2766 |
|
2767 |
+
#: includes/class-wcj-price-by-country.php:35
|
2768 |
msgid "Prices and Currencies by Country"
|
2769 |
msgstr ""
|
2770 |
|
2771 |
+
#: includes/class-wcj-price-by-country.php:36
|
2772 |
msgid "Change product price and currency automatically by customer's country."
|
2773 |
msgstr ""
|
2774 |
|
2775 |
+
#: includes/class-wcj-price-by-country.php:152
|
2776 |
msgid "Price filter widget product prices recalculated."
|
2777 |
msgstr ""
|
2778 |
|
2850 |
#: includes/class-wcj-product-info.php:235
|
2851 |
#: includes/class-wcj-shipping-by-products.php:195
|
2852 |
#: includes/class-wcj-shipping-options.php:121
|
2853 |
+
#: includes/classes/class-wcj-module.php:174
|
2854 |
+
#: includes/classes/class-wcj-module.php:195
|
2855 |
#: includes/settings/meta-box/wcj-settings-meta-box-product-add-to-cart.php:68
|
2856 |
#: includes/settings/meta-box/wcj-settings-meta-box-product-addons.php:73
|
2857 |
#: includes/settings/meta-box/wcj-settings-meta-box-related-products.php:19
|
2911 |
#: includes/settings/wcj-settings-emails-verification.php:36
|
2912 |
#: includes/settings/wcj-settings-emails-verification.php:43
|
2913 |
#: includes/settings/wcj-settings-eu-vat-number.php:264
|
2914 |
+
#: includes/settings/wcj-settings-export.php:28
|
2915 |
#: includes/settings/wcj-settings-general.php:21
|
2916 |
#: includes/settings/wcj-settings-general.php:73
|
2917 |
#: includes/settings/wcj-settings-general.php:146
|
2932 |
#: includes/settings/wcj-settings-multicurrency-base-price.php:102
|
2933 |
#: includes/settings/wcj-settings-multicurrency.php:39
|
2934 |
#: includes/settings/wcj-settings-multicurrency.php:103
|
|
|
2935 |
#: includes/settings/wcj-settings-multicurrency.php:129
|
2936 |
#: includes/settings/wcj-settings-multicurrency.php:138
|
2937 |
#: includes/settings/wcj-settings-multicurrency.php:146
|
2942 |
#: includes/settings/wcj-settings-multicurrency.php:186
|
2943 |
#: includes/settings/wcj-settings-multicurrency.php:195
|
2944 |
#: includes/settings/wcj-settings-multicurrency.php:204
|
2945 |
+
#: includes/settings/wcj-settings-multicurrency.php:213
|
2946 |
#: includes/settings/wcj-settings-multicurrency.php:246
|
2947 |
+
#: includes/settings/wcj-settings-multicurrency.php:255
|
2948 |
#: includes/settings/wcj-settings-my-account.php:29
|
2949 |
#: includes/settings/wcj-settings-my-account.php:87
|
2950 |
#: includes/settings/wcj-settings-my-account.php:104
|
2952 |
#: includes/settings/wcj-settings-order-custom-statuses.php:45
|
2953 |
#: includes/settings/wcj-settings-order-custom-statuses.php:55
|
2954 |
#: includes/settings/wcj-settings-order-custom-statuses.php:98
|
2955 |
+
#: includes/settings/wcj-settings-order-min-amount.php:117
|
2956 |
#: includes/settings/wcj-settings-order-numbers.php:97
|
2957 |
#: includes/settings/wcj-settings-order-numbers.php:105
|
2958 |
#: includes/settings/wcj-settings-order-numbers.php:112
|
2959 |
#: includes/settings/wcj-settings-order-numbers.php:119
|
2960 |
+
#: includes/settings/wcj-settings-order-numbers.php:146
|
2961 |
#: includes/settings/wcj-settings-order-quantities.php:23
|
2962 |
#: includes/settings/wcj-settings-order-quantities.php:42
|
2963 |
#: includes/settings/wcj-settings-order-quantities.php:49
|
2988 |
#: includes/settings/wcj-settings-price-by-country.php:90
|
2989 |
#: includes/settings/wcj-settings-price-by-country.php:106
|
2990 |
#: includes/settings/wcj-settings-price-by-country.php:133
|
2991 |
+
#: includes/settings/wcj-settings-price-by-country.php:157
|
2992 |
+
#: includes/settings/wcj-settings-price-by-country.php:167
|
2993 |
+
#: includes/settings/wcj-settings-price-by-country.php:176
|
2994 |
+
#: includes/settings/wcj-settings-price-by-country.php:185
|
2995 |
+
#: includes/settings/wcj-settings-price-by-country.php:231
|
2996 |
#: includes/settings/wcj-settings-price-by-user-role.php:19
|
2997 |
#: includes/settings/wcj-settings-price-by-user-role.php:46
|
2998 |
#: includes/settings/wcj-settings-price-by-user-role.php:93
|
3044 |
#: includes/settings/wcj-settings-product-open-pricing.php:109
|
3045 |
#: includes/settings/wcj-settings-product-open-pricing.php:140
|
3046 |
#: includes/settings/wcj-settings-product-price-by-formula.php:30
|
3047 |
+
#: includes/settings/wcj-settings-product-price-by-formula.php:109
|
3048 |
#: includes/settings/wcj-settings-product-tabs.php:43
|
3049 |
#: includes/settings/wcj-settings-product-tabs.php:232
|
3050 |
#: includes/settings/wcj-settings-product-tabs.php:240
|
3093 |
#: includes/settings/wcj-settings-wholesale-price.php:63
|
3094 |
#: includes/settings/wcj-settings-wpml.php:28
|
3095 |
#: includes/settings/wcj-settings-wpml.php:35
|
3096 |
+
#: includes/settings/wcj-settings-wpml.php:44
|
3097 |
+
#: includes/settings/wcj-settings-wpml.php:62
|
3098 |
msgid "Enable"
|
3099 |
msgstr ""
|
3100 |
|
3334 |
#: includes/settings/wcj-settings-admin-orders-list.php:71
|
3335 |
#: includes/settings/wcj-settings-admin-products-list.php:56
|
3336 |
#: includes/settings/wcj-settings-checkout-fees.php:76
|
3337 |
+
#: includes/settings/wcj-settings-export.php:100
|
3338 |
+
#: includes/settings/wcj-settings-export.php:171
|
3339 |
+
#: includes/settings/wcj-settings-export.php:250
|
3340 |
#: includes/settings/wcj-settings-global-discount.php:74
|
3341 |
msgid "Value"
|
3342 |
msgstr ""
|
3494 |
msgstr ""
|
3495 |
|
3496 |
#: includes/class-wcj-product-by-country.php:30
|
3497 |
+
#: includes/widgets/class-wcj-widget-country-switcher.php:71
|
3498 |
#: includes/widgets/class-wcj-widget-selector.php:64
|
3499 |
msgid "Countries"
|
3500 |
msgstr ""
|
3686 |
#: includes/settings/wcj-settings-admin-orders-list.php:172
|
3687 |
#: includes/settings/wcj-settings-checkout-fees.php:60
|
3688 |
#: includes/settings/wcj-settings-cross-sells.php:42
|
3689 |
+
#: includes/settings/wcj-settings-export.php:84
|
3690 |
+
#: includes/settings/wcj-settings-export.php:152
|
3691 |
+
#: includes/settings/wcj-settings-export.php:234
|
3692 |
#: includes/settings/wcj-settings-my-account.php:161
|
3693 |
#: includes/settings/wcj-settings-product-add-to-cart.php:300
|
3694 |
#: includes/settings/wcj-settings-product-addons.php:92
|
3704 |
#: includes/shipping/class-wc-shipping-wcj-custom-with-shipping-zones.php:191
|
3705 |
#: includes/shipping/class-wc-shipping-wcj-custom.php:107
|
3706 |
#: includes/shortcodes/class-wcj-shortcodes-products-add-form.php:334
|
3707 |
+
#: includes/widgets/class-wcj-widget-country-switcher.php:64
|
3708 |
#: includes/widgets/class-wcj-widget-left-to-free-shipping.php:52
|
3709 |
#: includes/widgets/class-wcj-widget-multicurrency.php:69
|
3710 |
#: includes/widgets/class-wcj-widget-selector.php:52
|
3918 |
"count, exclude categories, show/hide empty categories."
|
3919 |
msgstr ""
|
3920 |
|
3921 |
+
#: includes/class-wcj-product-msrp.php:31
|
3922 |
msgid "Product MSRP"
|
3923 |
msgstr ""
|
3924 |
|
3925 |
+
#: includes/class-wcj-product-msrp.php:32
|
3926 |
msgid ""
|
3927 |
"The <strong>manufacturer's suggested retail price</strong> (<strong>MSRP</"
|
3928 |
"strong>), also known as the <strong>list price</strong>, or the "
|
3932 |
"product."
|
3933 |
msgstr ""
|
3934 |
|
3935 |
+
#: includes/class-wcj-product-msrp.php:33
|
3936 |
#, php-format
|
3937 |
msgid "Booster stores MSRP as product meta with %s key."
|
3938 |
msgstr ""
|
3939 |
|
3940 |
+
#: includes/class-wcj-product-msrp.php:34
|
3941 |
msgid "Save and display product MSRP in WooCommerce."
|
3942 |
msgstr ""
|
3943 |
|
3944 |
+
#: includes/class-wcj-product-msrp.php:112
|
3945 |
+
#: includes/class-wcj-product-msrp.php:143
|
3946 |
#: includes/settings/meta-box/wcj-settings-meta-box-product-msrp.php:48
|
3947 |
msgid "MSRP"
|
3948 |
msgstr ""
|
3995 |
msgid "Set formula for automatic product price calculation."
|
3996 |
msgstr ""
|
3997 |
|
3998 |
+
#: includes/class-wcj-product-price-by-formula.php:186
|
3999 |
msgid "Error in formula"
|
4000 |
msgstr ""
|
4001 |
|
4002 |
+
#: includes/class-wcj-product-price-by-formula.php:279
|
4003 |
msgid ""
|
4004 |
"Booster: Free plugin's version is limited to only one price by formula "
|
4005 |
"product enabled at a time. You will need to get <a href=\"https://booster.io/"
|
4007 |
"by formula products."
|
4008 |
msgstr ""
|
4009 |
|
4010 |
+
#: includes/class-wcj-product-price-by-formula.php:313
|
4011 |
msgid "Final Price Preview"
|
4012 |
msgstr ""
|
4013 |
|
4110 |
#: includes/settings/wcj-settings-checkout-custom-fields.php:265
|
4111 |
#: includes/settings/wcj-settings-product-addons.php:242
|
4112 |
#: includes/settings/wcj-settings-related-products.php:176
|
4113 |
+
#: includes/widgets/class-wcj-widget-country-switcher.php:84
|
4114 |
msgid "No"
|
4115 |
msgstr ""
|
4116 |
|
4148 |
#: includes/settings/wcj-settings-eu-vat-number.php:154
|
4149 |
#: includes/settings/wcj-settings-product-addons.php:241
|
4150 |
#: includes/settings/wcj-settings-related-products.php:175
|
4151 |
+
#: includes/widgets/class-wcj-widget-country-switcher.php:85
|
4152 |
msgid "Yes"
|
4153 |
msgstr ""
|
4154 |
|
4561 |
msgstr ""
|
4562 |
|
4563 |
#: includes/class-wcj-shipping-by-user-role.php:33
|
4564 |
+
#: includes/settings/wcj-settings-multicurrency.php:323
|
4565 |
+
#: includes/settings/wcj-settings-order-min-amount.php:131
|
4566 |
#: includes/settings/wcj-settings-price-by-user-role.php:133
|
4567 |
#, php-format
|
4568 |
msgid ""
|
4879 |
"less)."
|
4880 |
msgstr ""
|
4881 |
|
4882 |
+
#: includes/class-wcj-wpml.php:29
|
4883 |
msgid "Booster WPML"
|
4884 |
msgstr ""
|
4885 |
|
4886 |
+
#: includes/class-wcj-wpml.php:30
|
4887 |
msgid "Booster for WooCommerce basic WPML support."
|
4888 |
msgstr ""
|
4889 |
|
4890 |
+
#: includes/class-wcj-wpml.php:190
|
4891 |
msgid "File wpml-config.xml successfully regenerated!"
|
4892 |
msgstr ""
|
4893 |
|
4905 |
msgid "Invisible"
|
4906 |
msgstr ""
|
4907 |
|
4908 |
+
#: includes/classes/class-wcj-module.php:173
|
4909 |
msgid "WPML: Get Terms in All Languages"
|
4910 |
msgstr ""
|
4911 |
|
4912 |
+
#: includes/classes/class-wcj-module.php:175
|
4913 |
msgid "Get tags and taxonomies in all languages"
|
4914 |
msgstr ""
|
4915 |
|
4916 |
+
#: includes/classes/class-wcj-module.php:194
|
4917 |
msgid "WPML: Get Products in All Languages"
|
4918 |
msgstr ""
|
4919 |
|
4920 |
+
#: includes/classes/class-wcj-module.php:196
|
4921 |
msgid "Get products in all languages"
|
4922 |
msgstr ""
|
4923 |
|
4924 |
+
#: includes/classes/class-wcj-module.php:327
|
4925 |
#, php-format
|
4926 |
msgid ""
|
4927 |
"Booster: Free plugin's version is limited to only one \"%1$s\" product with "
|
4930 |
"\"%1$s\" products."
|
4931 |
msgstr ""
|
4932 |
|
4933 |
+
#: includes/classes/class-wcj-module.php:647
|
4934 |
#, php-format
|
4935 |
msgid "Selected: %s."
|
4936 |
msgstr ""
|
4937 |
|
4938 |
+
#: includes/classes/class-wcj-module.php:716
|
4939 |
msgid "Back to Module Settings"
|
4940 |
msgstr ""
|
4941 |
|
4942 |
+
#: includes/classes/class-wcj-module.php:734
|
4943 |
+
#: includes/settings/wcj-settings-wpml.php:96
|
4944 |
msgid "Module Tools"
|
4945 |
msgstr ""
|
4946 |
|
4947 |
+
#: includes/classes/class-wcj-module.php:807
|
4948 |
#: includes/settings/wcj-settings-checkout-core-fields.php:77
|
4949 |
msgid "enabled"
|
4950 |
msgstr ""
|
4951 |
|
4952 |
+
#: includes/classes/class-wcj-module.php:808
|
4953 |
msgid "disabled"
|
4954 |
msgstr ""
|
4955 |
|
4956 |
+
#: includes/classes/class-wcj-module.php:816
|
4957 |
#: includes/settings/wcj-settings-product-tabs.php:172
|
4958 |
#: includes/settings/wcj-settings-product-tabs.php:184
|
4959 |
#: includes/settings/wcj-settings-product-tabs.php:196
|
4961 |
msgid "Deprecated"
|
4962 |
msgstr ""
|
4963 |
|
4964 |
+
#: includes/classes/class-wcj-module.php:854
|
4965 |
msgid "Reset Settings"
|
4966 |
msgstr ""
|
4967 |
|
4968 |
+
#: includes/classes/class-wcj-module.php:860
|
4969 |
msgid "Reset Module to Default Settings"
|
4970 |
msgstr ""
|
4971 |
|
4972 |
+
#: includes/classes/class-wcj-module.php:861
|
4973 |
msgid "Reset Submodule to Default Settings"
|
4974 |
msgstr ""
|
4975 |
|
4976 |
+
#: includes/classes/class-wcj-module.php:865
|
4977 |
msgid "Reset settings"
|
4978 |
msgstr ""
|
4979 |
|
4980 |
+
#: includes/classes/class-wcj-module.php:899
|
4981 |
msgid "Module Options"
|
4982 |
msgstr ""
|
4983 |
|
4984 |
+
#: includes/classes/class-wcj-module.php:906
|
4985 |
msgid "Enable Module"
|
4986 |
msgstr ""
|
4987 |
|
4990 |
msgid "Company Name"
|
4991 |
msgstr ""
|
4992 |
|
4993 |
+
#: includes/classes/class-wcj-pdf-invoice.php:263
|
4994 |
#: includes/functions/wcj-functions-general.php:145
|
4995 |
#: includes/pdf-invoices/class-wcj-pdf-invoicing-report-tool.php:245
|
4996 |
msgid "Unexpected error"
|
5549 |
#: includes/settings/meta-box/wcj-settings-meta-box-product-addons.php:83
|
5550 |
#: includes/settings/wcj-settings-checkout-custom-fields.php:130
|
5551 |
#: includes/settings/wcj-settings-checkout-fees.php:66
|
5552 |
+
#: includes/settings/wcj-settings-export.php:90
|
5553 |
+
#: includes/settings/wcj-settings-export.php:158
|
5554 |
+
#: includes/settings/wcj-settings-export.php:240
|
5555 |
#: includes/settings/wcj-settings-global-discount.php:63
|
5556 |
#: includes/settings/wcj-settings-product-addons.php:80
|
5557 |
#: includes/settings/wcj-settings-purchase-data.php:84
|
7222 |
#: includes/settings/wcj-settings-admin-products-list.php:43
|
7223 |
#: includes/settings/wcj-settings-checkout-core-fields.php:83
|
7224 |
#: includes/settings/wcj-settings-checkout-files-upload.php:40
|
7225 |
+
#: includes/settings/wcj-settings-export.php:79
|
7226 |
+
#: includes/settings/wcj-settings-export.php:147
|
7227 |
+
#: includes/settings/wcj-settings-export.php:229
|
7228 |
#: includes/settings/wcj-settings-global-discount.php:55
|
7229 |
#: includes/settings/wcj-settings-product-by-user.php:149
|
7230 |
#: includes/settings/wcj-settings-products-xml.php:76
|
7661 |
#: includes/settings/wcj-settings-add-to-cart-button-visibility.php:36
|
7662 |
#: includes/settings/wcj-settings-add-to-cart-button-visibility.php:62
|
7663 |
#: includes/settings/wcj-settings-multicurrency-base-price.php:63
|
7664 |
+
#: includes/settings/wcj-settings-multicurrency.php:224
|
7665 |
#: includes/settings/wcj-settings-order-min-amount.php:77
|
7666 |
+
#: includes/settings/wcj-settings-price-by-country.php:196
|
7667 |
#: includes/settings/wcj-settings-price-by-user-role.php:106
|
7668 |
#: includes/settings/wcj-settings-product-addons.php:230
|
7669 |
msgid "Advanced"
|
7900 |
|
7901 |
#: includes/price-by-country/class-wcj-price-by-country-local.php:111
|
7902 |
#: includes/settings/meta-box/wcj-settings-meta-box-price-by-country.php:67
|
7903 |
+
#: includes/settings/wcj-settings-price-by-country.php:382
|
7904 |
msgid "Make empty price"
|
7905 |
msgstr ""
|
7906 |
|
7907 |
#: includes/price-by-country/class-wcj-price-by-country-local.php:215
|
7908 |
#: includes/settings/meta-box/wcj-settings-meta-box-price-by-country.php:17
|
7909 |
#: includes/settings/wcj-settings-add-to-cart.php:50
|
7910 |
+
#: includes/settings/wcj-settings-price-by-country.php:276
|
7911 |
+
#: includes/settings/wcj-settings-price-by-country.php:277
|
7912 |
+
#: includes/settings/wcj-settings-price-by-country.php:282
|
7913 |
+
#: includes/settings/wcj-settings-price-by-country.php:330
|
7914 |
+
#: includes/settings/wcj-settings-price-by-country.php:373
|
7915 |
msgid "Group"
|
7916 |
msgstr ""
|
7917 |
|
10648 |
msgstr ""
|
10649 |
|
10650 |
#: includes/settings/wcj-settings-checkout-files-upload.php:313
|
10651 |
+
#: includes/settings/wcj-settings-export.php:77
|
10652 |
+
#: includes/settings/wcj-settings-export.php:145
|
10653 |
+
#: includes/settings/wcj-settings-export.php:227
|
10654 |
msgid "Field"
|
10655 |
msgstr ""
|
10656 |
|
10863 |
msgstr ""
|
10864 |
|
10865 |
#: includes/settings/wcj-settings-cross-sells.php:41
|
10866 |
+
#: includes/settings/wcj-settings-order-numbers.php:171
|
10867 |
#: includes/settings/wcj-settings-related-products.php:22
|
10868 |
#: includes/settings/wcj-settings-upsells.php:41
|
10869 |
msgid "Random"
|
10888 |
msgstr ""
|
10889 |
|
10890 |
#: includes/settings/wcj-settings-cross-sells.php:59
|
10891 |
+
#: includes/settings/wcj-settings-order-numbers.php:181
|
10892 |
#: includes/settings/wcj-settings-products-xml.php:235
|
10893 |
#: includes/settings/wcj-settings-related-products.php:91
|
10894 |
msgid "Descending"
|
10895 |
msgstr ""
|
10896 |
|
10897 |
#: includes/settings/wcj-settings-cross-sells.php:60
|
10898 |
+
#: includes/settings/wcj-settings-order-numbers.php:180
|
10899 |
#: includes/settings/wcj-settings-products-xml.php:236
|
10900 |
#: includes/settings/wcj-settings-related-products.php:90
|
10901 |
msgid "Ascending"
|
10995 |
#: includes/settings/wcj-settings-multicurrency-base-price.php:22
|
10996 |
#: includes/settings/wcj-settings-multicurrency.php:22
|
10997 |
#: includes/settings/wcj-settings-payment-gateways-currency.php:68
|
10998 |
+
#: includes/settings/wcj-settings-price-by-country.php:346
|
10999 |
msgid "Exchange Rates Updates"
|
11000 |
msgstr ""
|
11001 |
|
11059 |
msgstr ""
|
11060 |
|
11061 |
#: includes/settings/wcj-settings-currency-exchange-rates.php:119
|
11062 |
+
msgid "Free Currency Converter API Key"
|
11063 |
msgstr ""
|
11064 |
|
11065 |
#: includes/settings/wcj-settings-currency-exchange-rates.php:120
|
11089 |
msgstr ""
|
11090 |
|
11091 |
#: includes/settings/wcj-settings-currency-exchange-rates.php:173
|
11092 |
+
#: includes/settings/wcj-settings-price-by-country.php:341
|
11093 |
msgid "Exchange Rates"
|
11094 |
msgstr ""
|
11095 |
|
11107 |
#: includes/settings/wcj-settings-currency-external-products.php:20
|
11108 |
#: includes/settings/wcj-settings-currency-per-product.php:180
|
11109 |
#: includes/settings/wcj-settings-multicurrency-base-price.php:142
|
11110 |
+
#: includes/settings/wcj-settings-multicurrency.php:296
|
11111 |
+
#: includes/settings/wcj-settings-price-by-country.php:321
|
11112 |
#: includes/settings/wcj-settings-price-formats.php:59
|
11113 |
msgid "Currency"
|
11114 |
msgstr ""
|
11183 |
#: includes/settings/wcj-settings-multicurrency-base-price.php:27
|
11184 |
#: includes/settings/wcj-settings-multicurrency.php:28
|
11185 |
#: includes/settings/wcj-settings-payment-gateways-currency.php:73
|
11186 |
+
#: includes/settings/wcj-settings-price-by-country.php:351
|
11187 |
msgid "Enter Rates Manually"
|
11188 |
msgstr ""
|
11189 |
|
11191 |
#: includes/settings/wcj-settings-multicurrency-base-price.php:28
|
11192 |
#: includes/settings/wcj-settings-multicurrency.php:29
|
11193 |
#: includes/settings/wcj-settings-payment-gateways-currency.php:74
|
11194 |
+
#: includes/settings/wcj-settings-price-by-country.php:352
|
11195 |
msgid "Automatically via Currency Exchange Rates module"
|
11196 |
msgstr ""
|
11197 |
|
11199 |
#: includes/settings/wcj-settings-multicurrency-base-price.php:31
|
11200 |
#: includes/settings/wcj-settings-multicurrency.php:32
|
11201 |
#: includes/settings/wcj-settings-payment-gateways-currency.php:77
|
11202 |
+
#: includes/settings/wcj-settings-price-by-country.php:355
|
11203 |
msgid "Visit"
|
11204 |
msgstr ""
|
11205 |
|
11207 |
#: includes/settings/wcj-settings-multicurrency-base-price.php:31
|
11208 |
#: includes/settings/wcj-settings-multicurrency.php:32
|
11209 |
#: includes/settings/wcj-settings-payment-gateways-currency.php:79
|
11210 |
+
#: includes/settings/wcj-settings-price-by-country.php:355
|
11211 |
msgid "Currency Exchange Rates module"
|
11212 |
msgstr ""
|
11213 |
|
11214 |
#: includes/settings/wcj-settings-currency-per-product.php:138
|
11215 |
#: includes/settings/wcj-settings-multicurrency-base-price.php:113
|
11216 |
+
#: includes/settings/wcj-settings-multicurrency.php:265
|
11217 |
msgid "Currencies Options"
|
11218 |
msgstr ""
|
11219 |
|
11226 |
|
11227 |
#: includes/settings/wcj-settings-currency-per-product.php:144
|
11228 |
#: includes/settings/wcj-settings-multicurrency-base-price.php:118
|
11229 |
+
#: includes/settings/wcj-settings-multicurrency.php:271
|
11230 |
msgid "Total Currencies"
|
11231 |
msgstr ""
|
11232 |
|
11244 |
|
11245 |
#: includes/settings/wcj-settings-currency-per-product.php:257
|
11246 |
#: includes/settings/wcj-settings-multicurrency-base-price.php:69
|
11247 |
+
#: includes/settings/wcj-settings-multicurrency.php:254
|
11248 |
+
#: includes/settings/wcj-settings-price-by-country.php:230
|
11249 |
+
#: includes/settings/wcj-settings-product-price-by-formula.php:108
|
11250 |
msgid ""
|
11251 |
"This may help if you are experiencing compatibility issues with other "
|
11252 |
"plugins."
|
11761 |
msgstr ""
|
11762 |
|
11763 |
#: includes/settings/wcj-settings-export.php:26
|
11764 |
+
msgid "Smart Formatting"
|
11765 |
+
msgstr ""
|
11766 |
+
|
11767 |
+
#: includes/settings/wcj-settings-export.php:30
|
11768 |
+
#, php-format
|
11769 |
+
msgid ""
|
11770 |
+
"Tries to handle special characters as commas and quotes, formatting fields "
|
11771 |
+
"according to <a href=\"%s\">RFC4180</a>"
|
11772 |
+
msgstr ""
|
11773 |
+
|
11774 |
+
#: includes/settings/wcj-settings-export.php:35
|
11775 |
msgid "UTF-8 BOM"
|
11776 |
msgstr ""
|
11777 |
|
11778 |
+
#: includes/settings/wcj-settings-export.php:37
|
11779 |
msgid "Add UTF-8 BOM sequence"
|
11780 |
msgstr ""
|
11781 |
|
11782 |
+
#: includes/settings/wcj-settings-export.php:47
|
11783 |
msgid "Export Orders Options"
|
11784 |
msgstr ""
|
11785 |
|
11786 |
+
#: includes/settings/wcj-settings-export.php:52
|
11787 |
msgid "Export Orders Fields"
|
11788 |
msgstr ""
|
11789 |
|
11790 |
+
#: includes/settings/wcj-settings-export.php:53
|
11791 |
+
#: includes/settings/wcj-settings-export.php:121
|
11792 |
+
#: includes/settings/wcj-settings-export.php:192
|
11793 |
+
#: includes/settings/wcj-settings-export.php:271
|
11794 |
+
#: includes/settings/wcj-settings-export.php:289
|
11795 |
msgid "Hold \"Control\" key to select multiple fields."
|
11796 |
msgstr ""
|
11797 |
|
11798 |
+
#: includes/settings/wcj-settings-export.php:61
|
11799 |
msgid "Additional Export Orders Fields"
|
11800 |
msgstr ""
|
11801 |
|
11802 |
+
#: includes/settings/wcj-settings-export.php:96
|
11803 |
+
#: includes/settings/wcj-settings-export.php:165
|
11804 |
msgid "Order Shortcode"
|
11805 |
msgstr ""
|
11806 |
|
11807 |
+
#: includes/settings/wcj-settings-export.php:101
|
11808 |
msgid ""
|
11809 |
"If field's \"Type\" is set to \"Meta\", enter order meta key to retrieve "
|
11810 |
"(can be custom field name)."
|
11811 |
msgstr ""
|
11812 |
|
11813 |
+
#: includes/settings/wcj-settings-export.php:102
|
11814 |
msgid "If it's set to \"Shortcode\", use Booster's Orders shortcodes here."
|
11815 |
msgstr ""
|
11816 |
|
11817 |
+
#: includes/settings/wcj-settings-export.php:115
|
11818 |
msgid "Export Orders Items Options"
|
11819 |
msgstr ""
|
11820 |
|
11821 |
+
#: includes/settings/wcj-settings-export.php:120
|
11822 |
msgid "Export Orders Items Fields"
|
11823 |
msgstr ""
|
11824 |
|
11825 |
+
#: includes/settings/wcj-settings-export.php:129
|
11826 |
msgid "Additional Export Orders Items Fields"
|
11827 |
msgstr ""
|
11828 |
|
11829 |
+
#: includes/settings/wcj-settings-export.php:164
|
11830 |
msgid "Order Item Meta"
|
11831 |
msgstr ""
|
11832 |
|
11833 |
+
#: includes/settings/wcj-settings-export.php:167
|
11834 |
+
#: includes/settings/wcj-settings-export.php:246
|
11835 |
msgid "Product Shortcode"
|
11836 |
msgstr ""
|
11837 |
|
11838 |
+
#: includes/settings/wcj-settings-export.php:172
|
11839 |
msgid ""
|
11840 |
"If field's \"Type\" is set to \"Meta\", enter order/product meta key to "
|
11841 |
"retrieve (can be custom field name)."
|
11842 |
msgstr ""
|
11843 |
|
11844 |
+
#: includes/settings/wcj-settings-export.php:173
|
11845 |
msgid ""
|
11846 |
"If it's set to \"Shortcode\", use Booster's Orders/Products shortcodes here."
|
11847 |
msgstr ""
|
11848 |
|
11849 |
+
#: includes/settings/wcj-settings-export.php:186
|
11850 |
msgid "Export Products Options"
|
11851 |
msgstr ""
|
11852 |
|
11853 |
+
#: includes/settings/wcj-settings-export.php:191
|
11854 |
msgid "Export Products Fields"
|
11855 |
msgstr ""
|
11856 |
|
11857 |
+
#: includes/settings/wcj-settings-export.php:200
|
11858 |
#: includes/settings/wcj-settings-free-price.php:14
|
11859 |
#: includes/settings/wcj-settings-order-quantities.php:56
|
11860 |
msgid "Variable Products"
|
11861 |
msgstr ""
|
11862 |
|
11863 |
+
#: includes/settings/wcj-settings-export.php:205
|
11864 |
msgid "Export variable (main) product only"
|
11865 |
msgstr ""
|
11866 |
|
11867 |
+
#: includes/settings/wcj-settings-export.php:206
|
11868 |
msgid "Export variation products only"
|
11869 |
msgstr ""
|
11870 |
|
11871 |
+
#: includes/settings/wcj-settings-export.php:207
|
11872 |
msgid "Export variable (main) and variation products"
|
11873 |
msgstr ""
|
11874 |
|
11875 |
+
#: includes/settings/wcj-settings-export.php:211
|
11876 |
msgid "Additional Export Products Fields"
|
11877 |
msgstr ""
|
11878 |
|
11879 |
+
#: includes/settings/wcj-settings-export.php:251
|
11880 |
msgid ""
|
11881 |
"If field's \"Type\" is set to \"Meta\", enter product meta key to retrieve "
|
11882 |
"(can be custom field name)."
|
11883 |
msgstr ""
|
11884 |
|
11885 |
+
#: includes/settings/wcj-settings-export.php:252
|
11886 |
msgid "If it's set to \"Shortcode\", use Booster's Products shortcodes here."
|
11887 |
msgstr ""
|
11888 |
|
11889 |
+
#: includes/settings/wcj-settings-export.php:265
|
11890 |
msgid "Export Customers Options"
|
11891 |
msgstr ""
|
11892 |
|
11893 |
+
#: includes/settings/wcj-settings-export.php:270
|
11894 |
msgid "Export Customers Fields"
|
11895 |
msgstr ""
|
11896 |
|
11897 |
+
#: includes/settings/wcj-settings-export.php:283
|
11898 |
msgid "Export Customers from Orders Options"
|
11899 |
msgstr ""
|
11900 |
|
11901 |
+
#: includes/settings/wcj-settings-export.php:288
|
11902 |
msgid "Export Customers from Orders Fields"
|
11903 |
msgstr ""
|
11904 |
|
12308 |
|
12309 |
#: includes/settings/wcj-settings-global-discount.php:201
|
12310 |
#: includes/settings/wcj-settings-multicurrency-base-price.php:76
|
12311 |
+
#: includes/settings/wcj-settings-multicurrency.php:238
|
12312 |
+
#: includes/settings/wcj-settings-price-by-country.php:201
|
12313 |
#: includes/settings/wcj-settings-price-by-user-role.php:111
|
12314 |
#: includes/settings/wcj-settings-product-addons.php:258
|
12315 |
#: includes/settings/wcj-settings-product-price-by-formula.php:100
|
12318 |
|
12319 |
#: includes/settings/wcj-settings-global-discount.php:202
|
12320 |
#: includes/settings/wcj-settings-multicurrency-base-price.php:77
|
12321 |
+
#: includes/settings/wcj-settings-multicurrency.php:239
|
12322 |
+
#: includes/settings/wcj-settings-price-by-country.php:202
|
12323 |
#: includes/settings/wcj-settings-price-by-user-role.php:112
|
12324 |
#: includes/settings/wcj-settings-product-addons.php:259
|
12325 |
#: includes/settings/wcj-settings-product-price-by-formula.php:101
|
12538 |
msgstr ""
|
12539 |
|
12540 |
#: includes/settings/wcj-settings-multicurrency-base-price.php:68
|
12541 |
+
#: includes/settings/wcj-settings-multicurrency.php:253
|
12542 |
+
#: includes/settings/wcj-settings-price-by-country.php:229
|
12543 |
+
#: includes/settings/wcj-settings-product-price-by-formula.php:107
|
12544 |
msgid "Save Calculated Products Prices"
|
12545 |
msgstr ""
|
12546 |
|
12547 |
#: includes/settings/wcj-settings-multicurrency-base-price.php:87
|
12548 |
#: includes/settings/wcj-settings-multicurrency.php:115
|
12549 |
+
#: includes/settings/wcj-settings-order-min-amount.php:109
|
12550 |
+
#: includes/settings/wcj-settings-order-numbers.php:140
|
12551 |
#: includes/settings/wcj-settings-payment-gateways-min-max.php:65
|
12552 |
+
#: includes/settings/wcj-settings-price-by-country.php:151
|
12553 |
#: includes/settings/wcj-settings-product-msrp.php:105
|
12554 |
msgid "Compatibility"
|
12555 |
msgstr ""
|
12683 |
"Disable it if you have some other plugin already converting it like WPML."
|
12684 |
msgstr ""
|
12685 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
12686 |
#: includes/settings/wcj-settings-multicurrency.php:128
|
12687 |
msgid "WooCommerce Fixed Coupons"
|
12688 |
msgstr ""
|
12689 |
|
12690 |
#: includes/settings/wcj-settings-multicurrency.php:130
|
12691 |
+
#: includes/settings/wcj-settings-price-by-country.php:177
|
12692 |
msgid ""
|
12693 |
"When a fixed coupon is used its value changes according to the current "
|
12694 |
"currency."
|
12776 |
"plugin."
|
12777 |
msgstr ""
|
12778 |
|
12779 |
+
#: includes/settings/wcj-settings-multicurrency.php:211
|
12780 |
+
msgid "Product Add-Ons Plugin"
|
12781 |
+
msgstr ""
|
12782 |
+
|
12783 |
+
#: includes/settings/wcj-settings-multicurrency.php:214
|
12784 |
+
#, php-format
|
12785 |
+
msgid ""
|
12786 |
+
"Adds compatibility with <a href=\"%s\" target=\"_blank\">Product Add-Ons</a> "
|
12787 |
+
"plugin."
|
12788 |
+
msgstr ""
|
12789 |
+
|
12790 |
+
#: includes/settings/wcj-settings-multicurrency.php:214
|
12791 |
+
msgid ""
|
12792 |
+
"Only works with <code>Multicurrency on per Product Basis</code> option "
|
12793 |
+
"disabled."
|
12794 |
+
msgstr ""
|
12795 |
+
|
12796 |
+
#: includes/settings/wcj-settings-multicurrency.php:229
|
12797 |
msgid "Additional Price Filters"
|
12798 |
msgstr ""
|
12799 |
|
12800 |
+
#: includes/settings/wcj-settings-multicurrency.php:230
|
12801 |
msgid ""
|
12802 |
"Add additional price filters here. One per line. Leave blank if not sure."
|
12803 |
msgstr ""
|
12804 |
|
12805 |
+
#: includes/settings/wcj-settings-multicurrency.php:245
|
12806 |
msgid "Save Prices on Exchange Update"
|
12807 |
msgstr ""
|
12808 |
|
12809 |
+
#: includes/settings/wcj-settings-multicurrency.php:247
|
12810 |
msgid ""
|
12811 |
"Save min and max prices on exchange rate update, via background processing."
|
12812 |
msgstr ""
|
12813 |
|
12814 |
+
#: includes/settings/wcj-settings-multicurrency.php:247
|
12815 |
msgid ""
|
12816 |
"All products with \"per product\" options registered related to the currency "
|
12817 |
"will be affected."
|
12818 |
msgstr ""
|
12819 |
|
12820 |
+
#: includes/settings/wcj-settings-multicurrency.php:267
|
12821 |
msgid ""
|
12822 |
"One currency probably should be set to current (original) shop currency with "
|
12823 |
"an exchange rate of 1."
|
12824 |
msgstr ""
|
12825 |
|
12826 |
+
#: includes/settings/wcj-settings-multicurrency.php:272
|
12827 |
msgid ""
|
12828 |
"Press Save changes after setting this option, so new settings fields will be "
|
12829 |
"added."
|
12830 |
msgstr ""
|
12831 |
|
12832 |
+
#: includes/settings/wcj-settings-multicurrency.php:321
|
12833 |
msgid "Role Defaults"
|
12834 |
msgstr ""
|
12835 |
|
12836 |
+
#: includes/settings/wcj-settings-multicurrency.php:328
|
12837 |
msgid "Roles"
|
12838 |
msgstr ""
|
12839 |
|
12840 |
+
#: includes/settings/wcj-settings-multicurrency.php:329
|
12841 |
#: includes/settings/wcj-settings-wholesale-price.php:237
|
12842 |
msgid "Save settings after you change this option. Leave blank to disable."
|
12843 |
msgstr ""
|
12844 |
|
12845 |
+
#: includes/settings/wcj-settings-multicurrency.php:352
|
12846 |
msgid "No default currency"
|
12847 |
msgstr ""
|
12848 |
|
13524 |
msgid "Redirect back to Cart page"
|
13525 |
msgstr ""
|
13526 |
|
13527 |
+
#: includes/settings/wcj-settings-order-min-amount.php:111
|
13528 |
+
msgid "Compatibility with other modules or plugins."
|
13529 |
+
msgstr ""
|
13530 |
+
|
13531 |
+
#: includes/settings/wcj-settings-order-min-amount.php:115
|
13532 |
+
msgid "WooCommerce Multilingual"
|
13533 |
+
msgstr ""
|
13534 |
+
|
13535 |
+
#: includes/settings/wcj-settings-order-min-amount.php:118
|
13536 |
+
#, php-format
|
13537 |
+
msgid ""
|
13538 |
+
"Adds compatibility with <a href=\"%s\" target=\"_blank\">WooCommerce "
|
13539 |
+
"Multilingual</a> plugin."
|
13540 |
+
msgstr ""
|
13541 |
+
|
13542 |
+
#: includes/settings/wcj-settings-order-min-amount.php:128
|
13543 |
msgid "Order Minimum Amount by User Role"
|
13544 |
msgstr ""
|
13545 |
|
13692 |
msgid "Set to zero to enable numbering for all orders."
|
13693 |
msgstr ""
|
13694 |
|
13695 |
+
#: includes/settings/wcj-settings-order-numbers.php:145
|
13696 |
+
msgid "WPNotif"
|
13697 |
+
msgstr ""
|
13698 |
+
|
13699 |
+
#: includes/settings/wcj-settings-order-numbers.php:147
|
13700 |
+
#, php-format
|
13701 |
+
msgid ""
|
13702 |
+
"Adds compatibility with <a href=\"%s\" target=\"_blank\">WPNotif: WordPress "
|
13703 |
+
"SMS & WhatsApp Notifications</a> plugin fixing the <code>{{wc-tracking-link}}"
|
13704 |
+
"</code> variable."
|
13705 |
+
msgstr ""
|
13706 |
+
|
13707 |
+
#: includes/settings/wcj-settings-order-numbers.php:158
|
13708 |
msgid "Orders Renumerate Tool Options"
|
13709 |
msgstr ""
|
13710 |
|
13711 |
+
#: includes/settings/wcj-settings-order-numbers.php:163
|
13712 |
msgid "Sort by"
|
13713 |
msgstr ""
|
13714 |
|
13715 |
+
#: includes/settings/wcj-settings-order-numbers.php:170
|
13716 |
msgid "Last modified date"
|
13717 |
msgstr ""
|
13718 |
|
13719 |
+
#: includes/settings/wcj-settings-order-numbers.php:175
|
13720 |
msgid "Sort Ascending or Descending"
|
13721 |
msgstr ""
|
13722 |
|
14617 |
msgstr ""
|
14618 |
|
14619 |
#: includes/settings/wcj-settings-pdf-invoicing-display.php:25
|
14620 |
+
#: includes/settings/wcj-settings-price-by-country.php:328
|
14621 |
#: includes/settings/wcj-settings-shipping.php:30
|
14622 |
msgid "Admin Title"
|
14623 |
msgstr ""
|
15081 |
msgstr ""
|
15082 |
|
15083 |
#: includes/settings/wcj-settings-price-by-country.php:132
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
15084 |
msgid "Add Countries Flags Images to Select Drop-Down Box"
|
15085 |
msgstr ""
|
15086 |
|
15087 |
+
#: includes/settings/wcj-settings-price-by-country.php:134
|
15088 |
msgid ""
|
15089 |
"If you are using [wcj_country_select_drop_down_list] shortcode or \"Booster: "
|
15090 |
"Country Switcher\" widget, this will add country flags to these select boxes."
|
15091 |
msgstr ""
|
15092 |
|
15093 |
+
#: includes/settings/wcj-settings-price-by-country.php:140
|
15094 |
#: includes/settings/wcj-settings-price-by-user-role.php:61
|
15095 |
msgid "Search Engine Bots"
|
15096 |
msgstr ""
|
15097 |
|
15098 |
+
#: includes/settings/wcj-settings-price-by-country.php:141
|
15099 |
msgid "Disable Price by Country for Bots"
|
15100 |
msgstr ""
|
15101 |
|
15102 |
+
#: includes/settings/wcj-settings-price-by-country.php:156
|
15103 |
+
msgid "Price Filter Widget and Sorting by Price Support"
|
15104 |
msgstr ""
|
15105 |
|
15106 |
+
#: includes/settings/wcj-settings-price-by-country.php:160
|
15107 |
+
msgid "Recalculate price filter widget and sorting by price product prices."
|
15108 |
+
msgstr ""
|
15109 |
+
|
15110 |
+
#: includes/settings/wcj-settings-price-by-country.php:166
|
15111 |
+
msgid "Free Shipping"
|
15112 |
+
msgstr ""
|
15113 |
+
|
15114 |
+
#: includes/settings/wcj-settings-price-by-country.php:169
|
15115 |
+
msgid "Converts minimum amount from WooCommerce Free Shipping native method."
|
15116 |
msgstr ""
|
15117 |
|
15118 |
+
#: includes/settings/wcj-settings-price-by-country.php:175
|
15119 |
+
msgid "WooCommerce Coupons"
|
15120 |
+
msgstr ""
|
15121 |
+
|
15122 |
+
#: includes/settings/wcj-settings-price-by-country.php:183
|
15123 |
msgid "Woo Discount Rules"
|
15124 |
msgstr ""
|
15125 |
|
15126 |
+
#: includes/settings/wcj-settings-price-by-country.php:186
|
15127 |
#, php-format
|
15128 |
msgid ""
|
15129 |
"Adds compatibility with <a href=\"%s\" target=\"_blank\">Woo Discount Rules</"
|
15130 |
"a> plugin."
|
15131 |
msgstr ""
|
15132 |
|
15133 |
+
#: includes/settings/wcj-settings-price-by-country.php:186
|
15134 |
#, php-format
|
15135 |
msgid ""
|
15136 |
"If it doesn't work properly try to enable <a href=\"%s\">redirect to the "
|
15137 |
+
"cart page after successful addition</a> option."
|
15138 |
msgstr ""
|
15139 |
|
15140 |
+
#: includes/settings/wcj-settings-price-by-country.php:208
|
15141 |
msgid "User IP Detection Method"
|
15142 |
msgstr ""
|
15143 |
|
15144 |
+
#: includes/settings/wcj-settings-price-by-country.php:218
|
15145 |
msgid "Price Format Method"
|
15146 |
msgstr ""
|
15147 |
|
15148 |
+
#: includes/settings/wcj-settings-price-by-country.php:219
|
15149 |
msgid "The moment \"Pretty Price\" and \"Rounding\" will be applied"
|
15150 |
msgstr ""
|
15151 |
|
15152 |
+
#: includes/settings/wcj-settings-price-by-country.php:224
|
15153 |
msgid "get_price()"
|
15154 |
msgstr ""
|
15155 |
|
15156 |
+
#: includes/settings/wcj-settings-price-by-country.php:225
|
15157 |
msgid "wc_get_price_to_display()"
|
15158 |
msgstr ""
|
15159 |
|
15160 |
+
#: includes/settings/wcj-settings-price-by-country.php:241
|
15161 |
msgid "Country Groups"
|
15162 |
msgstr ""
|
15163 |
|
15164 |
+
#: includes/settings/wcj-settings-price-by-country.php:246
|
15165 |
msgid "Countries Selection"
|
15166 |
msgstr ""
|
15167 |
|
15168 |
+
#: includes/settings/wcj-settings-price-by-country.php:247
|
15169 |
msgid "Choose how do you want to enter countries groups in admin."
|
15170 |
msgstr ""
|
15171 |
|
15172 |
+
#: includes/settings/wcj-settings-price-by-country.php:252
|
15173 |
msgid "Comma separated list"
|
15174 |
msgstr ""
|
15175 |
|
15176 |
+
#: includes/settings/wcj-settings-price-by-country.php:253
|
15177 |
msgid "Multiselect"
|
15178 |
msgstr ""
|
15179 |
|
15180 |
+
#: includes/settings/wcj-settings-price-by-country.php:254
|
15181 |
#: includes/settings/wcj-settings-product-by-condition.php:82
|
15182 |
#: includes/settings/wcj-settings-related-products.php:164
|
15183 |
msgid "Chosen select"
|
15184 |
msgstr ""
|
15185 |
|
15186 |
+
#: includes/settings/wcj-settings-price-by-country.php:258
|
15187 |
msgid "Autogenerate Groups"
|
15188 |
msgstr ""
|
15189 |
|
15190 |
+
#: includes/settings/wcj-settings-price-by-country.php:264
|
15191 |
msgid "Groups Number"
|
15192 |
msgstr ""
|
15193 |
|
15194 |
+
#: includes/settings/wcj-settings-price-by-country.php:288
|
15195 |
msgid ""
|
15196 |
"Countries. List of comma separated country codes.<br>For country codes and "
|
15197 |
"predefined sets visit <a href=\"https://booster.io/country-codes/\" target="
|
15198 |
"\"_blank\">https://booster.io/country-codes/</a>"
|
15199 |
msgstr ""
|
15200 |
|
15201 |
+
#: includes/settings/wcj-settings-price-by-country.php:374
|
15202 |
msgid "Multiply Price by"
|
15203 |
msgstr ""
|
15204 |
|
16876 |
msgid "Adds a MSRP field that will be displayed on the product archive."
|
16877 |
msgstr ""
|
16878 |
|
16879 |
+
#: includes/settings/wcj-settings-product-msrp.php:142
|
16880 |
+
msgid "Archive Detection Method"
|
16881 |
+
msgstr ""
|
16882 |
+
|
16883 |
+
#: includes/settings/wcj-settings-product-msrp.php:143
|
16884 |
+
msgid "Template strings used to detect the loop."
|
16885 |
+
msgstr ""
|
16886 |
+
|
16887 |
+
#: includes/settings/wcj-settings-product-msrp.php:143
|
16888 |
+
msgid "Use 1 string per line."
|
16889 |
+
msgstr ""
|
16890 |
+
|
16891 |
+
#: includes/settings/wcj-settings-product-msrp.php:153
|
16892 |
msgid "Template Variable Formulas"
|
16893 |
msgstr ""
|
16894 |
|
16895 |
+
#: includes/settings/wcj-settings-product-msrp.php:158
|
16896 |
msgid "You Save"
|
16897 |
msgstr ""
|
16898 |
|
16899 |
+
#: includes/settings/wcj-settings-product-msrp.php:159
|
16900 |
+
#: includes/settings/wcj-settings-product-msrp.php:168
|
16901 |
msgid "Variable: "
|
16902 |
msgstr ""
|
16903 |
|
16904 |
+
#: includes/settings/wcj-settings-product-msrp.php:161
|
16905 |
msgid "%you_save%"
|
16906 |
msgstr ""
|
16907 |
|
16908 |
+
#: includes/settings/wcj-settings-product-msrp.php:167
|
16909 |
msgid "You Save Percent"
|
16910 |
msgstr ""
|
16911 |
|
16912 |
+
#: includes/settings/wcj-settings-product-msrp.php:170
|
16913 |
msgid "%you_save_percent%"
|
16914 |
msgstr ""
|
16915 |
|
17331 |
msgstr ""
|
17332 |
|
17333 |
#: includes/settings/wcj-settings-products-per-page.php:75
|
17334 |
+
#: includes/widgets/class-wcj-widget-country-switcher.php:89
|
17335 |
#: includes/widgets/class-wcj-widget-multicurrency.php:88
|
17336 |
msgid "Form Method"
|
17337 |
msgstr ""
|
19164 |
"necessary to enable MultiCurrency module"
|
19165 |
msgstr ""
|
19166 |
|
19167 |
+
#: includes/settings/wcj-settings-wpml.php:42
|
19168 |
+
msgid "Synchronize Metas"
|
19169 |
+
msgstr ""
|
19170 |
+
|
19171 |
+
#: includes/settings/wcj-settings-wpml.php:45
|
19172 |
+
msgid ""
|
19173 |
+
"Try to automatically synchronize some Booster metas between products on "
|
19174 |
+
"different languages."
|
19175 |
+
msgstr ""
|
19176 |
+
|
19177 |
+
#: includes/settings/wcj-settings-wpml.php:55
|
19178 |
msgid "WPML Language Configuration File Options"
|
19179 |
msgstr ""
|
19180 |
|
19181 |
+
#: includes/settings/wcj-settings-wpml.php:57
|
19182 |
#, php-format
|
19183 |
msgid "Options for regenerating %s file."
|
19184 |
msgstr ""
|
19185 |
|
19186 |
+
#: includes/settings/wcj-settings-wpml.php:61
|
19187 |
msgid "Automatically Regenerate"
|
19188 |
msgstr ""
|
19189 |
|
19190 |
+
#: includes/settings/wcj-settings-wpml.php:63
|
19191 |
#, php-format
|
19192 |
msgid "Automatically regenerate %s file on each Booster version update."
|
19193 |
msgstr ""
|
19194 |
|
19195 |
+
#: includes/settings/wcj-settings-wpml.php:69
|
19196 |
msgid "Modules to Skip"
|
19197 |
msgstr ""
|
19198 |
|
19199 |
+
#: includes/settings/wcj-settings-wpml.php:70
|
19200 |
msgid ""
|
19201 |
"Select modules, which options you wish to exclude from wpml-config.xml file."
|
19202 |
msgstr ""
|
19203 |
|
19204 |
+
#: includes/settings/wcj-settings-wpml.php:78
|
19205 |
msgid "Option IDs to Skip"
|
19206 |
msgstr ""
|
19207 |
|
19208 |
+
#: includes/settings/wcj-settings-wpml.php:79
|
19209 |
msgid "Select options, which you wish to exclude from wpml-config.xml file."
|
19210 |
msgstr ""
|
19211 |
|
19212 |
+
#: includes/settings/wcj-settings-wpml.php:80
|
19213 |
#, php-format
|
19214 |
msgid "Full or part of option ID. Separated by vertical bar %s."
|
19215 |
msgstr ""
|
19216 |
|
19217 |
+
#: includes/settings/wcj-settings-wpml.php:102
|
19218 |
+
#: includes/settings/wcj-settings-wpml.php:104
|
19219 |
msgid "Regenerate wpml-config.xml file"
|
19220 |
msgstr ""
|
19221 |
|
19348 |
msgid "Attribute \"name\" is required!"
|
19349 |
msgstr ""
|
19350 |
|
19351 |
+
#: includes/shortcodes/class-wcj-shortcodes-orders.php:335
|
19352 |
#, php-format
|
19353 |
msgid "Refund #%1$s - %2$s"
|
19354 |
msgstr ""
|
19546 |
msgid "Customer Country Detection Method must include \"by user selection\"!"
|
19547 |
msgstr ""
|
19548 |
|
19549 |
+
#: includes/widgets/class-wcj-widget-country-switcher.php:78
|
19550 |
msgid "Replace with currency"
|
19551 |
msgstr ""
|
19552 |
|
19553 |
+
#: includes/widgets/class-wcj-widget-country-switcher.php:90
|
19554 |
+
#: includes/widgets/class-wcj-widget-multicurrency.php:89
|
19555 |
+
msgid "HTML form method for \"Drop down\" and \"Radio list\" types."
|
19556 |
+
msgstr ""
|
19557 |
+
|
19558 |
+
#: includes/widgets/class-wcj-widget-country-switcher.php:95
|
19559 |
+
#: includes/widgets/class-wcj-widget-multicurrency.php:94
|
19560 |
+
msgid "Post"
|
19561 |
+
msgstr ""
|
19562 |
+
|
19563 |
+
#: includes/widgets/class-wcj-widget-country-switcher.php:96
|
19564 |
+
#: includes/widgets/class-wcj-widget-multicurrency.php:95
|
19565 |
+
msgid "Get"
|
19566 |
+
msgstr ""
|
19567 |
+
|
19568 |
#: includes/widgets/class-wcj-widget-left-to-free-shipping.php:27
|
19569 |
msgid "Booster - Left to Free Shipping"
|
19570 |
msgstr ""
|
19593 |
msgid "Link list"
|
19594 |
msgstr ""
|
19595 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
19596 |
#: includes/widgets/class-wcj-widget-multicurrency.php:101
|
19597 |
msgid "HTML class for \"Drop down\" type."
|
19598 |
msgstr ""
|
readme.txt
CHANGED
@@ -3,7 +3,7 @@ Contributors: anbinder, karzin, pluggabl
|
|
3 |
Tags: woocommerce, booster for woocommerce, woocommerce jetpack
|
4 |
Requires at least: 4.4
|
5 |
Tested up to: 5.4
|
6 |
-
Stable tag: 5.
|
7 |
License: GNU General Public License v3.0
|
8 |
License URI: http://www.gnu.org/licenses/gpl-3.0.html
|
9 |
|
@@ -193,6 +193,38 @@ You can see the differences between versions in this [table](https://booster.io/
|
|
193 |
|
194 |
== Changelog ==
|
195 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
196 |
= 5.0.0 - 01/06/2020 =
|
197 |
* Fix - PRICES & CURRENCIES - Wholesale Price - Consider `heading_format` param from `[wcj_product_wholesale_price_table]` on Heading Format option.
|
198 |
* Fix - PRICES & CURRENCIES - Wholesale Price - Change 'Price Table Format' option to 'Table Heading Format'
|
3 |
Tags: woocommerce, booster for woocommerce, woocommerce jetpack
|
4 |
Requires at least: 4.4
|
5 |
Tested up to: 5.4
|
6 |
+
Stable tag: 5.1.1
|
7 |
License: GNU General Public License v3.0
|
8 |
License URI: http://www.gnu.org/licenses/gpl-3.0.html
|
9 |
|
193 |
|
194 |
== Changelog ==
|
195 |
|
196 |
+
= 5.1.1 - 20/07/2020 =
|
197 |
+
* Fix - EMAILS & MISC. - My Account - Improve custom menu order algorithm.
|
198 |
+
* Fix - PRODUCTS - Product by Condition - Fix static database table name.
|
199 |
+
* Fix - PRODUCTS - Product MSRP - Improve 'Archive Detection Method' option using the `wc_get_template_part` hook besides the `woocommerce_before_template_part`.
|
200 |
+
* Dev - PRICES & CURRENCIES - Multicurrency (Currency Switcher) - Improves compatibility with 'Product Add-Ons' plugin and leave it as Booster Plus feature.
|
201 |
+
* Dev - PRICES & CURRENCIES - Product Price by Formula - Create 'Save Calculated Products Prices' option trying to avoid duplicated calculation.
|
202 |
+
* WC tested up to: 4.3
|
203 |
+
|
204 |
+
= 5.1.0 - 06/07/2020 =
|
205 |
+
* Fix - CART & CHECKOUT - EU VAT Number - Force accessing the VAT validation url on english version to avoid possible errors.
|
206 |
+
* Fix - PRICES & CURRENCIES - Multicurrency (Currency Switcher) - Improve compatibility with 'Pricing Deals' plugin.
|
207 |
+
* Fix - PRICES & CURRENCIES - Multicurrency (Currency Switcher) - Remove compatibility option with 'Prices and Currencies by Country' module.
|
208 |
+
* Fix - PRICES & CURRENCIES - Multicurrency (Currency Switcher) - Improve compatibility option with 'WooCommerce Tree Table Rate Shipping' plugin.
|
209 |
+
* Fix - PRICES & CURRENCIES - Prices and Currencies by Country - Fix compatibility option with 'Price Filter Widget and Sorting by Price'.
|
210 |
+
* Fix - PRICES & CURRENCIES - Prices and Currencies by Country - Save `_wcj_price_by_country_$group_id` meta regardless of the 'Product Basis' option.
|
211 |
+
* Fix - PRODUCTS - Product Images - Fix 'Replace Image on Single' option.
|
212 |
+
* Fix - SHIPPING & ORDERS - Shipping by Cities - Improve city detection by also getting it when product quantity changes.
|
213 |
+
* Dev - EMAILS & MISC. - Export - Add `wcj_export_validation` filter with 3 parameters: `boolean`, `'object_type'`, `$object`.
|
214 |
+
* Dev - EMAILS & MISC. - Export - Add 'Smart Formatting' option to handle special characters as commas and quotes, formatting fields according to RFC4180 specification.
|
215 |
+
* Dev - EMAILS & MISC. - Booster WPML - General Options - Add 'Synchronize Metas' option allowing to synchronize some Booster metas between products in different languages.
|
216 |
+
* Dev - PDF INVOICING & PACKING SLIPS - Add `wcj_invoicing_header_content_length` filter allowing to add/remove the Content-Length header from the invoice.
|
217 |
+
* Dev - PRICES & CURRENCIES - Offer Your Price - Email Options - Add `%product_edit_link%` template variable.
|
218 |
+
* Dev - PRICES & CURRENCIES - Prices and Currencies by Country - Add compatibility option with WooCommerce Free Shipping method.
|
219 |
+
* Dev - PRICES & CURRENCIES - Prices and Currencies by Country - Improve performance running price update with a background process.
|
220 |
+
* Dev - PRICES & CURRENCIES - Prices and Currencies by Country - Widget - Add option to control form method by POST or GET.
|
221 |
+
* Dev - PRODUCTS - Product MSRP - Add 'Archive Detection Method' option allowing better control to detect the archive template.
|
222 |
+
* Dev - SHIPPING & ORDERS - Order Minimum Amount - Add compatibility option with "WooCommerce Multilingual" plugin.
|
223 |
+
* Dev - SHIPPING & ORDERS - Order Numbers - Add compatibility option with WPNotif plugin.
|
224 |
+
* Dev - Shortcodes - Orders - Add `add_html_on_price` param.
|
225 |
+
* Dev - Functions - Price and Currency - Add `add_html_on_price` param allowing to return the price without the html.
|
226 |
+
* WC tested up to: 4.2
|
227 |
+
|
228 |
= 5.0.0 - 01/06/2020 =
|
229 |
* Fix - PRICES & CURRENCIES - Wholesale Price - Consider `heading_format` param from `[wcj_product_wholesale_price_table]` on Heading Format option.
|
230 |
* Fix - PRICES & CURRENCIES - Wholesale Price - Change 'Price Table Format' option to 'Table Heading Format'
|
woocommerce-jetpack.php
CHANGED
@@ -3,13 +3,13 @@
|
|
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: 5.
|
7 |
Author: Pluggabl LLC
|
8 |
Author URI: https://booster.io
|
9 |
Text Domain: woocommerce-jetpack
|
10 |
Domain Path: /langs
|
11 |
Copyright: © 2020 Pluggabl LLC.
|
12 |
-
WC tested up to: 4.
|
13 |
License: GNU General Public License v3.0
|
14 |
License URI: http://www.gnu.org/licenses/gpl-3.0.html
|
15 |
*/
|
@@ -57,7 +57,7 @@ final class WC_Jetpack {
|
|
57 |
* @var string
|
58 |
* @since 2.4.7
|
59 |
*/
|
60 |
-
public $version = '5.
|
61 |
|
62 |
/**
|
63 |
* @var WC_Jetpack The single instance of the class
|
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: 5.1.1
|
7 |
Author: Pluggabl LLC
|
8 |
Author URI: https://booster.io
|
9 |
Text Domain: woocommerce-jetpack
|
10 |
Domain Path: /langs
|
11 |
Copyright: © 2020 Pluggabl LLC.
|
12 |
+
WC tested up to: 4.3
|
13 |
License: GNU General Public License v3.0
|
14 |
License URI: http://www.gnu.org/licenses/gpl-3.0.html
|
15 |
*/
|
57 |
* @var string
|
58 |
* @since 2.4.7
|
59 |
*/
|
60 |
+
public $version = '5.1.1';
|
61 |
|
62 |
/**
|
63 |
* @var WC_Jetpack The single instance of the class
|