Version Description
- 11/01/2018 =
- Dev - PRICES & CURRENCIES - Currencies - Belarusian ruble code updated (from
BYR
toBYN
). - Dev - PRICES & CURRENCIES - Currency per Product - Advanced Options - "Save Converted Product Prices in Array" option added.
- Dev - PRICES & CURRENCIES - Prices and Currencies by Country - "Per product options style" option added.
- Dev - PRICES & CURRENCIES - Prices and Currencies by Country - Per product settings (
inline
) restyled. - Dev - PRICES & CURRENCIES - Prices and Currencies by Country - Groups - "Admin Title" option added.
- Dev - PRICES & CURRENCIES - Product Open Pricing (Name Your Price) - Admin settings restyled.
- Dev - PRICES & CURRENCIES - Wholesale Price - "Round single product price" option added.
- Fix - PRICES & CURRENCIES - Wholesale Price -
wcj_is_product_wholesale_enabled()
- "Products to exclude" option fixed. - Dev - BUTTON & PRICE LABELS - Add to Cart Button Labels - Module renamed (was "Add to Cart Labels").
- Dev - BUTTON & PRICE LABELS - Custom Price Labels - Passing product object to shortcodes (instead of product id).
- Dev - BUTTON & PRICE LABELS - Custom Price Labels - Admin settings restyled etc.
- Dev - BUTTON & PRICE LABELS - More Button Labels - "Override Default Text" option added.
- Dev - PRODUCTS - Add to Cart - "Add to Cart Button Position Options" section added.
- Dev - PRODUCTS - Add to Cart - Module renamed (was "Product Add to Cart").
- Dev - PRODUCTS - Add to Cart Button Visibility - Per Product - "Content" options added.
- Dev - PRODUCTS - Add to Cart Button Visibility - "Per Category" options added.
- Dev - PRODUCTS - Add to Cart Button Visibility - Initial module release (copied from "Product Add to Cart - Add to Cart Button Disabling").
- Dev - PRODUCTS - Product Addons - "Quantity" options added.
- Dev - PRODUCTS - Product Addons - Admin settings minor restyling.
- Dev - PRODUCTS - Product Visibility by User Role - Settings (meta box) restyled.
- Dev - PRODUCTS - Products XML Feeds - Admin settings - Minor changes.
- Dev - CART & CHECKOUT - Cart Custom Info - Admin settings minor restyling.
- Fix - CART & CHECKOUT - Checkout Core Fields - Override Fields -
required
added to options. - Dev - CART & CHECKOUT - Checkout Custom Info - Admin settings minor restyling.
- Dev - CART & CHECKOUT - Checkout Customization - Customize "Returning customer?" message option added.
- Dev - CART & CHECKOUT - EU VAT Number - Admin order edit - Customer's VAT number added on admin customer select and on "Load billing address".
- Dev - CART & CHECKOUT - EU VAT Number - Admin order edit - "Validate VAT and remove taxes" button added.
- Dev - PAYMENT GATEWAYS - Custom Gateways - Advanced Options - Gateways Input Fields - "Add 'Delete' button" option added.
- Dev - PAYMENT GATEWAYS - Gateways by Country or State - Admin settings description updated. Minor code refactoring.
- Fix - PAYMENT GATEWAYS - Gateways by Currency - Admin settings -
$paypal_allowed_currencies_and_names
type fixed (changed to array). - Dev - PAYMENT GATEWAYS - Gateways Fees and Discounts - "WooCommerce PayPal Express Checkout Payment Gateway" (by WooCommerce) plugin support added.
- Dev - SHIPPING & ORDERS - Admin Orders List - Admin settings - Minor restyling.
- Dev - SHIPPING & ORDERS - Left to Free Shipping - Outputting "You have Free delivery" if free shipping is available without order minimum amount (e.g. coupon).
- Dev - SHIPPING & ORDERS - Left to Free Shipping - Admin settings - Minor restyling.
- Fix - SHIPPING & ORDERS - Order Numbers - Orders Renumerate Tool - More info added when sequential number generation is enabled.
- Fix - SHIPPING & ORDERS - Order Numbers -
add_order_number_meta()
- Bug fixed (when "Number Generation" is set to "Order ID"). - Dev - SHIPPING & ORDERS - Order Numbers - Admin settings - Minor restyling.
- Dev - SHIPPING & ORDERS - Order Numbers - "Sequential: Reset Counter" option added.
- Dev - SHIPPING & ORDERS - Orders - "Country by IP" section added.
- Dev - PDF INVOICING & PACKING SLIPS - "Advanced" submodule added (some settings moved from "General", "Styling" and "Display & Misc." sections).
- Dev - PDF INVOICING & PACKING SLIPS - Display - Admin order meta box - Message if no document types are enabled added.
- Dev - PDF INVOICING & PACKING SLIPS - General - Admin settings minor restyling.
- Dev - PDF INVOICING & PACKING SLIPS - General - Report Tool Options - Report Columns - "Cart Total Excl. Tax", "Shipping Total Excl. Tax", "Cart Tax", "Shipping Tax", "Cart Tax %", "Shipping Tax %" columns added.
- Dev - PDF INVOICING & PACKING SLIPS - General - Report Tool Options - "Report Columns" option added.
- Dev - PDF INVOICING & PACKING SLIPS - General - Report Tool Options - "Tax Percent Precision" option added.
- Dev - PDF INVOICING & PACKING SLIPS - Templates - Admin settings minor restyling.
- Dev - EMAILS & MISC. - Admin Tools - Log tool restyled.
- Dev - EMAILS & MISC. - Admin Tools - "Show Variable Product Pricing Table" option added.
- Dev - EMAILS & MISC. - Modules By User Roles - Initial module release.
- Fix - EMAILS & MISC. - Reports - Customers - Flag images fixed.
- Dev - EMAILS & MISC. - Reports - Customers - Country sets updated.
- Dev - Shortcodes - General -
[wcj_tcpdf_rectangle]
shortcode added. - Dev - Shortcodes - General -
[wcj_tcpdf_barcode]
and[wcj_barcode]
- Code refactoring (corresponding functions added towcj-functions-general.php
). - Dev - Shortcodes - Orders -
currency
attribute added to all shortcodes which usewcj_price_shortcode()
function. - Dev - Shortcodes - Orders -
[wcj_order_tcpdf_barcode]
shortcode added. - Fix - Shortcodes - Orders -
[wcj_order_items_table]
-item_subtotal_tax_excl
,item_subtotal_tax_incl
,line_subtotal_tax_excl
,line_subtotal_tax_incl
andline_subtax
columns fixed for "custom" items (i.e. "shipping and discount as item") for WC from v3.0.0. - Dev - Shortcodes - Orders -
[wcj_order_items_table]
-product_barcode
column added. - Dev - Shortcodes - Orders -
[wcj_order_profit]
and[wcj_order_items_cost]
shortcodes added. - Dev - Shortcodes - Products -
[wcj_product_barcode]
shortcode added. - Dev - Functions - General -
wcj_tcpdf_barcode()
- Border removed. - Dev - Functions - Booster Core -
wcj-functions-core.php
file renamed towcj-functions-booster-core.php
. - Dev - Functions - "Core" functions file added.
- Dev - Functions - Exchange Rates -
wcj_get_saved_exchange_rate()
- Returning1
whencurrency_from
equalscurrency_to
. - Fix - Functions - Price and Currency -
wcj_price_by_product_base_currency()
- Checking if currency exchange rate not equals zero (so no division by zero can happen). - Dev - Settings - Readme generator
woojetpack_readme
removed. - Dev - Classes -
WCJ_Module
-create_meta_box()
- Tooltip restyled. Optionalcss
attribute added totitle
type. - Dev - Core - Options - Code refactoring.
- Dev - Core - Shortcodes - Code refactoring - Shortcodes objects saved in
WCJ()->shortcodes
array. - Dev - Core -
wcj-constants.php
file moved tocore
directory. - Dev - Version option name changed. Some filters renamed. "WC tested up to" added to plugin's header.
Download this release
Release Info
Developer | algoritmika |
Plugin | Booster for WooCommerce |
Version | 3.3.0 |
Comparing to | |
See all releases |
Code changes from version 3.2.4 to 3.3.0
- includes/add-to-cart/class-wcj-add-to-cart-per-category.php +1 -1
- includes/admin/class-wc-settings-jetpack.php +6 -16
- includes/admin/class-wcj-settings-custom-fields.php +1 -1
- includes/admin/class-wcj-settings-manager.php +5 -4
- includes/admin/wcj-modules-cats.php +5 -2
- includes/class-wcj-add-to-cart-button-visibility.php +173 -0
- includes/class-wcj-add-to-cart.php +3 -3
- includes/class-wcj-admin-orders-list.php +3 -3
- includes/class-wcj-admin-products-list.php +2 -2
- includes/class-wcj-admin-tools.php +41 -4
- includes/class-wcj-breadcrumbs.php +1 -1
- includes/class-wcj-call-for-price.php +5 -5
- includes/class-wcj-cart.php +2 -2
- includes/class-wcj-checkout-core-fields.php +28 -8
- includes/class-wcj-checkout-custom-fields.php +8 -8
- includes/class-wcj-checkout-custom-info.php +2 -2
- includes/class-wcj-checkout-customization.php +16 -2
- includes/class-wcj-checkout-files-upload.php +6 -6
- includes/class-wcj-coupon-code-generator.php +2 -2
- includes/class-wcj-currencies.php +2 -2
- includes/class-wcj-currency-exchange-rates.php +10 -10
- includes/class-wcj-currency-per-product.php +60 -11
- includes/class-wcj-emails-verification.php +3 -3
- includes/class-wcj-emails.php +4 -4
- includes/class-wcj-empty-cart-button.php +1 -1
- includes/class-wcj-eu-vat-number.php +53 -9
- includes/class-wcj-free-price.php +2 -2
- includes/class-wcj-global-discount.php +2 -2
- includes/class-wcj-left-to-free-shipping.php +2 -2
- includes/class-wcj-mini-cart.php +2 -2
- includes/class-wcj-modules-by-user-roles.php +35 -0
- includes/class-wcj-more-button-labels.php +19 -2
- includes/class-wcj-multicurrency-product-base-price.php +1 -1
- includes/class-wcj-multicurrency.php +1 -1
- includes/class-wcj-offer-price.php +4 -4
- includes/class-wcj-order-custom-statuses.php +5 -5
- includes/class-wcj-order-min-amount.php +2 -2
- includes/class-wcj-order-numbers.php +63 -8
- includes/class-wcj-order-quantities.php +7 -7
- includes/class-wcj-orders.php +51 -5
- includes/class-wcj-payment-gateways-by-country.php +4 -3
- includes/class-wcj-payment-gateways-fees.php +26 -9
- includes/class-wcj-payment-gateways-icons.php +1 -1
- includes/class-wcj-payment-gateways-per-category.php +2 -2
- includes/class-wcj-payment-gateways.php +23 -3
- includes/class-wcj-pdf-invoicing.php +2 -2
- includes/class-wcj-price-by-country.php +9 -3
- includes/class-wcj-price-by-user-role.php +3 -3
- includes/class-wcj-price-formats.php +1 -1
- includes/class-wcj-price-labels.php +19 -19
- includes/class-wcj-product-add-to-cart.php +59 -86
- includes/class-wcj-product-addons.php +74 -4
- includes/class-wcj-product-bookings.php +1 -1
- includes/class-wcj-product-bulk-meta-editor.php +1 -1
- includes/class-wcj-product-bulk-price-converter.php +7 -7
- includes/class-wcj-product-by-country.php +6 -6
- includes/class-wcj-product-by-date.php +2 -2
- includes/class-wcj-product-by-time.php +2 -2
- includes/class-wcj-product-custom-info.php +2 -2
- includes/class-wcj-product-info.php +4 -4
- includes/class-wcj-product-listings.php +1 -1
- includes/class-wcj-product-open-pricing.php +1 -1
- includes/class-wcj-product-price-by-formula.php +2 -2
- includes/class-wcj-product-tabs.php +11 -11
- includes/class-wcj-products-per-page.php +1 -1
- includes/class-wcj-products-xml.php +24 -22
- includes/class-wcj-purchase-data.php +16 -25
- includes/class-wcj-related-products.php +4 -4
- includes/class-wcj-sale-flash.php +3 -3
- includes/class-wcj-shipping-by-order-amount.php +1 -1
- includes/class-wcj-shipping-calculator.php +1 -1
- includes/class-wcj-shipping-options.php +9 -7
- includes/class-wcj-sku.php +10 -10
- includes/class-wcj-sorting.php +6 -6
- includes/class-wcj-track-users.php +1 -1
- includes/class-wcj-url-coupons.php +2 -2
- includes/class-wcj-wholesale-price.php +10 -8
- includes/classes/class-wcj-module-shipping-by-condition.php +1 -1
- includes/classes/class-wcj-module.php +8 -9
- includes/core/class-wcj-admin.php +20 -28
- includes/{constants → core}/wcj-constants.php +12 -1
- includes/core/wcj-functions.php +2 -2
- includes/core/wcj-loader.php +2 -2
- includes/core/wcj-modules.php +4 -1
- includes/core/wcj-options.php +6 -16
- includes/core/wcj-shortcodes.php +11 -11
- includes/exchange-rates/class-wcj-exchange-rates-crons.php +10 -10
- includes/export/class-wcj-exporter-orders.php +4 -4
- includes/export/class-wcj-exporter-products.php +2 -2
- includes/functions/wcj-functions-admin.php +66 -3
- includes/functions/wcj-functions-booster-core.php +67 -0
- includes/functions/wcj-functions-core.php +13 -32
- includes/functions/wcj-functions-country.php +3 -3
- includes/functions/wcj-functions-currencies.php +4 -2
- includes/functions/wcj-functions-debug.php +2 -5
- includes/functions/wcj-functions-exchange-rates.php +6 -3
- includes/functions/wcj-functions-general.php +128 -2
- includes/functions/wcj-functions-html.php +6 -4
- includes/functions/wcj-functions-invoicing.php +1 -1
- includes/functions/wcj-functions-price-currency.php +11 -11
- includes/functions/wcj-functions-products.php +6 -18
- includes/functions/wcj-functions-users.php +1 -1
- includes/gateways/class-wc-gateway-wcj-custom.php +6 -6
- includes/input-fields/class-wcj-product-input-fields-core.php +15 -15
- includes/lib/tcpdf_min/include/barcodes/pdf417.php +6 -0
- includes/pdf-invoices/class-wcj-pdf-invoicing-report-tool.php +98 -33
- includes/pdf-invoices/submodules/class-wcj-pdf-invoicing-advanced.php +87 -0
- includes/pdf-invoices/submodules/class-wcj-pdf-invoicing-display.php +39 -35
- includes/price-by-country/class-wcj-price-by-country-core.php +1 -1
- includes/price-by-country/class-wcj-price-by-country-group-generator.php +1 -1
- includes/price-by-country/class-wcj-price-by-country-local.php +37 -57
- includes/price-by-country/wcj-country-currency.php +5 -5
- includes/reports/class-wcj-currency-reports.php +3 -3
- includes/reports/countries/wcj-country-sets.php +7 -2
- includes/reports/wcj-class-reports-customers.php +30 -29
- includes/settings/meta-box/wcj-settings-meta-box-add-to-cart-button-visibility.php +51 -0
- includes/settings/meta-box/wcj-settings-meta-box-admin-tools.php +39 -0
- includes/settings/meta-box/wcj-settings-meta-box-currency-per-product.php +1 -1
- includes/settings/meta-box/wcj-settings-meta-box-multicurrency-base-price.php +2 -2
- includes/settings/meta-box/wcj-settings-meta-box-multicurrency.php +1 -1
- includes/settings/meta-box/wcj-settings-meta-box-order-quantities.php +2 -2
- includes/settings/meta-box/wcj-settings-meta-box-price-by-country.php +75 -0
- includes/settings/meta-box/wcj-settings-meta-box-product-add-to-cart.php +2 -26
- includes/settings/meta-box/wcj-settings-meta-box-product-addons.php +8 -1
- includes/settings/meta-box/wcj-settings-meta-box-product-by-country.php +3 -3
- includes/settings/meta-box/wcj-settings-meta-box-product-by-user-role.php +3 -2
- includes/settings/meta-box/wcj-settings-meta-box-purchase-data.php +1 -1
- includes/settings/meta-box/wcj-settings-meta-box-wholesale-price.php +6 -6
- includes/settings/wcj-settings-add-to-cart-button-visibility.php +111 -0
- includes/settings/wcj-settings-add-to-cart.php +3 -3
- includes/settings/wcj-settings-address-formats.php +1 -1
- includes/settings/wcj-settings-admin-orders-list.php +6 -4
- includes/settings/wcj-settings-admin-products-list.php +3 -3
- includes/settings/wcj-settings-admin-tools.php +8 -1
- includes/settings/wcj-settings-breadcrumbs.php +2 -2
- includes/settings/wcj-settings-call-for-price.php +10 -10
- includes/settings/wcj-settings-cart.php +6 -8
- includes/settings/wcj-settings-checkout-core-fields.php +2 -2
- includes/settings/wcj-settings-checkout-custom-fields.php +3 -3
- includes/settings/wcj-settings-checkout-custom-info.php +5 -7
- includes/settings/wcj-settings-checkout-customization.php +16 -3
- includes/settings/wcj-settings-checkout-files-upload.php +3 -3
- includes/settings/wcj-settings-coupon-code-generator.php +4 -4
- includes/settings/wcj-settings-currency-exchange-rates.php +3 -3
- includes/settings/wcj-settings-currency-per-product.php +24 -7
- includes/settings/wcj-settings-currency.php +5 -5
- includes/settings/wcj-settings-emails-verification.php +8 -8
- includes/settings/wcj-settings-emails.php +3 -3
- includes/settings/wcj-settings-empty-cart.php +4 -4
- includes/settings/wcj-settings-eu-vat-number.php +4 -4
- includes/settings/wcj-settings-export.php +12 -12
- includes/settings/wcj-settings-free-price.php +2 -2
- includes/settings/wcj-settings-general.php +2 -2
- includes/settings/wcj-settings-global-discount.php +4 -4
- includes/settings/wcj-settings-left-to-free-shipping.php +9 -15
- includes/settings/wcj-settings-mini-cart.php +3 -3
- includes/settings/wcj-settings-modules-by-user-roles.php +51 -0
- includes/settings/wcj-settings-more-button-labels.php +9 -1
- includes/settings/wcj-settings-multicurrency-base-price.php +7 -7
- includes/settings/wcj-settings-multicurrency.php +6 -6
- includes/settings/wcj-settings-offer-price.php +5 -5
- includes/settings/wcj-settings-order-custom-statuses.php +8 -8
- includes/settings/wcj-settings-order-min-amount.php +6 -6
- includes/settings/wcj-settings-order-numbers.php +25 -16
- includes/settings/wcj-settings-order-quantities.php +8 -8
- includes/settings/wcj-settings-orders.php +27 -10
- includes/settings/wcj-settings-payment-gateways-by-country.php +4 -4
- includes/settings/wcj-settings-payment-gateways-by-currency.php +5 -5
- includes/settings/wcj-settings-payment-gateways-by-shipping.php +2 -2
- includes/settings/wcj-settings-payment-gateways-by-user-role.php +2 -2
- includes/settings/wcj-settings-payment-gateways-currency.php +3 -3
- includes/settings/wcj-settings-payment-gateways-icons.php +2 -2
- includes/settings/wcj-settings-payment-gateways-min-max.php +2 -2
- includes/settings/wcj-settings-payment-gateways-per-category.php +4 -4
- includes/settings/wcj-settings-payment-gateways.php +22 -5
- includes/settings/wcj-settings-pdf-invoicing-advanced.php +179 -0
- includes/settings/wcj-settings-pdf-invoicing-display.php +1 -19
- includes/settings/wcj-settings-pdf-invoicing-emails.php +1 -1
- includes/settings/wcj-settings-pdf-invoicing-styling.php +1 -53
- includes/settings/wcj-settings-pdf-invoicing-templates.php +8 -16
- includes/settings/wcj-settings-pdf-invoicing.php +5 -77
- includes/settings/wcj-settings-price-by-country.php +37 -11
- includes/settings/wcj-settings-price-by-user-role.php +3 -3
- includes/settings/wcj-settings-price-formats.php +3 -3
- includes/settings/wcj-settings-price-labels.php +37 -47
- includes/settings/wcj-settings-product-add-to-cart.php +91 -46
- includes/settings/wcj-settings-product-addons.php +28 -17
- includes/settings/wcj-settings-product-bulk-meta-editor.php +2 -2
- includes/settings/wcj-settings-product-by-country.php +6 -6
- includes/settings/wcj-settings-product-by-date.php +4 -4
- includes/settings/wcj-settings-product-by-time.php +4 -4
- includes/settings/wcj-settings-product-by-user.php +9 -9
- includes/settings/wcj-settings-product-custom-info.php +3 -3
- includes/settings/wcj-settings-product-input-fields.php +5 -5
- includes/settings/wcj-settings-product-listings.php +2 -2
- includes/settings/wcj-settings-product-open-pricing.php +10 -10
- includes/settings/wcj-settings-product-price-by-formula.php +2 -2
- includes/settings/wcj-settings-product-tabs.php +12 -12
- includes/settings/wcj-settings-products-per-page.php +2 -2
- includes/settings/wcj-settings-products-xml.php +12 -16
- includes/settings/wcj-settings-purchase-data.php +7 -7
- includes/settings/wcj-settings-related-products.php +2 -2
- includes/settings/wcj-settings-sale-flash.php +4 -4
- includes/settings/wcj-settings-shipping-by-condition.php +2 -2
- includes/settings/wcj-settings-shipping-by-order-amount.php +2 -2
- includes/settings/wcj-settings-shipping-calculator.php +6 -6
- includes/settings/wcj-settings-shipping-options.php +8 -8
- includes/settings/wcj-settings-sku.php +10 -10
- includes/settings/wcj-settings-sorting.php +6 -6
- includes/settings/wcj-settings-track-users.php +2 -2
- includes/settings/wcj-settings-url-coupons.php +4 -4
- includes/settings/wcj-settings-wholesale-price.php +15 -7
- includes/shipping/class-wc-shipping-wcj-custom-with-shipping-zones.php +2 -2
- includes/shipping/class-wc-shipping-wcj-custom.php +2 -2
- includes/shortcodes/class-wcj-shortcodes-general.php +46 -90
- includes/shortcodes/class-wcj-shortcodes-order-items.php +62 -9
- includes/shortcodes/class-wcj-shortcodes-orders.php +109 -11
- includes/shortcodes/class-wcj-shortcodes-products-add-form.php +3 -3
- includes/shortcodes/class-wcj-shortcodes-products-crowdfunding.php +17 -9
- includes/shortcodes/class-wcj-shortcodes-products.php +53 -12
- includes/templates/cart-empty.php +36 -36
- includes/tools/class-wcj-order-statuses-tool.php +1 -1
- langs/woocommerce-jetpack.pot +1367 -1026
- readme.txt +77 -3
- woocommerce-jetpack.php +6 -18
includes/add-to-cart/class-wcj-add-to-cart-per-category.php
CHANGED
@@ -44,7 +44,7 @@ class WCJ_Add_To_Cart_Per_Category {
|
|
44 |
function change_add_to_cart_button_text( $add_to_cart_text, $single_or_archive ) {
|
45 |
$product_categories = get_the_terms( get_the_ID(), 'product_cat' );
|
46 |
if ( empty( $product_categories ) ) return $add_to_cart_text;
|
47 |
-
for ( $i = 1; $i <= apply_filters( '
|
48 |
if ( 'yes' !== get_option( 'wcj_add_to_cart_per_category_enabled_group_' . $i ) ) continue;
|
49 |
$categories = get_option( 'wcj_add_to_cart_per_category_ids_group_' . $i );
|
50 |
if ( empty( $categories ) ) continue;
|
44 |
function change_add_to_cart_button_text( $add_to_cart_text, $single_or_archive ) {
|
45 |
$product_categories = get_the_terms( get_the_ID(), 'product_cat' );
|
46 |
if ( empty( $product_categories ) ) return $add_to_cart_text;
|
47 |
+
for ( $i = 1; $i <= apply_filters( 'booster_option', 1, get_option( 'wcj_add_to_cart_per_category_total_groups_number', 1 ) ); $i++ ) {
|
48 |
if ( 'yes' !== get_option( 'wcj_add_to_cart_per_category_enabled_group_' . $i ) ) continue;
|
49 |
$categories = get_option( 'wcj_add_to_cart_per_category_ids_group_' . $i );
|
50 |
if ( empty( $categories ) ) continue;
|
includes/admin/class-wc-settings-jetpack.php
CHANGED
@@ -2,7 +2,7 @@
|
|
2 |
/**
|
3 |
* Booster for WooCommerce - Settings
|
4 |
*
|
5 |
-
* @version 3.
|
6 |
* @since 1.0.0
|
7 |
* @author Algoritmika Ltd.
|
8 |
*/
|
@@ -243,8 +243,7 @@ class WC_Settings_Jetpack extends WC_Settings_Page {
|
|
243 |
/**
|
244 |
* output_dashboard.
|
245 |
*
|
246 |
-
* @version 3.
|
247 |
-
* @todo (maybe) remove `woojetpack_readme`
|
248 |
*/
|
249 |
function output_dashboard( $current_section ) {
|
250 |
|
@@ -263,9 +262,6 @@ class WC_Settings_Jetpack extends WC_Settings_Page {
|
|
263 |
echo '<p>' . __( 'This section lets you export, import or reset all Booster\'s modules settings.', 'woocommerce-jetpack' ) . '</p>';
|
264 |
}
|
265 |
|
266 |
-
$readme_html = '';
|
267 |
-
$readme_html .= '<pre>';
|
268 |
-
|
269 |
if ( 'alphabetically' === $current_section ) {
|
270 |
$this->output_dashboard_modules( $the_settings );
|
271 |
} elseif ( 'by_category' === $current_section ) {
|
@@ -280,8 +276,7 @@ class WC_Settings_Jetpack extends WC_Settings_Page {
|
|
280 |
} else {
|
281 |
echo '<h4>' . $cat_label_info['label'] . '</h4>';
|
282 |
}
|
283 |
-
$
|
284 |
-
$readme_html .= $this->output_dashboard_modules( $the_settings, $cat_id );
|
285 |
}
|
286 |
} elseif ( 'active' === $current_section ) {
|
287 |
$this->output_dashboard_modules( $the_settings, 'active_modules_only' );
|
@@ -335,10 +330,8 @@ class WC_Settings_Jetpack extends WC_Settings_Page {
|
|
335 |
$plugin_data = get_plugin_data( WCJ_PLUGIN_FILE );
|
336 |
$plugin_title = ( isset( $plugin_data['Name'] ) ? '[' . $plugin_data['Name'] . '] ' : '' );
|
337 |
echo '<p style="text-align:right;color:gray;font-size:x-small;font-style:italic;">' . $plugin_title .
|
338 |
-
__( 'Version', 'woocommerce-jetpack' ) . ': ' . get_option(
|
339 |
|
340 |
-
$readme_html .= '</pre>';
|
341 |
-
if ( isset( $_GET['woojetpack_readme'] ) ) echo $readme_html;
|
342 |
}
|
343 |
|
344 |
/**
|
@@ -351,10 +344,9 @@ class WC_Settings_Jetpack extends WC_Settings_Page {
|
|
351 |
/**
|
352 |
* output_dashboard_modules.
|
353 |
*
|
354 |
-
* @version 3.
|
355 |
*/
|
356 |
function output_dashboard_modules( $settings, $cat_id = '' ) {
|
357 |
-
$readme_html = '';
|
358 |
?>
|
359 |
<table class="wp-list-table widefat plugins">
|
360 |
<thead>
|
@@ -412,7 +404,6 @@ class WC_Settings_Jetpack extends WC_Settings_Page {
|
|
412 |
$html .= '<div class="plugin-description"><p>' . ( ( isset( $the_feature['wcj_desc'] ) ) ? $the_feature['wcj_desc'] : $the_feature['desc_tip'] ) . '</p></div>';
|
413 |
$html .= '</td>';
|
414 |
$html .= '</tr>';
|
415 |
-
$readme_html .= '* *' . $the_feature['title'] . '* - ' . ( ( isset( $the_feature['wcj_desc'] ) ) ? $the_feature['wcj_desc'] : $the_feature['desc_tip'] ) . PHP_EOL;
|
416 |
}
|
417 |
echo $html;
|
418 |
if ( 0 == $total_modules && 'active_modules_only' === $cat_id ) {
|
@@ -420,7 +411,6 @@ class WC_Settings_Jetpack extends WC_Settings_Page {
|
|
420 |
}
|
421 |
?></tbody>
|
422 |
</table><p style="color:gray;font-size:x-small;font-style:italic;"><?php echo __( 'Total Modules:' ) . ' ' . $total_modules; ?></p><?php
|
423 |
-
return $readme_html;
|
424 |
}
|
425 |
|
426 |
/**
|
@@ -432,7 +422,7 @@ class WC_Settings_Jetpack extends WC_Settings_Page {
|
|
432 |
global $current_section;
|
433 |
$settings = $this->get_settings( $current_section );
|
434 |
WC_Admin_Settings::save_fields( $settings );
|
435 |
-
echo apply_filters( '
|
436 |
do_action( 'woojetpack_after_settings_save', $this->get_sections(), $current_section );
|
437 |
}
|
438 |
|
2 |
/**
|
3 |
* Booster for WooCommerce - Settings
|
4 |
*
|
5 |
+
* @version 3.3.0
|
6 |
* @since 1.0.0
|
7 |
* @author Algoritmika Ltd.
|
8 |
*/
|
243 |
/**
|
244 |
* output_dashboard.
|
245 |
*
|
246 |
+
* @version 3.3.0
|
|
|
247 |
*/
|
248 |
function output_dashboard( $current_section ) {
|
249 |
|
262 |
echo '<p>' . __( 'This section lets you export, import or reset all Booster\'s modules settings.', 'woocommerce-jetpack' ) . '</p>';
|
263 |
}
|
264 |
|
|
|
|
|
|
|
265 |
if ( 'alphabetically' === $current_section ) {
|
266 |
$this->output_dashboard_modules( $the_settings );
|
267 |
} elseif ( 'by_category' === $current_section ) {
|
276 |
} else {
|
277 |
echo '<h4>' . $cat_label_info['label'] . '</h4>';
|
278 |
}
|
279 |
+
$this->output_dashboard_modules( $the_settings, $cat_id );
|
|
|
280 |
}
|
281 |
} elseif ( 'active' === $current_section ) {
|
282 |
$this->output_dashboard_modules( $the_settings, 'active_modules_only' );
|
330 |
$plugin_data = get_plugin_data( WCJ_PLUGIN_FILE );
|
331 |
$plugin_title = ( isset( $plugin_data['Name'] ) ? '[' . $plugin_data['Name'] . '] ' : '' );
|
332 |
echo '<p style="text-align:right;color:gray;font-size:x-small;font-style:italic;">' . $plugin_title .
|
333 |
+
__( 'Version', 'woocommerce-jetpack' ) . ': ' . get_option( WCJ_VERSION_OPTION, 'N/A' ) . '</p>';
|
334 |
|
|
|
|
|
335 |
}
|
336 |
|
337 |
/**
|
344 |
/**
|
345 |
* output_dashboard_modules.
|
346 |
*
|
347 |
+
* @version 3.3.0
|
348 |
*/
|
349 |
function output_dashboard_modules( $settings, $cat_id = '' ) {
|
|
|
350 |
?>
|
351 |
<table class="wp-list-table widefat plugins">
|
352 |
<thead>
|
404 |
$html .= '<div class="plugin-description"><p>' . ( ( isset( $the_feature['wcj_desc'] ) ) ? $the_feature['wcj_desc'] : $the_feature['desc_tip'] ) . '</p></div>';
|
405 |
$html .= '</td>';
|
406 |
$html .= '</tr>';
|
|
|
407 |
}
|
408 |
echo $html;
|
409 |
if ( 0 == $total_modules && 'active_modules_only' === $cat_id ) {
|
411 |
}
|
412 |
?></tbody>
|
413 |
</table><p style="color:gray;font-size:x-small;font-style:italic;"><?php echo __( 'Total Modules:' ) . ' ' . $total_modules; ?></p><?php
|
|
|
414 |
}
|
415 |
|
416 |
/**
|
422 |
global $current_section;
|
423 |
$settings = $this->get_settings( $current_section );
|
424 |
WC_Admin_Settings::save_fields( $settings );
|
425 |
+
echo apply_filters( 'booster_message', '', 'global' );
|
426 |
do_action( 'woojetpack_after_settings_save', $this->get_sections(), $current_section );
|
427 |
}
|
428 |
|
includes/admin/class-wcj-settings-custom-fields.php
CHANGED
@@ -294,7 +294,7 @@ class WCJ_Settings_Custom_Fields {
|
|
294 |
$tooltip_html = ( isset( $value['desc_tip'] ) && '' != $value['desc_tip'] ) ?
|
295 |
'<span class="woocommerce-help-tip" data-tip="' . $value['desc_tip'] . '"></span>' : '';
|
296 |
$description = ' <span class="description">' . $value['desc'] . '</span>';
|
297 |
-
$save_button = apply_filters( '
|
298 |
' <input name="save" class="button-primary" type="submit" value="' . __( 'Save changes', 'woocommerce' ) . '">' );
|
299 |
// Custom attribute handling
|
300 |
$custom_attributes = array();
|
294 |
$tooltip_html = ( isset( $value['desc_tip'] ) && '' != $value['desc_tip'] ) ?
|
295 |
'<span class="woocommerce-help-tip" data-tip="' . $value['desc_tip'] . '"></span>' : '';
|
296 |
$description = ' <span class="description">' . $value['desc'] . '</span>';
|
297 |
+
$save_button = apply_filters( 'booster_option', '',
|
298 |
' <input name="save" class="button-primary" type="submit" value="' . __( 'Save changes', 'woocommerce' ) . '">' );
|
299 |
// Custom attribute handling
|
300 |
$custom_attributes = array();
|
includes/admin/class-wcj-settings-manager.php
CHANGED
@@ -2,7 +2,7 @@
|
|
2 |
/**
|
3 |
* Booster for WooCommerce - Settings Manager
|
4 |
*
|
5 |
-
* @version 3.
|
6 |
* @since 2.9.0
|
7 |
* @author Algoritmika Ltd.
|
8 |
*/
|
@@ -17,7 +17,8 @@ class WCJ_Settings_Manager {
|
|
17 |
* Constructor.
|
18 |
*
|
19 |
* @version 2.9.0
|
20 |
-
* @
|
|
|
21 |
*/
|
22 |
function __construct() {
|
23 |
// Import / Export / Reset Booster's settings
|
@@ -87,7 +88,7 @@ class WCJ_Settings_Manager {
|
|
87 |
/**
|
88 |
* manage_options_export.
|
89 |
*
|
90 |
-
* @version
|
91 |
* @since 2.5.2
|
92 |
*/
|
93 |
function manage_options_export() {
|
@@ -108,7 +109,7 @@ class WCJ_Settings_Manager {
|
|
108 |
}
|
109 |
}
|
110 |
$export_settings = json_encode( $export_settings );
|
111 |
-
$export_settings = 'Booster for WooCommerce v' . get_option(
|
112 |
header( "Content-Type: application/octet-stream" );
|
113 |
header( "Content-Disposition: attachment; filename=booster_settings.txt" );
|
114 |
header( "Content-Type: application/octet-stream" );
|
2 |
/**
|
3 |
* Booster for WooCommerce - Settings Manager
|
4 |
*
|
5 |
+
* @version 3.3.0
|
6 |
* @since 2.9.0
|
7 |
* @author Algoritmika Ltd.
|
8 |
*/
|
17 |
* Constructor.
|
18 |
*
|
19 |
* @version 2.9.0
|
20 |
+
* @since 2.9.0
|
21 |
+
* @todo add options to import/export selected modules only
|
22 |
*/
|
23 |
function __construct() {
|
24 |
// Import / Export / Reset Booster's settings
|
88 |
/**
|
89 |
* manage_options_export.
|
90 |
*
|
91 |
+
* @version 3.3.0
|
92 |
* @since 2.5.2
|
93 |
*/
|
94 |
function manage_options_export() {
|
109 |
}
|
110 |
}
|
111 |
$export_settings = json_encode( $export_settings );
|
112 |
+
$export_settings = 'Booster for WooCommerce v' . get_option( WCJ_VERSION_OPTION, 'NA' ) . PHP_EOL . $export_settings;
|
113 |
header( "Content-Type: application/octet-stream" );
|
114 |
header( "Content-Disposition: attachment; filename=booster_settings.txt" );
|
115 |
header( "Content-Type: application/octet-stream" );
|
includes/admin/wcj-modules-cats.php
CHANGED
@@ -2,7 +2,7 @@
|
|
2 |
/**
|
3 |
* Booster for WooCommerce - Modules Array
|
4 |
*
|
5 |
-
* @version 3.
|
6 |
* @since 2.2.0
|
7 |
* @author Algoritmika Ltd.
|
8 |
* @todo (maybe) split "Shipping & Orders", "Cart & Checkout", "Products", "Prices & Currencies" etc.
|
@@ -71,6 +71,7 @@ return apply_filters( 'wcj_modules', array(
|
|
71 |
'stock',
|
72 |
'product_input_fields',
|
73 |
'product_add_to_cart',
|
|
|
74 |
'purchase_data',
|
75 |
'product_bookings',
|
76 |
'crowdfunding',
|
@@ -158,6 +159,7 @@ return apply_filters( 'wcj_modules', array(
|
|
158 |
'pdf_invoicing_page',
|
159 |
'pdf_invoicing_emails',
|
160 |
'pdf_invoicing_display',
|
|
|
161 |
),
|
162 |
),
|
163 |
|
@@ -180,7 +182,8 @@ return apply_filters( 'wcj_modules', array(
|
|
180 |
'custom_css',
|
181 |
'custom_js',
|
182 |
'track_users',
|
183 |
-
'
|
|
|
184 |
),
|
185 |
),
|
186 |
|
2 |
/**
|
3 |
* Booster for WooCommerce - Modules Array
|
4 |
*
|
5 |
+
* @version 3.3.0
|
6 |
* @since 2.2.0
|
7 |
* @author Algoritmika Ltd.
|
8 |
* @todo (maybe) split "Shipping & Orders", "Cart & Checkout", "Products", "Prices & Currencies" etc.
|
71 |
'stock',
|
72 |
'product_input_fields',
|
73 |
'product_add_to_cart',
|
74 |
+
'add_to_cart_button_visibility',
|
75 |
'purchase_data',
|
76 |
'product_bookings',
|
77 |
'crowdfunding',
|
159 |
'pdf_invoicing_page',
|
160 |
'pdf_invoicing_emails',
|
161 |
'pdf_invoicing_display',
|
162 |
+
'pdf_invoicing_advanced',
|
163 |
),
|
164 |
),
|
165 |
|
182 |
'custom_css',
|
183 |
'custom_js',
|
184 |
'track_users',
|
185 |
+
'modules_by_user_roles',
|
186 |
+
'product_info', // deprecated
|
187 |
),
|
188 |
),
|
189 |
|
includes/class-wcj-add-to-cart-button-visibility.php
ADDED
@@ -0,0 +1,173 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?php
|
2 |
+
/**
|
3 |
+
* Booster for WooCommerce - Module - Add to Cart Button Visibility
|
4 |
+
*
|
5 |
+
* @version 3.3.0
|
6 |
+
* @since 3.3.0
|
7 |
+
* @author Algoritmika Ltd.
|
8 |
+
*/
|
9 |
+
|
10 |
+
if ( ! defined( 'ABSPATH' ) ) exit; // Exit if accessed directly
|
11 |
+
|
12 |
+
if ( ! class_exists( 'WCJ_Add_To_Cart_Button_Visibility' ) ) :
|
13 |
+
|
14 |
+
class WCJ_Add_To_Cart_Button_Visibility extends WCJ_Module {
|
15 |
+
|
16 |
+
/**
|
17 |
+
* Constructor.
|
18 |
+
*
|
19 |
+
* @version 3.3.0
|
20 |
+
* @since 3.3.0
|
21 |
+
*/
|
22 |
+
function __construct() {
|
23 |
+
|
24 |
+
$this->id = 'add_to_cart_button_visibility';
|
25 |
+
$this->short_desc = __( 'Add to Cart Button Visibility', 'woocommerce-jetpack' );
|
26 |
+
$this->desc = __( 'Enable/disable WooCommerce Add to Cart button globally or on per product basis.', 'woocommerce-jetpack' );
|
27 |
+
$this->extra_desc = '<em>' . sprintf(
|
28 |
+
__( 'If you need to enable/disable Add to Cart button for some <strong>user roles</strong> only, we suggest using this module in conjunction with Booster\'s %s module.', 'woocommerce-jetpack' ),
|
29 |
+
'<a href="' . wcj_get_module_settings_admin_url( 'modules_by_user_roles' ) . '">' .
|
30 |
+
__( 'Modules By User Roles', 'woocommerce-jetpack' ) . '</a>'
|
31 |
+
) . '</em>';
|
32 |
+
$this->link_slug = 'woocommerce-add-to-cart-button-visibility';
|
33 |
+
parent::__construct();
|
34 |
+
|
35 |
+
if ( $this->is_enabled() ) {
|
36 |
+
// All products
|
37 |
+
if ( 'yes' === get_option( 'wcj_add_to_cart_button_global_enabled', 'no' ) ) {
|
38 |
+
// Archives
|
39 |
+
if ( 'yes' === get_option( 'wcj_add_to_cart_button_disable_archives', 'no' ) ) {
|
40 |
+
add_action( 'init', array( $this, 'add_to_cart_button_disable_archives' ), PHP_INT_MAX );
|
41 |
+
}
|
42 |
+
// Single Product
|
43 |
+
if ( 'yes' === get_option( 'wcj_add_to_cart_button_disable_single', 'no' ) ) {
|
44 |
+
add_action( 'init', array( $this, 'add_to_cart_button_disable_single' ), PHP_INT_MAX );
|
45 |
+
}
|
46 |
+
}
|
47 |
+
// Per category
|
48 |
+
if ( 'yes' === get_option( 'wcj_add_to_cart_button_per_category_enabled', 'no' ) ) {
|
49 |
+
// Single Product
|
50 |
+
add_action( 'woocommerce_before_add_to_cart_button', array( $this, 'add_to_cart_button_disable_start_per_category' ), PHP_INT_MAX, 0 );
|
51 |
+
add_action( 'woocommerce_after_add_to_cart_button', array( $this, 'add_to_cart_button_disable_end_per_category' ), PHP_INT_MAX, 0 );
|
52 |
+
// Archives
|
53 |
+
add_filter( 'woocommerce_loop_add_to_cart_link', array( $this, 'add_to_cart_button_loop_disable_per_category' ), PHP_INT_MAX, 2 );
|
54 |
+
}
|
55 |
+
// Per product
|
56 |
+
if ( 'yes' === get_option( 'wcj_add_to_cart_button_per_product_enabled', 'no' ) ) {
|
57 |
+
// Single Product
|
58 |
+
add_action( 'woocommerce_before_add_to_cart_button', array( $this, 'add_to_cart_button_disable_start' ), PHP_INT_MAX, 0 );
|
59 |
+
add_action( 'woocommerce_after_add_to_cart_button', array( $this, 'add_to_cart_button_disable_end' ), PHP_INT_MAX, 0 );
|
60 |
+
// Archives
|
61 |
+
add_filter( 'woocommerce_loop_add_to_cart_link', array( $this, 'add_to_cart_button_loop_disable' ), PHP_INT_MAX, 2 );
|
62 |
+
// Metaboxes
|
63 |
+
add_action( 'add_meta_boxes', array( $this, 'add_meta_box' ) );
|
64 |
+
add_action( 'save_post_product', array( $this, 'save_meta_box' ), PHP_INT_MAX, 2 );
|
65 |
+
}
|
66 |
+
}
|
67 |
+
|
68 |
+
}
|
69 |
+
|
70 |
+
/**
|
71 |
+
* add_to_cart_button_disable_end_per_category.
|
72 |
+
*
|
73 |
+
* @version 3.3.0
|
74 |
+
* @since 3.3.0
|
75 |
+
*/
|
76 |
+
function add_to_cart_button_disable_end_per_category() {
|
77 |
+
$cats_to_hide = get_option( 'wcj_add_to_cart_button_per_category_disable_single', '' );
|
78 |
+
if ( ! empty( $cats_to_hide ) && 0 != get_the_ID() && wcj_is_product_term( get_the_ID(), $cats_to_hide, 'product_cat' ) ) {
|
79 |
+
ob_end_clean();
|
80 |
+
echo do_shortcode( get_option( 'wcj_add_to_cart_button_per_category_content_single', '' ) );
|
81 |
+
}
|
82 |
+
}
|
83 |
+
|
84 |
+
/**
|
85 |
+
* add_to_cart_button_disable_start_per_category.
|
86 |
+
*
|
87 |
+
* @version 3.3.0
|
88 |
+
* @since 3.3.0
|
89 |
+
*/
|
90 |
+
function add_to_cart_button_disable_start_per_category() {
|
91 |
+
$cats_to_hide = get_option( 'wcj_add_to_cart_button_per_category_disable_single', '' );
|
92 |
+
if ( ! empty( $cats_to_hide ) && 0 != get_the_ID() && wcj_is_product_term( get_the_ID(), $cats_to_hide, 'product_cat' ) ) {
|
93 |
+
ob_start();
|
94 |
+
}
|
95 |
+
}
|
96 |
+
|
97 |
+
/**
|
98 |
+
* add_to_cart_button_loop_disable_per_category.
|
99 |
+
*
|
100 |
+
* @version 3.3.0
|
101 |
+
* @since 3.3.0
|
102 |
+
*/
|
103 |
+
function add_to_cart_button_loop_disable_per_category( $link, $_product ) {
|
104 |
+
$cats_to_hide = get_option( 'wcj_add_to_cart_button_per_category_disable_loop', '' );
|
105 |
+
if ( ! empty( $cats_to_hide ) && wcj_is_product_term( wcj_get_product_id_or_variation_parent_id( $_product ), $cats_to_hide, 'product_cat' ) ) {
|
106 |
+
return do_shortcode( get_option( 'wcj_add_to_cart_button_per_category_content_loop', '' ) );
|
107 |
+
}
|
108 |
+
return $link;
|
109 |
+
}
|
110 |
+
|
111 |
+
/**
|
112 |
+
* add_to_cart_button_disable_single.
|
113 |
+
*
|
114 |
+
* @version 2.6.0
|
115 |
+
* @since 2.6.0
|
116 |
+
*/
|
117 |
+
function add_to_cart_button_disable_single() {
|
118 |
+
remove_action( 'woocommerce_single_product_summary', 'woocommerce_template_single_add_to_cart', 30 );
|
119 |
+
}
|
120 |
+
|
121 |
+
/**
|
122 |
+
* add_to_cart_button_disable_archives.
|
123 |
+
*
|
124 |
+
* @version 2.6.0
|
125 |
+
* @since 2.6.0
|
126 |
+
*/
|
127 |
+
function add_to_cart_button_disable_archives() {
|
128 |
+
remove_action( 'woocommerce_after_shop_loop_item', 'woocommerce_template_loop_add_to_cart', 10 );
|
129 |
+
}
|
130 |
+
|
131 |
+
/**
|
132 |
+
* add_to_cart_button_loop_disable.
|
133 |
+
*
|
134 |
+
* @version 3.3.0
|
135 |
+
* @since 2.5.2
|
136 |
+
*/
|
137 |
+
function add_to_cart_button_loop_disable( $link, $_product ) {
|
138 |
+
if ( 0 != get_the_ID() && 'yes' === get_post_meta( get_the_ID(), '_' . 'wcj_add_to_cart_button_loop_disable', true ) ) {
|
139 |
+
return do_shortcode( get_post_meta( get_the_ID(), '_' . 'wcj_add_to_cart_button_loop_disable_content', true ) );
|
140 |
+
}
|
141 |
+
return $link;
|
142 |
+
}
|
143 |
+
|
144 |
+
/**
|
145 |
+
* add_to_cart_button_disable_end.
|
146 |
+
*
|
147 |
+
* @version 3.3.0
|
148 |
+
* @since 2.5.2
|
149 |
+
*/
|
150 |
+
function add_to_cart_button_disable_end() {
|
151 |
+
if ( 0 != get_the_ID() && 'yes' === get_post_meta( get_the_ID(), '_' . 'wcj_add_to_cart_button_disable', true ) ) {
|
152 |
+
ob_end_clean();
|
153 |
+
echo do_shortcode( get_post_meta( get_the_ID(), '_' . 'wcj_add_to_cart_button_disable_content', true ) );
|
154 |
+
}
|
155 |
+
}
|
156 |
+
|
157 |
+
/**
|
158 |
+
* add_to_cart_button_disable_start.
|
159 |
+
*
|
160 |
+
* @version 2.5.2
|
161 |
+
* @since 2.5.2
|
162 |
+
*/
|
163 |
+
function add_to_cart_button_disable_start() {
|
164 |
+
if ( 0 != get_the_ID() && 'yes' === get_post_meta( get_the_ID(), '_' . 'wcj_add_to_cart_button_disable', true ) ) {
|
165 |
+
ob_start();
|
166 |
+
}
|
167 |
+
}
|
168 |
+
|
169 |
+
}
|
170 |
+
|
171 |
+
endif;
|
172 |
+
|
173 |
+
return new WCJ_Add_To_Cart_Button_Visibility();
|
includes/class-wcj-add-to-cart.php
CHANGED
@@ -2,7 +2,7 @@
|
|
2 |
/**
|
3 |
* Booster for WooCommerce - Module - Add to Cart
|
4 |
*
|
5 |
-
* @version
|
6 |
* @author Algoritmika Ltd.
|
7 |
*/
|
8 |
|
@@ -15,12 +15,12 @@ class WCJ_Add_To_Cart extends WCJ_Module {
|
|
15 |
/**
|
16 |
* Constructor.
|
17 |
*
|
18 |
-
* @version
|
19 |
*/
|
20 |
function __construct() {
|
21 |
|
22 |
$this->id = 'add_to_cart';
|
23 |
-
$this->short_desc = __( 'Add to Cart Labels', 'woocommerce-jetpack' );
|
24 |
$this->desc = __( 'Change text for Add to Cart button by WooCommerce product type, by product category or for individual products.', 'woocommerce-jetpack' );
|
25 |
$this->link_slug = 'woocommerce-add-to-cart-labels';
|
26 |
parent::__construct();
|
2 |
/**
|
3 |
* Booster for WooCommerce - Module - Add to Cart
|
4 |
*
|
5 |
+
* @version 3.3.0
|
6 |
* @author Algoritmika Ltd.
|
7 |
*/
|
8 |
|
15 |
/**
|
16 |
* Constructor.
|
17 |
*
|
18 |
+
* @version 3.3.0
|
19 |
*/
|
20 |
function __construct() {
|
21 |
|
22 |
$this->id = 'add_to_cart';
|
23 |
+
$this->short_desc = __( 'Add to Cart Button Labels', 'woocommerce-jetpack' );
|
24 |
$this->desc = __( 'Change text for Add to Cart button by WooCommerce product type, by product category or for individual products.', 'woocommerce-jetpack' );
|
25 |
$this->link_slug = 'woocommerce-add-to-cart-labels';
|
26 |
parent::__construct();
|
includes/class-wcj-admin-orders-list.php
CHANGED
@@ -100,7 +100,7 @@ class WCJ_Admin_Orders_List extends WCJ_Module {
|
|
100 |
*/
|
101 |
function shop_order_sortable_columns( $columns ) {
|
102 |
$custom = array();
|
103 |
-
$total_number = apply_filters( '
|
104 |
for ( $i = 1; $i <= $total_number; $i++ ) {
|
105 |
if ( 'yes' === get_option( 'wcj_orders_list_custom_columns_enabled_' . $i, 'no' ) ) {
|
106 |
if ( 'no' != get_option( 'wcj_orders_list_custom_columns_sortable_' . $i, 'no' ) && '' != get_option( 'wcj_orders_list_custom_columns_sortable_key_' . $i, '' ) ) {
|
@@ -332,7 +332,7 @@ class WCJ_Admin_Orders_List extends WCJ_Module {
|
|
332 |
if ( 'yes' === get_option( 'wcj_orders_list_custom_columns_currency', 'no' ) ) {
|
333 |
$columns['currency'] = __( 'Currency Code', 'woocommerce-jetpack' );
|
334 |
}
|
335 |
-
$total_number = apply_filters( '
|
336 |
for ( $i = 1; $i <= $total_number; $i++ ) {
|
337 |
if ( 'yes' === get_option( 'wcj_orders_list_custom_columns_enabled_' . $i, 'no' ) ) {
|
338 |
$columns[ 'wcj_orders_custom_column_' . $i ] = get_option( 'wcj_orders_list_custom_columns_label_' . $i, '' );
|
@@ -356,7 +356,7 @@ class WCJ_Admin_Orders_List extends WCJ_Module {
|
|
356 |
} elseif ( 'currency' === $column && 'yes' === get_option( 'wcj_orders_list_custom_columns_currency', 'no' ) ) {
|
357 |
echo do_shortcode( '[wcj_order_currency]' );
|
358 |
} else {
|
359 |
-
$total_number = apply_filters( '
|
360 |
for ( $i = 1; $i <= $total_number; $i++ ) {
|
361 |
if ( 'yes' === get_option( 'wcj_orders_list_custom_columns_enabled_' . $i, 'no' ) ) {
|
362 |
if ( 'wcj_orders_custom_column_' . $i === $column ) {
|
100 |
*/
|
101 |
function shop_order_sortable_columns( $columns ) {
|
102 |
$custom = array();
|
103 |
+
$total_number = apply_filters( 'booster_option', 1, get_option( 'wcj_orders_list_custom_columns_total_number', 1 ) );
|
104 |
for ( $i = 1; $i <= $total_number; $i++ ) {
|
105 |
if ( 'yes' === get_option( 'wcj_orders_list_custom_columns_enabled_' . $i, 'no' ) ) {
|
106 |
if ( 'no' != get_option( 'wcj_orders_list_custom_columns_sortable_' . $i, 'no' ) && '' != get_option( 'wcj_orders_list_custom_columns_sortable_key_' . $i, '' ) ) {
|
332 |
if ( 'yes' === get_option( 'wcj_orders_list_custom_columns_currency', 'no' ) ) {
|
333 |
$columns['currency'] = __( 'Currency Code', 'woocommerce-jetpack' );
|
334 |
}
|
335 |
+
$total_number = apply_filters( 'booster_option', 1, get_option( 'wcj_orders_list_custom_columns_total_number', 1 ) );
|
336 |
for ( $i = 1; $i <= $total_number; $i++ ) {
|
337 |
if ( 'yes' === get_option( 'wcj_orders_list_custom_columns_enabled_' . $i, 'no' ) ) {
|
338 |
$columns[ 'wcj_orders_custom_column_' . $i ] = get_option( 'wcj_orders_list_custom_columns_label_' . $i, '' );
|
356 |
} elseif ( 'currency' === $column && 'yes' === get_option( 'wcj_orders_list_custom_columns_currency', 'no' ) ) {
|
357 |
echo do_shortcode( '[wcj_order_currency]' );
|
358 |
} else {
|
359 |
+
$total_number = apply_filters( 'booster_option', 1, get_option( 'wcj_orders_list_custom_columns_total_number', 1 ) );
|
360 |
for ( $i = 1; $i <= $total_number; $i++ ) {
|
361 |
if ( 'yes' === get_option( 'wcj_orders_list_custom_columns_enabled_' . $i, 'no' ) ) {
|
362 |
if ( 'wcj_orders_custom_column_' . $i === $column ) {
|
includes/class-wcj-admin-products-list.php
CHANGED
@@ -94,7 +94,7 @@ class WCJ_Admin_Products_List extends WCJ_Module {
|
|
94 |
* @since 2.9.0
|
95 |
*/
|
96 |
function add_product_columns( $columns ) {
|
97 |
-
$total_number = apply_filters( '
|
98 |
for ( $i = 1; $i <= $total_number; $i++ ) {
|
99 |
if ( 'yes' === get_option( 'wcj_products_admin_list_custom_columns_enabled_' . $i, 'no' ) ) {
|
100 |
$columns[ 'wcj_products_custom_column_' . $i ] = get_option( 'wcj_products_admin_list_custom_columns_label_' . $i, '' );
|
@@ -110,7 +110,7 @@ class WCJ_Admin_Products_List extends WCJ_Module {
|
|
110 |
* @since 2.9.0
|
111 |
*/
|
112 |
function render_product_column( $column ) {
|
113 |
-
$total_number = apply_filters( '
|
114 |
for ( $i = 1; $i <= $total_number; $i++ ) {
|
115 |
if ( 'yes' === get_option( 'wcj_products_admin_list_custom_columns_enabled_' . $i, 'no' ) ) {
|
116 |
if ( 'wcj_products_custom_column_' . $i === $column ) {
|
94 |
* @since 2.9.0
|
95 |
*/
|
96 |
function add_product_columns( $columns ) {
|
97 |
+
$total_number = apply_filters( 'booster_option', 1, get_option( 'wcj_products_admin_list_custom_columns_total_number', 1 ) );
|
98 |
for ( $i = 1; $i <= $total_number; $i++ ) {
|
99 |
if ( 'yes' === get_option( 'wcj_products_admin_list_custom_columns_enabled_' . $i, 'no' ) ) {
|
100 |
$columns[ 'wcj_products_custom_column_' . $i ] = get_option( 'wcj_products_admin_list_custom_columns_label_' . $i, '' );
|
110 |
* @since 2.9.0
|
111 |
*/
|
112 |
function render_product_column( $column ) {
|
113 |
+
$total_number = apply_filters( 'booster_option', 1, get_option( 'wcj_products_admin_list_custom_columns_total_number', 1 ) );
|
114 |
for ( $i = 1; $i <= $total_number; $i++ ) {
|
115 |
if ( 'yes' === get_option( 'wcj_products_admin_list_custom_columns_enabled_' . $i, 'no' ) ) {
|
116 |
if ( 'wcj_products_custom_column_' . $i === $column ) {
|
includes/class-wcj-admin-tools.php
CHANGED
@@ -2,7 +2,7 @@
|
|
2 |
/**
|
3 |
* Booster for WooCommerce - Module - Admin Tools
|
4 |
*
|
5 |
-
* @version 3.
|
6 |
* @author Algoritmika Ltd.
|
7 |
*/
|
8 |
|
@@ -15,7 +15,7 @@ class WCJ_Admin_Tools extends WCJ_Module {
|
|
15 |
/**
|
16 |
* Constructor.
|
17 |
*
|
18 |
-
* @version
|
19 |
*/
|
20 |
function __construct() {
|
21 |
|
@@ -54,6 +54,39 @@ class WCJ_Admin_Tools extends WCJ_Module {
|
|
54 |
if ( 'yes' === get_option( 'wcj_admin_tools_show_product_meta_enabled', 'no' ) ) {
|
55 |
add_action( 'add_meta_boxes', array( $this, 'add_product_meta_meta_box' ) );
|
56 |
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
57 |
}
|
58 |
}
|
59 |
|
@@ -132,7 +165,7 @@ class WCJ_Admin_Tools extends WCJ_Module {
|
|
132 |
/**
|
133 |
* create_admin_tools_tool.
|
134 |
*
|
135 |
-
* @version
|
136 |
*/
|
137 |
function create_admin_tools_tool() {
|
138 |
// Delete log
|
@@ -149,7 +182,11 @@ class WCJ_Admin_Tools extends WCJ_Module {
|
|
149 |
// Log
|
150 |
$the_log = '';
|
151 |
$the_log .= '<p style="font-style:italic;color:gray;">' . sprintf( __( 'Now: %s', 'woocommerce-jetpack' ), date( 'Y-m-d H:i:s' ) ) . '</p>';
|
152 |
-
|
|
|
|
|
|
|
|
|
153 |
// Final output
|
154 |
$html = '';
|
155 |
$html .= '<div class="wrap">';
|
2 |
/**
|
3 |
* Booster for WooCommerce - Module - Admin Tools
|
4 |
*
|
5 |
+
* @version 3.3.0
|
6 |
* @author Algoritmika Ltd.
|
7 |
*/
|
8 |
|
15 |
/**
|
16 |
* Constructor.
|
17 |
*
|
18 |
+
* @version 3.3.0
|
19 |
*/
|
20 |
function __construct() {
|
21 |
|
54 |
if ( 'yes' === get_option( 'wcj_admin_tools_show_product_meta_enabled', 'no' ) ) {
|
55 |
add_action( 'add_meta_boxes', array( $this, 'add_product_meta_meta_box' ) );
|
56 |
}
|
57 |
+
// Variable Product Pricing
|
58 |
+
if ( 'yes' === get_option( 'wcj_admin_tools_variable_product_pricing_table_enabled', 'no' ) ) {
|
59 |
+
add_action( 'admin_head', array( $this, 'make_original_variable_product_pricing_readonly' ) );
|
60 |
+
add_action( 'add_meta_boxes', array( $this, 'maybe_add_variable_product_pricing_meta_box' ) );
|
61 |
+
add_action( 'save_post_product', array( $this, 'save_meta_box' ), PHP_INT_MAX, 2 );
|
62 |
+
}
|
63 |
+
}
|
64 |
+
}
|
65 |
+
|
66 |
+
/**
|
67 |
+
* make_original_variable_product_pricing_readonly.
|
68 |
+
*
|
69 |
+
* @version 3.3.0
|
70 |
+
* @since 3.3.0
|
71 |
+
* @todo this is not really making fields readonly (e.g. field is still editable via keyboard tab button)
|
72 |
+
*/
|
73 |
+
function make_original_variable_product_pricing_readonly() {
|
74 |
+
echo '<style>
|
75 |
+
div.variable_pricing input.wc_input_price {
|
76 |
+
pointer-events: none;
|
77 |
+
}
|
78 |
+
</style>';
|
79 |
+
}
|
80 |
+
|
81 |
+
/**
|
82 |
+
* maybe_add_variable_product_pricing_meta_box.
|
83 |
+
*
|
84 |
+
* @version 3.3.0
|
85 |
+
* @since 3.3.0
|
86 |
+
*/
|
87 |
+
function maybe_add_variable_product_pricing_meta_box() {
|
88 |
+
if ( ( $_product = wc_get_product() ) && $_product->is_type( 'variable' ) ) {
|
89 |
+
parent::add_meta_box();
|
90 |
}
|
91 |
}
|
92 |
|
165 |
/**
|
166 |
* create_admin_tools_tool.
|
167 |
*
|
168 |
+
* @version 3.3.0
|
169 |
*/
|
170 |
function create_admin_tools_tool() {
|
171 |
// Delete log
|
182 |
// Log
|
183 |
$the_log = '';
|
184 |
$the_log .= '<p style="font-style:italic;color:gray;">' . sprintf( __( 'Now: %s', 'woocommerce-jetpack' ), date( 'Y-m-d H:i:s' ) ) . '</p>';
|
185 |
+
if ( '' != ( $log = get_option( 'wcj_log', '' ) ) ) {
|
186 |
+
$the_log .= '<pre style="color:green;background-color:black;padding:5px;">' . $log . '</pre>';
|
187 |
+
} else {
|
188 |
+
$the_log .= '<p style="font-style:italic;color:gray;">' . __( 'Log is empty.', 'woocommerce-jetpack' ) . '</p>';
|
189 |
+
}
|
190 |
// Final output
|
191 |
$html = '';
|
192 |
$html .= '<div class="wrap">';
|
includes/class-wcj-breadcrumbs.php
CHANGED
@@ -32,7 +32,7 @@ class WCJ_Breadcrumbs extends WCJ_Module {
|
|
32 |
|
33 |
if ( $this->is_enabled() ) {
|
34 |
// Hide Breadcrumbs
|
35 |
-
if ( 'yes' === apply_filters( '
|
36 |
add_filter( 'woocommerce_get_breadcrumb', '__return_false', PHP_INT_MAX );
|
37 |
add_action( 'wp_head', array( $this, 'hide_breadcrumbs_with_css' ) );
|
38 |
add_action( 'wp_loaded', array( $this, 'hide_breadcrumbs_by_removing_action' ), PHP_INT_MAX );
|
32 |
|
33 |
if ( $this->is_enabled() ) {
|
34 |
// Hide Breadcrumbs
|
35 |
+
if ( 'yes' === apply_filters( 'booster_option', 'no', get_option( 'wcj_breadcrumbs_hide', 'no' ) ) ) {
|
36 |
add_filter( 'woocommerce_get_breadcrumb', '__return_false', PHP_INT_MAX );
|
37 |
add_action( 'wp_head', array( $this, 'hide_breadcrumbs_with_css' ) );
|
38 |
add_action( 'wp_loaded', array( $this, 'hide_breadcrumbs_by_removing_action' ), PHP_INT_MAX );
|
includes/class-wcj-call-for-price.php
CHANGED
@@ -152,15 +152,15 @@ class WCJ_Call_For_Price extends WCJ_module {
|
|
152 |
*/
|
153 |
function on_empty_price( $price, $_product ) {
|
154 |
if ( '' !== get_option( 'wcj_call_for_price_text_variation' ) && $_product->is_type( 'variation' ) ) {
|
155 |
-
return do_shortcode( apply_filters( '
|
156 |
} elseif ( '' !== get_option( 'wcj_call_for_price_text' ) && is_single( get_the_ID() ) ) {
|
157 |
-
return do_shortcode( apply_filters( '
|
158 |
} elseif ( '' !== get_option( 'wcj_call_for_price_text_on_related' ) && is_single() && ! is_single( get_the_ID() ) ) {
|
159 |
-
return do_shortcode( apply_filters( '
|
160 |
} elseif ( '' !== get_option( 'wcj_call_for_price_text_on_archive' ) && is_archive() ) {
|
161 |
-
return do_shortcode( apply_filters( '
|
162 |
} elseif ( '' !== get_option( 'wcj_call_for_price_text_on_home' ) && is_front_page() ) {
|
163 |
-
return do_shortcode( apply_filters( '
|
164 |
} else {
|
165 |
return $price;
|
166 |
}
|
152 |
*/
|
153 |
function on_empty_price( $price, $_product ) {
|
154 |
if ( '' !== get_option( 'wcj_call_for_price_text_variation' ) && $_product->is_type( 'variation' ) ) {
|
155 |
+
return do_shortcode( apply_filters( 'booster_option', '<strong>Call for price</strong>', get_option( 'wcj_call_for_price_text_variation' ) ) );
|
156 |
} elseif ( '' !== get_option( 'wcj_call_for_price_text' ) && is_single( get_the_ID() ) ) {
|
157 |
+
return do_shortcode( apply_filters( 'booster_option', '<strong>Call for price</strong>', get_option( 'wcj_call_for_price_text' ) ) );
|
158 |
} elseif ( '' !== get_option( 'wcj_call_for_price_text_on_related' ) && is_single() && ! is_single( get_the_ID() ) ) {
|
159 |
+
return do_shortcode( apply_filters( 'booster_option', '<strong>Call for price</strong>', get_option( 'wcj_call_for_price_text_on_related' ) ) );
|
160 |
} elseif ( '' !== get_option( 'wcj_call_for_price_text_on_archive' ) && is_archive() ) {
|
161 |
+
return do_shortcode( apply_filters( 'booster_option', '<strong>Call for price</strong>', get_option( 'wcj_call_for_price_text_on_archive' ) ) );
|
162 |
} elseif ( '' !== get_option( 'wcj_call_for_price_text_on_home' ) && is_front_page() ) {
|
163 |
+
return do_shortcode( apply_filters( 'booster_option', '<strong>Call for price</strong>', get_option( 'wcj_call_for_price_text_on_home' ) ) );
|
164 |
} else {
|
165 |
return $price;
|
166 |
}
|
includes/class-wcj-cart.php
CHANGED
@@ -29,7 +29,7 @@ class WCJ_Cart extends WCJ_Module {
|
|
29 |
// Cart items table custom info
|
30 |
add_filter( 'woocommerce_cart_item_name', array( $this, 'add_custom_info_to_cart_item_name' ), PHP_INT_MAX, 3 );
|
31 |
// Cart custom info
|
32 |
-
$total_number = apply_filters( '
|
33 |
for ( $i = 1; $i <= $total_number; $i++) {
|
34 |
add_action(
|
35 |
get_option( 'wcj_cart_custom_info_hook_' . $i, 'woocommerce_after_cart_totals' ),
|
@@ -66,7 +66,7 @@ class WCJ_Cart extends WCJ_Module {
|
|
66 |
function add_cart_custom_info() {
|
67 |
$current_filter = current_filter();
|
68 |
$current_filter_priority = wcj_current_filter_priority();
|
69 |
-
$total_number = apply_filters( '
|
70 |
for ( $i = 1; $i <= $total_number; $i++ ) {
|
71 |
if (
|
72 |
'' != get_option( 'wcj_cart_custom_info_content_' . $i ) &&
|
29 |
// Cart items table custom info
|
30 |
add_filter( 'woocommerce_cart_item_name', array( $this, 'add_custom_info_to_cart_item_name' ), PHP_INT_MAX, 3 );
|
31 |
// Cart custom info
|
32 |
+
$total_number = apply_filters( 'booster_option', 1, get_option( 'wcj_cart_custom_info_total_number', 1 ) );
|
33 |
for ( $i = 1; $i <= $total_number; $i++) {
|
34 |
add_action(
|
35 |
get_option( 'wcj_cart_custom_info_hook_' . $i, 'woocommerce_after_cart_totals' ),
|
66 |
function add_cart_custom_info() {
|
67 |
$current_filter = current_filter();
|
68 |
$current_filter_priority = wcj_current_filter_priority();
|
69 |
+
$total_number = apply_filters( 'booster_option', 1, get_option( 'wcj_cart_custom_info_total_number', 1 ) );
|
70 |
for ( $i = 1; $i <= $total_number; $i++ ) {
|
71 |
if (
|
72 |
'' != get_option( 'wcj_cart_custom_info_content_' . $i ) &&
|
includes/class-wcj-checkout-core-fields.php
CHANGED
@@ -2,7 +2,7 @@
|
|
2 |
/**
|
3 |
* Booster for WooCommerce - Module - Checkout Core Fields
|
4 |
*
|
5 |
-
* @version 3.
|
6 |
* @author Algoritmika Ltd.
|
7 |
*/
|
8 |
|
@@ -68,19 +68,39 @@ class WCJ_Checkout_Core_Fields extends WCJ_Module {
|
|
68 |
/**
|
69 |
* maybe_override_fields.
|
70 |
*
|
71 |
-
* @version 3.
|
72 |
* @since 3.1.0
|
|
|
|
|
73 |
*/
|
74 |
function maybe_override_fields( $fields, $override_with_section ) {
|
75 |
$options_to_override = array(
|
76 |
-
'label' =>
|
77 |
-
|
78 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
79 |
);
|
80 |
foreach ( $fields as $field_key => $field_values ) {
|
81 |
$field = $override_with_section . '_' . $field_key;
|
82 |
-
foreach ( $options_to_override as $option => $
|
83 |
-
|
|
|
|
|
|
|
|
|
84 |
$fields[ $field_key ][ $option ] = $value;
|
85 |
}
|
86 |
}
|
@@ -147,7 +167,7 @@ class WCJ_Checkout_Core_Fields extends WCJ_Module {
|
|
147 |
$checkout_fields[ $section ][ $field ]['class'] = array( $class );
|
148 |
}
|
149 |
// priority
|
150 |
-
if ( 0 != ( $priority = apply_filters( '
|
151 |
$checkout_fields[ $section ][ $field ]['priority'] = $priority;
|
152 |
}
|
153 |
}
|
2 |
/**
|
3 |
* Booster for WooCommerce - Module - Checkout Core Fields
|
4 |
*
|
5 |
+
* @version 3.3.0
|
6 |
* @author Algoritmika Ltd.
|
7 |
*/
|
8 |
|
68 |
/**
|
69 |
* maybe_override_fields.
|
70 |
*
|
71 |
+
* @version 3.3.0
|
72 |
* @since 3.1.0
|
73 |
+
* @todo (maybe) add option to choose `$options_to_override`
|
74 |
+
* @todo (maybe) add to `$options_to_override`: enabled; class;
|
75 |
*/
|
76 |
function maybe_override_fields( $fields, $override_with_section ) {
|
77 |
$options_to_override = array(
|
78 |
+
'label' => array(
|
79 |
+
'default' => '',
|
80 |
+
),
|
81 |
+
'placeholder' => array(
|
82 |
+
'default' => '',
|
83 |
+
),
|
84 |
+
'priority' => array(
|
85 |
+
'default' => 0,
|
86 |
+
),
|
87 |
+
'required' => array(
|
88 |
+
'default' => 'default',
|
89 |
+
'option_id' => 'is_required',
|
90 |
+
'values' => array(
|
91 |
+
'yes' => true,
|
92 |
+
'no' => false,
|
93 |
+
),
|
94 |
+
),
|
95 |
);
|
96 |
foreach ( $fields as $field_key => $field_values ) {
|
97 |
$field = $override_with_section . '_' . $field_key;
|
98 |
+
foreach ( $options_to_override as $option => $option_data ) {
|
99 |
+
$default_value = $option_data['default'];
|
100 |
+
$option_id = ( isset( $option_data['option_id'] ) ? $option_data['option_id'] : $option );
|
101 |
+
$option_id = 'wcj_checkout_fields_' . $field . '_' . $option_id;
|
102 |
+
if ( $default_value != ( $value = get_option( $option_id, $default_value ) ) ) {
|
103 |
+
$value = ( isset( $option_data['values'][ $value ] ) ? $option_data['values'][ $value ] : $value );
|
104 |
$fields[ $field_key ][ $option ] = $value;
|
105 |
}
|
106 |
}
|
167 |
$checkout_fields[ $section ][ $field ]['class'] = array( $class );
|
168 |
}
|
169 |
// priority
|
170 |
+
if ( 0 != ( $priority = apply_filters( 'booster_option', 0, get_option( 'wcj_checkout_fields_' . $field . '_' . 'priority', 0 ) ) ) ) {
|
171 |
$checkout_fields[ $section ][ $field ]['priority'] = $priority;
|
172 |
}
|
173 |
}
|
includes/class-wcj-checkout-custom-fields.php
CHANGED
@@ -50,7 +50,7 @@ class WCJ_Checkout_Custom_Fields extends WCJ_Module {
|
|
50 |
add_filter( 'woocommerce_form_field_' . 'text', array( $this, 'woocommerce_form_field_type_number' ), PHP_INT_MAX, 4 );
|
51 |
|
52 |
add_filter( 'woocommerce_customer_meta_fields', array( $this, 'add_checkout_custom_fields_customer_meta_fields' ) );
|
53 |
-
for ( $i = 1; $i <= apply_filters( '
|
54 |
if ( 'yes' === get_option( 'wcj_checkout_custom_field_enabled_' . $i ) ) {
|
55 |
$the_section = get_option( 'wcj_checkout_custom_field_section_' . $i );
|
56 |
$the_key = 'wcj_checkout_field_' . $i;
|
@@ -73,7 +73,7 @@ class WCJ_Checkout_Custom_Fields extends WCJ_Module {
|
|
73 |
function maybe_enqueue_scripts( $fields ) {
|
74 |
if ( is_checkout() ) {
|
75 |
$select2_fields = array();
|
76 |
-
for ( $i = 1; $i <= apply_filters( '
|
77 |
if ( 'yes' === get_option( 'wcj_checkout_custom_field_enabled_' . $i, 'no' ) ) {
|
78 |
if ( 'select' === get_option( 'wcj_checkout_custom_field_type_' . $i, 'text' ) ) {
|
79 |
if ( 'yes' === get_option( 'wcj_checkout_custom_field_select_select2_' . $i, 'no' ) ) {
|
@@ -108,7 +108,7 @@ class WCJ_Checkout_Custom_Fields extends WCJ_Module {
|
|
108 |
* @since 2.4.5
|
109 |
*/
|
110 |
function add_checkout_custom_fields_customer_meta_fields( $fields ) {
|
111 |
-
for ( $i = 1; $i <= apply_filters( '
|
112 |
if ( 'yes' === get_option( 'wcj_checkout_custom_field_enabled_' . $i ) ) {
|
113 |
if ( 'no' === get_option( 'wcj_checkout_custom_field_customer_meta_fields_' . $i, 'yes' ) ) {
|
114 |
continue;
|
@@ -185,7 +185,7 @@ class WCJ_Checkout_Custom_Fields extends WCJ_Module {
|
|
185 |
* add_custom_fields_to_store_exporter.
|
186 |
*/
|
187 |
function add_custom_fields_to_store_exporter( $fields ) {
|
188 |
-
for ( $i = 1; $i <= apply_filters( '
|
189 |
if ( 'yes' === get_option( 'wcj_checkout_custom_field_enabled_' . $i ) ) {
|
190 |
$the_section = get_option( 'wcj_checkout_custom_field_section_' . $i );
|
191 |
$the_key = 'wcj_checkout_field_' . $i;
|
@@ -202,7 +202,7 @@ class WCJ_Checkout_Custom_Fields extends WCJ_Module {
|
|
202 |
* add_custom_shipping_fields_to_formatted_address.
|
203 |
*/
|
204 |
/* function add_custom_shipping_fields_to_formatted_address( $fields, $order ) {
|
205 |
-
for ( $i = 1; $i <= apply_filters( '
|
206 |
//if ( 'yes' === get_option( 'wcj_checkout_custom_field_enabled_' . $i ) ) {
|
207 |
$the_section = get_option( 'wcj_checkout_custom_field_section_' . $i );
|
208 |
if ( 'shipping' === $the_section ) {
|
@@ -220,7 +220,7 @@ class WCJ_Checkout_Custom_Fields extends WCJ_Module {
|
|
220 |
* @version 2.4.7
|
221 |
*/
|
222 |
function update_custom_checkout_fields_order_meta( $order_id ) {
|
223 |
-
for ( $i = 1; $i <= apply_filters( '
|
224 |
if ( 'yes' === get_option( 'wcj_checkout_custom_field_enabled_' . $i ) ) {
|
225 |
$the_section = get_option( 'wcj_checkout_custom_field_section_' . $i );
|
226 |
$the_type = get_option( 'wcj_checkout_custom_field_type_' . $i );
|
@@ -362,7 +362,7 @@ class WCJ_Checkout_Custom_Fields extends WCJ_Module {
|
|
362 |
* @version 2.4.7
|
363 |
*/
|
364 |
function add_woocommerce_admin_fields( $fields, $section ) {
|
365 |
-
for ( $i = 1; $i <= apply_filters( '
|
366 |
if ( 'yes' === get_option( 'wcj_checkout_custom_field_enabled_' . $i ) ) {
|
367 |
$the_section = get_option( 'wcj_checkout_custom_field_section_' . $i );
|
368 |
if ( $section != $the_section ) {
|
@@ -558,7 +558,7 @@ class WCJ_Checkout_Custom_Fields extends WCJ_Module {
|
|
558 |
*/
|
559 |
function add_custom_checkout_fields( $fields ) {
|
560 |
|
561 |
-
for ( $i = 1; $i <= apply_filters( '
|
562 |
|
563 |
if ( 'yes' === get_option( 'wcj_checkout_custom_field_enabled_' . $i ) ) {
|
564 |
|
50 |
add_filter( 'woocommerce_form_field_' . 'text', array( $this, 'woocommerce_form_field_type_number' ), PHP_INT_MAX, 4 );
|
51 |
|
52 |
add_filter( 'woocommerce_customer_meta_fields', array( $this, 'add_checkout_custom_fields_customer_meta_fields' ) );
|
53 |
+
for ( $i = 1; $i <= apply_filters( 'booster_option', 1, get_option( 'wcj_checkout_custom_fields_total_number', 1 ) ); $i++ ) {
|
54 |
if ( 'yes' === get_option( 'wcj_checkout_custom_field_enabled_' . $i ) ) {
|
55 |
$the_section = get_option( 'wcj_checkout_custom_field_section_' . $i );
|
56 |
$the_key = 'wcj_checkout_field_' . $i;
|
73 |
function maybe_enqueue_scripts( $fields ) {
|
74 |
if ( is_checkout() ) {
|
75 |
$select2_fields = array();
|
76 |
+
for ( $i = 1; $i <= apply_filters( 'booster_option', 1, get_option( 'wcj_checkout_custom_fields_total_number', 1 ) ); $i++ ) {
|
77 |
if ( 'yes' === get_option( 'wcj_checkout_custom_field_enabled_' . $i, 'no' ) ) {
|
78 |
if ( 'select' === get_option( 'wcj_checkout_custom_field_type_' . $i, 'text' ) ) {
|
79 |
if ( 'yes' === get_option( 'wcj_checkout_custom_field_select_select2_' . $i, 'no' ) ) {
|
108 |
* @since 2.4.5
|
109 |
*/
|
110 |
function add_checkout_custom_fields_customer_meta_fields( $fields ) {
|
111 |
+
for ( $i = 1; $i <= apply_filters( 'booster_option', 1, get_option( 'wcj_checkout_custom_fields_total_number', 1 ) ); $i++ ) {
|
112 |
if ( 'yes' === get_option( 'wcj_checkout_custom_field_enabled_' . $i ) ) {
|
113 |
if ( 'no' === get_option( 'wcj_checkout_custom_field_customer_meta_fields_' . $i, 'yes' ) ) {
|
114 |
continue;
|
185 |
* add_custom_fields_to_store_exporter.
|
186 |
*/
|
187 |
function add_custom_fields_to_store_exporter( $fields ) {
|
188 |
+
for ( $i = 1; $i <= apply_filters( 'booster_option', 1, get_option( 'wcj_checkout_custom_fields_total_number', 1 ) ); $i++ ) {
|
189 |
if ( 'yes' === get_option( 'wcj_checkout_custom_field_enabled_' . $i ) ) {
|
190 |
$the_section = get_option( 'wcj_checkout_custom_field_section_' . $i );
|
191 |
$the_key = 'wcj_checkout_field_' . $i;
|
202 |
* add_custom_shipping_fields_to_formatted_address.
|
203 |
*/
|
204 |
/* function add_custom_shipping_fields_to_formatted_address( $fields, $order ) {
|
205 |
+
for ( $i = 1; $i <= apply_filters( 'booster_option', 1, get_option( 'wcj_checkout_custom_fields_total_number', 1 ) ); $i++ ) {
|
206 |
//if ( 'yes' === get_option( 'wcj_checkout_custom_field_enabled_' . $i ) ) {
|
207 |
$the_section = get_option( 'wcj_checkout_custom_field_section_' . $i );
|
208 |
if ( 'shipping' === $the_section ) {
|
220 |
* @version 2.4.7
|
221 |
*/
|
222 |
function update_custom_checkout_fields_order_meta( $order_id ) {
|
223 |
+
for ( $i = 1; $i <= apply_filters( 'booster_option', 1, get_option( 'wcj_checkout_custom_fields_total_number', 1 ) ); $i++ ) {
|
224 |
if ( 'yes' === get_option( 'wcj_checkout_custom_field_enabled_' . $i ) ) {
|
225 |
$the_section = get_option( 'wcj_checkout_custom_field_section_' . $i );
|
226 |
$the_type = get_option( 'wcj_checkout_custom_field_type_' . $i );
|
362 |
* @version 2.4.7
|
363 |
*/
|
364 |
function add_woocommerce_admin_fields( $fields, $section ) {
|
365 |
+
for ( $i = 1; $i <= apply_filters( 'booster_option', 1, get_option( 'wcj_checkout_custom_fields_total_number', 1 ) ); $i++ ) {
|
366 |
if ( 'yes' === get_option( 'wcj_checkout_custom_field_enabled_' . $i ) ) {
|
367 |
$the_section = get_option( 'wcj_checkout_custom_field_section_' . $i );
|
368 |
if ( $section != $the_section ) {
|
558 |
*/
|
559 |
function add_custom_checkout_fields( $fields ) {
|
560 |
|
561 |
+
for ( $i = 1; $i <= apply_filters( 'booster_option', 1, get_option( 'wcj_checkout_custom_fields_total_number', 1 ) ); $i++ ) {
|
562 |
|
563 |
if ( 'yes' === get_option( 'wcj_checkout_custom_field_enabled_' . $i ) ) {
|
564 |
|
includes/class-wcj-checkout-custom-info.php
CHANGED
@@ -27,7 +27,7 @@ class WCJ_Checkout_Custom_Info extends WCJ_Module {
|
|
27 |
parent::__construct();
|
28 |
|
29 |
if ( $this->is_enabled() ) {
|
30 |
-
for ( $i = 1; $i <= apply_filters( '
|
31 |
add_action(
|
32 |
get_option( 'wcj_checkout_custom_info_hook_' . $i, 'woocommerce_checkout_after_order_review' ),
|
33 |
array( $this, 'add_checkout_custom_info' ),
|
@@ -45,7 +45,7 @@ class WCJ_Checkout_Custom_Info extends WCJ_Module {
|
|
45 |
function add_checkout_custom_info() {
|
46 |
$current_filter = current_filter();
|
47 |
$current_filter_priority = wcj_current_filter_priority();
|
48 |
-
$total_number = apply_filters( '
|
49 |
for ( $i = 1; $i <= $total_number; $i++ ) {
|
50 |
if (
|
51 |
'' != get_option( 'wcj_checkout_custom_info_content_' . $i ) &&
|
27 |
parent::__construct();
|
28 |
|
29 |
if ( $this->is_enabled() ) {
|
30 |
+
for ( $i = 1; $i <= apply_filters( 'booster_option', 1, get_option( 'wcj_checkout_custom_info_total_number', 1 ) ); $i++) {
|
31 |
add_action(
|
32 |
get_option( 'wcj_checkout_custom_info_hook_' . $i, 'woocommerce_checkout_after_order_review' ),
|
33 |
array( $this, 'add_checkout_custom_info' ),
|
45 |
function add_checkout_custom_info() {
|
46 |
$current_filter = current_filter();
|
47 |
$current_filter_priority = wcj_current_filter_priority();
|
48 |
+
$total_number = apply_filters( 'booster_option', 1, get_option( 'wcj_checkout_custom_info_total_number', 1 ) );
|
49 |
for ( $i = 1; $i <= $total_number; $i++ ) {
|
50 |
if (
|
51 |
'' != get_option( 'wcj_checkout_custom_info_content_' . $i ) &&
|
includes/class-wcj-checkout-customization.php
CHANGED
@@ -2,7 +2,7 @@
|
|
2 |
/**
|
3 |
* Booster for WooCommerce - Module - Checkout Customization
|
4 |
*
|
5 |
-
* @version 3.
|
6 |
* @since 2.7.0
|
7 |
* @author Algoritmika Ltd.
|
8 |
*/
|
@@ -16,7 +16,7 @@ class WCJ_Checkout_Customization extends WCJ_Module {
|
|
16 |
/**
|
17 |
* Constructor.
|
18 |
*
|
19 |
-
* @version 3.
|
20 |
* @since 2.7.0
|
21 |
* @todo "Disable Fields on Checkout for Logged Users" - billing and shipping country ('select' type)
|
22 |
* @todo "Disable Fields on Checkout for Logged Users" - other core fields (e.g. account fields)
|
@@ -66,9 +66,23 @@ class WCJ_Checkout_Customization extends WCJ_Module {
|
|
66 |
if ( 'yes' === get_option( 'wcj_checkout_customization_order_received_message_enabled', 'no' ) ) {
|
67 |
add_filter( 'woocommerce_thankyou_order_received_text', array( $this, 'customize_order_received_message' ), PHP_INT_MAX, 2 );
|
68 |
}
|
|
|
|
|
|
|
|
|
69 |
}
|
70 |
}
|
71 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
72 |
/**
|
73 |
* customize_order_received_message.
|
74 |
*
|
2 |
/**
|
3 |
* Booster for WooCommerce - Module - Checkout Customization
|
4 |
*
|
5 |
+
* @version 3.3.0
|
6 |
* @since 2.7.0
|
7 |
* @author Algoritmika Ltd.
|
8 |
*/
|
16 |
/**
|
17 |
* Constructor.
|
18 |
*
|
19 |
+
* @version 3.3.0
|
20 |
* @since 2.7.0
|
21 |
* @todo "Disable Fields on Checkout for Logged Users" - billing and shipping country ('select' type)
|
22 |
* @todo "Disable Fields on Checkout for Logged Users" - other core fields (e.g. account fields)
|
66 |
if ( 'yes' === get_option( 'wcj_checkout_customization_order_received_message_enabled', 'no' ) ) {
|
67 |
add_filter( 'woocommerce_thankyou_order_received_text', array( $this, 'customize_order_received_message' ), PHP_INT_MAX, 2 );
|
68 |
}
|
69 |
+
// Custom checkout login message
|
70 |
+
if ( 'yes' === get_option( 'wcj_checkout_customization_checkout_login_message_enabled', 'no' ) ) {
|
71 |
+
add_filter( 'woocommerce_checkout_login_message', array( $this, 'checkout_login_message' ), PHP_INT_MAX );
|
72 |
+
}
|
73 |
}
|
74 |
}
|
75 |
|
76 |
+
/**
|
77 |
+
* checkout_login_message.
|
78 |
+
*
|
79 |
+
* @version 3.3.0
|
80 |
+
* @since 3.3.0
|
81 |
+
*/
|
82 |
+
function checkout_login_message( $message ) {
|
83 |
+
return get_option( 'wcj_checkout_customization_checkout_login_message', __( 'Returning customer?', 'woocommerce' ) );
|
84 |
+
}
|
85 |
+
|
86 |
/**
|
87 |
* customize_order_received_message.
|
88 |
*
|
includes/class-wcj-checkout-files-upload.php
CHANGED
@@ -31,7 +31,7 @@ class WCJ_Checkout_Files_Upload extends WCJ_Module {
|
|
31 |
if ( $this->is_enabled() ) {
|
32 |
add_action( 'add_meta_boxes', array( $this, 'add_file_admin_order_meta_box' ) );
|
33 |
add_action( 'init', array( $this, 'process_checkout_files_upload' ) );
|
34 |
-
$total_number = apply_filters( '
|
35 |
for ( $i = 1; $i <= $total_number; $i++ ) {
|
36 |
if ( 'disable' != ( $the_hook = get_option( 'wcj_checkout_files_upload_hook_' . $i, 'woocommerce_before_checkout_form' ) ) ) {
|
37 |
add_action( $the_hook, array( $this, 'add_files_upload_form_to_checkout_frontend' ), get_option( 'wcj_checkout_files_upload_hook_priority_' . $i, 10 ) );
|
@@ -96,7 +96,7 @@ class WCJ_Checkout_Files_Upload extends WCJ_Module {
|
|
96 |
* @since 2.4.5
|
97 |
*/
|
98 |
function validate_on_checkout( $posted ) {
|
99 |
-
$total_number = apply_filters( '
|
100 |
for ( $i = 1; $i <= $total_number; $i++ ) {
|
101 |
if (
|
102 |
'yes' === get_option( 'wcj_checkout_files_upload_enabled_' . $i, 'yes' ) &&
|
@@ -211,7 +211,7 @@ class WCJ_Checkout_Files_Upload extends WCJ_Module {
|
|
211 |
if ( ! file_exists( $upload_dir ) ) {
|
212 |
mkdir( $upload_dir, 0755, true );
|
213 |
}
|
214 |
-
$total_number = apply_filters( '
|
215 |
for ( $i = 1; $i <= $total_number; $i++ ) {
|
216 |
if ( isset( $_SESSION[ 'wcj_checkout_files_upload_' . $i ] ) ) {
|
217 |
$file_name = $_SESSION[ 'wcj_checkout_files_upload_' . $i ]['name'];
|
@@ -243,7 +243,7 @@ class WCJ_Checkout_Files_Upload extends WCJ_Module {
|
|
243 |
session_start();
|
244 |
}
|
245 |
// Remove file
|
246 |
-
$total_number = apply_filters( '
|
247 |
for ( $i = 1; $i <= $total_number; $i++ ) {
|
248 |
if ( isset( $_POST[ 'wcj_remove_checkout_file_' . $i ] ) ) {
|
249 |
if ( isset( $_POST[ 'wcj_checkout_files_upload_order_id_' . $i ] ) ) {
|
@@ -556,7 +556,7 @@ class WCJ_Checkout_Files_Upload extends WCJ_Module {
|
|
556 |
*/
|
557 |
function add_files_upload_form_to_thankyou_and_myaccount_page( $order_id ) {
|
558 |
$html = '';
|
559 |
-
$total_number = apply_filters( '
|
560 |
$current_filter = current_filter();
|
561 |
for ( $i = 1; $i <= $total_number; $i++ ) {
|
562 |
if ( 'yes' === get_option( 'wcj_checkout_files_upload_enabled_' . $i, 'yes' ) && $this->is_visible( $i, $order_id ) ) {
|
@@ -590,7 +590,7 @@ class WCJ_Checkout_Files_Upload extends WCJ_Module {
|
|
590 |
*/
|
591 |
function add_files_upload_form_to_checkout_frontend_all( $is_direct_call = false ) {
|
592 |
$html = '';
|
593 |
-
$total_number = apply_filters( '
|
594 |
if ( ! $is_direct_call ) {
|
595 |
$current_filter = current_filter();
|
596 |
$current_filter_priority = wcj_current_filter_priority();
|
31 |
if ( $this->is_enabled() ) {
|
32 |
add_action( 'add_meta_boxes', array( $this, 'add_file_admin_order_meta_box' ) );
|
33 |
add_action( 'init', array( $this, 'process_checkout_files_upload' ) );
|
34 |
+
$total_number = apply_filters( 'booster_option', 1, get_option( 'wcj_checkout_files_upload_total_number', 1 ) );
|
35 |
for ( $i = 1; $i <= $total_number; $i++ ) {
|
36 |
if ( 'disable' != ( $the_hook = get_option( 'wcj_checkout_files_upload_hook_' . $i, 'woocommerce_before_checkout_form' ) ) ) {
|
37 |
add_action( $the_hook, array( $this, 'add_files_upload_form_to_checkout_frontend' ), get_option( 'wcj_checkout_files_upload_hook_priority_' . $i, 10 ) );
|
96 |
* @since 2.4.5
|
97 |
*/
|
98 |
function validate_on_checkout( $posted ) {
|
99 |
+
$total_number = apply_filters( 'booster_option', 1, get_option( 'wcj_checkout_files_upload_total_number', 1 ) );
|
100 |
for ( $i = 1; $i <= $total_number; $i++ ) {
|
101 |
if (
|
102 |
'yes' === get_option( 'wcj_checkout_files_upload_enabled_' . $i, 'yes' ) &&
|
211 |
if ( ! file_exists( $upload_dir ) ) {
|
212 |
mkdir( $upload_dir, 0755, true );
|
213 |
}
|
214 |
+
$total_number = apply_filters( 'booster_option', 1, get_option( 'wcj_checkout_files_upload_total_number', 1 ) );
|
215 |
for ( $i = 1; $i <= $total_number; $i++ ) {
|
216 |
if ( isset( $_SESSION[ 'wcj_checkout_files_upload_' . $i ] ) ) {
|
217 |
$file_name = $_SESSION[ 'wcj_checkout_files_upload_' . $i ]['name'];
|
243 |
session_start();
|
244 |
}
|
245 |
// Remove file
|
246 |
+
$total_number = apply_filters( 'booster_option', 1, get_option( 'wcj_checkout_files_upload_total_number', 1 ) );
|
247 |
for ( $i = 1; $i <= $total_number; $i++ ) {
|
248 |
if ( isset( $_POST[ 'wcj_remove_checkout_file_' . $i ] ) ) {
|
249 |
if ( isset( $_POST[ 'wcj_checkout_files_upload_order_id_' . $i ] ) ) {
|
556 |
*/
|
557 |
function add_files_upload_form_to_thankyou_and_myaccount_page( $order_id ) {
|
558 |
$html = '';
|
559 |
+
$total_number = apply_filters( 'booster_option', 1, get_option( 'wcj_checkout_files_upload_total_number', 1 ) );
|
560 |
$current_filter = current_filter();
|
561 |
for ( $i = 1; $i <= $total_number; $i++ ) {
|
562 |
if ( 'yes' === get_option( 'wcj_checkout_files_upload_enabled_' . $i, 'yes' ) && $this->is_visible( $i, $order_id ) ) {
|
590 |
*/
|
591 |
function add_files_upload_form_to_checkout_frontend_all( $is_direct_call = false ) {
|
592 |
$html = '';
|
593 |
+
$total_number = apply_filters( 'booster_option', 1, get_option( 'wcj_checkout_files_upload_total_number', 1 ) );
|
594 |
if ( ! $is_direct_call ) {
|
595 |
$current_filter = current_filter();
|
596 |
$current_filter_priority = wcj_current_filter_priority();
|
includes/class-wcj-coupon-code-generator.php
CHANGED
@@ -80,7 +80,7 @@ class WCJ_Coupon_Code_Generator extends WCJ_Module {
|
|
80 |
$str = time();
|
81 |
}
|
82 |
if ( '' === $algorithm ) {
|
83 |
-
$algorithm = apply_filters( '
|
84 |
}
|
85 |
switch ( $algorithm ) {
|
86 |
case 'random_letters_and_numbers':
|
@@ -103,7 +103,7 @@ class WCJ_Coupon_Code_Generator extends WCJ_Module {
|
|
103 |
break;
|
104 |
}
|
105 |
if ( '' === $length ) {
|
106 |
-
$length = apply_filters( '
|
107 |
}
|
108 |
if ( $length > 0 && strlen( $code ) > $length ) {
|
109 |
$code = substr( $code, 0, $length );
|
80 |
$str = time();
|
81 |
}
|
82 |
if ( '' === $algorithm ) {
|
83 |
+
$algorithm = apply_filters( 'booster_option', 'crc32', get_option( 'wcj_coupons_code_generator_algorithm', 'crc32' ) );
|
84 |
}
|
85 |
switch ( $algorithm ) {
|
86 |
case 'random_letters_and_numbers':
|
103 |
break;
|
104 |
}
|
105 |
if ( '' === $length ) {
|
106 |
+
$length = apply_filters( 'booster_option', 0, get_option( 'wcj_coupons_code_generator_length', 0 ) );
|
107 |
}
|
108 |
if ( $length > 0 && strlen( $code ) > $length ) {
|
109 |
$code = substr( $code, 0, $length );
|
includes/class-wcj-currencies.php
CHANGED
@@ -71,9 +71,9 @@ class WCJ_Currencies extends WCJ_Module {
|
|
71 |
'id' => 'wcj_currency_' . get_woocommerce_currency(),
|
72 |
'type' => 'text',
|
73 |
'default' => get_woocommerce_currency_symbol(),
|
74 |
-
'desc' => apply_filters( '
|
75 |
'css' => 'width: 50px;',
|
76 |
-
'custom_attributes' => apply_filters( '
|
77 |
);
|
78 |
}
|
79 |
$updated_settings[] = $section;
|
71 |
'id' => 'wcj_currency_' . get_woocommerce_currency(),
|
72 |
'type' => 'text',
|
73 |
'default' => get_woocommerce_currency_symbol(),
|
74 |
+
'desc' => apply_filters( 'booster_message', '', 'desc' ),
|
75 |
'css' => 'width: 50px;',
|
76 |
+
'custom_attributes' => apply_filters( 'booster_message', '', 'readonly' ),
|
77 |
);
|
78 |
}
|
79 |
$updated_settings[] = $section;
|
includes/class-wcj-currency-exchange-rates.php
CHANGED
@@ -91,7 +91,7 @@ class WCJ_Currency_Exchange_Rates extends WCJ_Module {
|
|
91 |
$currencies[] = $additional_currency;
|
92 |
}
|
93 |
// Additional currencies (via custom currencies section)
|
94 |
-
$total_number = apply_filters( '
|
95 |
for ( $i = 1; $i <= $total_number; $i++ ) {
|
96 |
if ( 'disabled' != ( $additional_currency = get_option( 'wcj_currency_exchange_custom_currencies_' . $i, 'disabled' ) ) ) {
|
97 |
$currencies[] = $additional_currency;
|
@@ -99,8 +99,8 @@ class WCJ_Currency_Exchange_Rates extends WCJ_Module {
|
|
99 |
}
|
100 |
if ( wcj_is_module_enabled( 'price_by_country' ) ) {
|
101 |
// Currency Pairs - Price by Country
|
102 |
-
if ( 'manual' != apply_filters( '
|
103 |
-
for ( $i = 1; $i <= apply_filters( '
|
104 |
$currency_to = get_option( 'wcj_price_by_country_exchange_rate_currency_group_' . $i );
|
105 |
$currencies[] = $currency_to;
|
106 |
}
|
@@ -108,8 +108,8 @@ class WCJ_Currency_Exchange_Rates extends WCJ_Module {
|
|
108 |
}
|
109 |
if ( wcj_is_module_enabled( 'multicurrency' ) ) {
|
110 |
// Currency Pairs - Multicurrency
|
111 |
-
if ( 'manual' != apply_filters( '
|
112 |
-
for ( $i = 1; $i <= apply_filters( '
|
113 |
$currency_to = get_option( 'wcj_multicurrency_currency_' . $i );
|
114 |
$currencies[] = $currency_to;
|
115 |
}
|
@@ -117,8 +117,8 @@ class WCJ_Currency_Exchange_Rates extends WCJ_Module {
|
|
117 |
}
|
118 |
if ( wcj_is_module_enabled( 'multicurrency_base_price' ) ) {
|
119 |
// Currency Pairs - Multicurrency Product Base Price
|
120 |
-
if ( 'manual' != apply_filters( '
|
121 |
-
for ( $i = 1; $i <= apply_filters( '
|
122 |
$currency_to = get_option( 'wcj_multicurrency_base_price_currency_' . $i );
|
123 |
$currencies[] = $currency_to;
|
124 |
}
|
@@ -126,15 +126,15 @@ class WCJ_Currency_Exchange_Rates extends WCJ_Module {
|
|
126 |
}
|
127 |
if ( wcj_is_module_enabled( 'currency_per_product' ) ) {
|
128 |
// Currency Pairs - Currency per Product
|
129 |
-
if ( 'manual' != apply_filters( '
|
130 |
-
for ( $i = 1; $i <= apply_filters( '
|
131 |
$currency_to = get_option( 'wcj_currency_per_product_currency_' . $i );
|
132 |
$currencies[] = $currency_to;
|
133 |
}
|
134 |
}
|
135 |
}
|
136 |
if ( wcj_is_module_enabled( 'payment_gateways_currency' ) ) {
|
137 |
-
if ( 'manual' != apply_filters( '
|
138 |
// Currency Pairs - Gateway Currency
|
139 |
global $woocommerce;
|
140 |
$available_gateways = $woocommerce->payment_gateways->payment_gateways();
|
91 |
$currencies[] = $additional_currency;
|
92 |
}
|
93 |
// Additional currencies (via custom currencies section)
|
94 |
+
$total_number = apply_filters( 'booster_option', 1, get_option( 'wcj_currency_exchange_custom_currencies_total_number', 1 ) );
|
95 |
for ( $i = 1; $i <= $total_number; $i++ ) {
|
96 |
if ( 'disabled' != ( $additional_currency = get_option( 'wcj_currency_exchange_custom_currencies_' . $i, 'disabled' ) ) ) {
|
97 |
$currencies[] = $additional_currency;
|
99 |
}
|
100 |
if ( wcj_is_module_enabled( 'price_by_country' ) ) {
|
101 |
// Currency Pairs - Price by Country
|
102 |
+
if ( 'manual' != apply_filters( 'booster_option', 'manual', get_option( 'wcj_price_by_country_auto_exchange_rates', 'manual' ) ) ) {
|
103 |
+
for ( $i = 1; $i <= apply_filters( 'booster_option', 1, get_option( 'wcj_price_by_country_total_groups_number', 1 ) ); $i++ ) {
|
104 |
$currency_to = get_option( 'wcj_price_by_country_exchange_rate_currency_group_' . $i );
|
105 |
$currencies[] = $currency_to;
|
106 |
}
|
108 |
}
|
109 |
if ( wcj_is_module_enabled( 'multicurrency' ) ) {
|
110 |
// Currency Pairs - Multicurrency
|
111 |
+
if ( 'manual' != apply_filters( 'booster_option', 'manual', get_option( 'wcj_multicurrency_exchange_rate_update_auto', 'manual' ) ) ) {
|
112 |
+
for ( $i = 1; $i <= apply_filters( 'booster_option', 2, get_option( 'wcj_multicurrency_total_number', 2 ) ); $i++ ) {
|
113 |
$currency_to = get_option( 'wcj_multicurrency_currency_' . $i );
|
114 |
$currencies[] = $currency_to;
|
115 |
}
|
117 |
}
|
118 |
if ( wcj_is_module_enabled( 'multicurrency_base_price' ) ) {
|
119 |
// Currency Pairs - Multicurrency Product Base Price
|
120 |
+
if ( 'manual' != apply_filters( 'booster_option', 'manual', get_option( 'wcj_multicurrency_base_price_exchange_rate_update', 'manual' ) ) ) {
|
121 |
+
for ( $i = 1; $i <= apply_filters( 'booster_option', 1, get_option( 'wcj_multicurrency_base_price_total_number', 1 ) ); $i++ ) {
|
122 |
$currency_to = get_option( 'wcj_multicurrency_base_price_currency_' . $i );
|
123 |
$currencies[] = $currency_to;
|
124 |
}
|
126 |
}
|
127 |
if ( wcj_is_module_enabled( 'currency_per_product' ) ) {
|
128 |
// Currency Pairs - Currency per Product
|
129 |
+
if ( 'manual' != apply_filters( 'booster_option', 'manual', get_option( 'wcj_currency_per_product_exchange_rate_update', 'manual' ) ) ) {
|
130 |
+
for ( $i = 1; $i <= apply_filters( 'booster_option', 1, get_option( 'wcj_currency_per_product_total_number', 1 ) ); $i++ ) {
|
131 |
$currency_to = get_option( 'wcj_currency_per_product_currency_' . $i );
|
132 |
$currencies[] = $currency_to;
|
133 |
}
|
134 |
}
|
135 |
}
|
136 |
if ( wcj_is_module_enabled( 'payment_gateways_currency' ) ) {
|
137 |
+
if ( 'manual' != apply_filters( 'booster_option', 'manual', get_option( 'wcj_gateways_currency_exchange_rate_update_auto', 'manual' ) ) ) {
|
138 |
// Currency Pairs - Gateway Currency
|
139 |
global $woocommerce;
|
140 |
$available_gateways = $woocommerce->payment_gateways->payment_gateways();
|
includes/class-wcj-currency-per-product.php
CHANGED
@@ -2,7 +2,7 @@
|
|
2 |
/**
|
3 |
* Booster for WooCommerce - Module - Currency per Product
|
4 |
*
|
5 |
-
* @version 3.
|
6 |
* @since 2.5.2
|
7 |
* @author Algoritmika Ltd.
|
8 |
*/
|
@@ -16,7 +16,7 @@ class WCJ_Currency_Per_Product extends WCJ_Module {
|
|
16 |
/**
|
17 |
* Constructor.
|
18 |
*
|
19 |
-
* @version
|
20 |
* @since 2.5.2
|
21 |
* @todo (maybe) add `$this->price_hooks_priority`
|
22 |
*/
|
@@ -30,6 +30,8 @@ class WCJ_Currency_Per_Product extends WCJ_Module {
|
|
30 |
|
31 |
if ( $this->is_enabled() ) {
|
32 |
|
|
|
|
|
33 |
add_action( 'add_meta_boxes', array( $this, 'add_meta_box' ) );
|
34 |
add_action( 'save_post_product', array( $this, 'save_meta_box' ), PHP_INT_MAX, 2 );
|
35 |
|
@@ -117,7 +119,7 @@ class WCJ_Currency_Per_Product extends WCJ_Module {
|
|
117 |
if ( $do_check_by_product_tags ) {
|
118 |
$_product_tags = wcj_get_the_terms( $product_id, 'product_tag' );
|
119 |
}
|
120 |
-
$total_number = apply_filters( '
|
121 |
for ( $i = 1; $i <= $total_number; $i++ ) {
|
122 |
if ( $do_check_by_users ) {
|
123 |
$users = get_option( 'wcj_currency_per_product_users_' . $i, '' );
|
@@ -245,7 +247,7 @@ class WCJ_Currency_Per_Product extends WCJ_Module {
|
|
245 |
*/
|
246 |
function get_currency_exchange_rate( $currency_code ) {
|
247 |
$currency_exchange_rate = 1;
|
248 |
-
$total_number = apply_filters( '
|
249 |
for ( $i = 1; $i <= $total_number; $i++ ) {
|
250 |
if ( $currency_code === get_option( 'wcj_currency_per_product_currency_' . $i ) ) {
|
251 |
$currency_exchange_rate = 1 / get_option( 'wcj_currency_per_product_exchange_rate_' . $i );
|
@@ -255,10 +257,40 @@ class WCJ_Currency_Per_Product extends WCJ_Module {
|
|
255 |
return $currency_exchange_rate;
|
256 |
}
|
257 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
258 |
/**
|
259 |
* change_price.
|
260 |
*
|
261 |
-
* @version
|
262 |
* @since 2.5.2
|
263 |
*/
|
264 |
function change_price( $price, $_product ) {
|
@@ -270,25 +302,35 @@ class WCJ_Currency_Per_Product extends WCJ_Module {
|
|
270 |
return $price;
|
271 |
case 'convert_first_product':
|
272 |
case 'convert_last_product':
|
273 |
-
$shop_currency = get_option('woocommerce_currency');
|
274 |
if ( false != ( $_currency = $this->get_cart_checkout_currency() ) && $_currency != $shop_currency ) {
|
275 |
if ( $_product->wcj_currency_per_product === $_currency ) {
|
276 |
return $price;
|
277 |
} else {
|
|
|
|
|
|
|
278 |
$exchange_rate_product = $this->get_currency_exchange_rate( $_product->wcj_currency_per_product );
|
279 |
$exchange_rate_cart_checkout = $this->get_currency_exchange_rate( $_currency );
|
280 |
$exchange_rate = $exchange_rate_product / $exchange_rate_cart_checkout;
|
281 |
-
return $price * $exchange_rate;
|
282 |
}
|
283 |
} elseif ( $_product->wcj_currency_per_product === $shop_currency ) {
|
284 |
return $price;
|
285 |
} else {
|
|
|
|
|
|
|
286 |
$exchange_rate = $this->get_currency_exchange_rate( $_product->wcj_currency_per_product );
|
287 |
-
return $price * $exchange_rate;
|
288 |
}
|
289 |
default: // case 'convert_shop_default':
|
|
|
|
|
|
|
|
|
290 |
$exchange_rate = $this->get_currency_exchange_rate( $_product->wcj_currency_per_product );
|
291 |
-
return $price * $exchange_rate;
|
292 |
}
|
293 |
}
|
294 |
return $price;
|
@@ -297,12 +339,15 @@ class WCJ_Currency_Per_Product extends WCJ_Module {
|
|
297 |
/**
|
298 |
* get_cart_item_from_session.
|
299 |
*
|
300 |
-
* @version
|
301 |
* @since 2.5.2
|
302 |
*/
|
303 |
function get_cart_item_from_session( $item, $values, $key ) {
|
304 |
if ( array_key_exists( 'wcj_currency_per_product', $values ) ) {
|
305 |
$item['data']->wcj_currency_per_product = $values['wcj_currency_per_product'];
|
|
|
|
|
|
|
306 |
}
|
307 |
return $item;
|
308 |
}
|
@@ -324,12 +369,16 @@ class WCJ_Currency_Per_Product extends WCJ_Module {
|
|
324 |
/**
|
325 |
* add_cart_item.
|
326 |
*
|
327 |
-
* @version
|
328 |
* @since 2.5.2
|
|
|
329 |
*/
|
330 |
function add_cart_item( $cart_item_data, $cart_item_key ) {
|
331 |
if ( isset( $cart_item_data['wcj_currency_per_product'] ) ) {
|
332 |
$cart_item_data['data']->wcj_currency_per_product = $cart_item_data['wcj_currency_per_product'];
|
|
|
|
|
|
|
333 |
}
|
334 |
return $cart_item_data;
|
335 |
}
|
2 |
/**
|
3 |
* Booster for WooCommerce - Module - Currency per Product
|
4 |
*
|
5 |
+
* @version 3.3.0
|
6 |
* @since 2.5.2
|
7 |
* @author Algoritmika Ltd.
|
8 |
*/
|
16 |
/**
|
17 |
* Constructor.
|
18 |
*
|
19 |
+
* @version 3.3.0
|
20 |
* @since 2.5.2
|
21 |
* @todo (maybe) add `$this->price_hooks_priority`
|
22 |
*/
|
30 |
|
31 |
if ( $this->is_enabled() ) {
|
32 |
|
33 |
+
$this->do_save_converted_prices = ( 'yes' === get_option( 'wcj_currency_per_product_save_prices', 'no' ) );
|
34 |
+
|
35 |
add_action( 'add_meta_boxes', array( $this, 'add_meta_box' ) );
|
36 |
add_action( 'save_post_product', array( $this, 'save_meta_box' ), PHP_INT_MAX, 2 );
|
37 |
|
119 |
if ( $do_check_by_product_tags ) {
|
120 |
$_product_tags = wcj_get_the_terms( $product_id, 'product_tag' );
|
121 |
}
|
122 |
+
$total_number = apply_filters( 'booster_option', 1, get_option( 'wcj_currency_per_product_total_number', 1 ) );
|
123 |
for ( $i = 1; $i <= $total_number; $i++ ) {
|
124 |
if ( $do_check_by_users ) {
|
125 |
$users = get_option( 'wcj_currency_per_product_users_' . $i, '' );
|
247 |
*/
|
248 |
function get_currency_exchange_rate( $currency_code ) {
|
249 |
$currency_exchange_rate = 1;
|
250 |
+
$total_number = apply_filters( 'booster_option', 1, get_option( 'wcj_currency_per_product_total_number', 1 ) );
|
251 |
for ( $i = 1; $i <= $total_number; $i++ ) {
|
252 |
if ( $currency_code === get_option( 'wcj_currency_per_product_currency_' . $i ) ) {
|
253 |
$currency_exchange_rate = 1 / get_option( 'wcj_currency_per_product_exchange_rate_' . $i );
|
257 |
return $currency_exchange_rate;
|
258 |
}
|
259 |
|
260 |
+
/**
|
261 |
+
* maybe_return_saved_converted_price.
|
262 |
+
*
|
263 |
+
* @version 3.3.0
|
264 |
+
* @since 3.3.0
|
265 |
+
*/
|
266 |
+
function maybe_return_saved_converted_price( $_product, $_currency ) {
|
267 |
+
if ( $this->do_save_converted_prices ) {
|
268 |
+
$product_id = ( isset( $_product->wcj_currency_per_product_item_key ) ? $_product->wcj_currency_per_product_item_key : wcj_get_product_id( $_product ) );
|
269 |
+
if ( isset( $this->saved_product_prices[ $product_id ][ $_product->wcj_currency_per_product ][ $_currency ] ) ) {
|
270 |
+
return $this->saved_product_prices[ $product_id ][ $_product->wcj_currency_per_product ][ $_currency ];
|
271 |
+
}
|
272 |
+
}
|
273 |
+
return false;
|
274 |
+
}
|
275 |
+
|
276 |
+
/**
|
277 |
+
* maybe_save_converted_price.
|
278 |
+
*
|
279 |
+
* @version 3.3.0
|
280 |
+
* @since 3.3.0
|
281 |
+
*/
|
282 |
+
function maybe_save_converted_price( $price, $_product, $_currency ) {
|
283 |
+
if ( $this->do_save_converted_prices ) {
|
284 |
+
$product_id = ( isset( $_product->wcj_currency_per_product_item_key ) ? $_product->wcj_currency_per_product_item_key : wcj_get_product_id( $_product ) );
|
285 |
+
$this->saved_product_prices[ $product_id ][ $_product->wcj_currency_per_product ][ $_currency ] = $price;
|
286 |
+
}
|
287 |
+
return $price;
|
288 |
+
}
|
289 |
+
|
290 |
/**
|
291 |
* change_price.
|
292 |
*
|
293 |
+
* @version 3.3.0
|
294 |
* @since 2.5.2
|
295 |
*/
|
296 |
function change_price( $price, $_product ) {
|
302 |
return $price;
|
303 |
case 'convert_first_product':
|
304 |
case 'convert_last_product':
|
305 |
+
$shop_currency = get_option( 'woocommerce_currency' );
|
306 |
if ( false != ( $_currency = $this->get_cart_checkout_currency() ) && $_currency != $shop_currency ) {
|
307 |
if ( $_product->wcj_currency_per_product === $_currency ) {
|
308 |
return $price;
|
309 |
} else {
|
310 |
+
if ( false !== ( $saved_price = $this->maybe_return_saved_converted_price( $_product, $_currency ) ) ) {
|
311 |
+
return $saved_price;
|
312 |
+
}
|
313 |
$exchange_rate_product = $this->get_currency_exchange_rate( $_product->wcj_currency_per_product );
|
314 |
$exchange_rate_cart_checkout = $this->get_currency_exchange_rate( $_currency );
|
315 |
$exchange_rate = $exchange_rate_product / $exchange_rate_cart_checkout;
|
316 |
+
return $this->maybe_save_converted_price( $price * $exchange_rate, $_product, $_currency );
|
317 |
}
|
318 |
} elseif ( $_product->wcj_currency_per_product === $shop_currency ) {
|
319 |
return $price;
|
320 |
} else {
|
321 |
+
if ( false !== ( $saved_price = $this->maybe_return_saved_converted_price( $_product, $shop_currency ) ) ) {
|
322 |
+
return $saved_price;
|
323 |
+
}
|
324 |
$exchange_rate = $this->get_currency_exchange_rate( $_product->wcj_currency_per_product );
|
325 |
+
return $this->maybe_save_converted_price( $price * $exchange_rate, $_product, $shop_currency );
|
326 |
}
|
327 |
default: // case 'convert_shop_default':
|
328 |
+
$shop_currency = get_option( 'woocommerce_currency' );
|
329 |
+
if ( false !== ( $saved_price = $this->maybe_return_saved_converted_price( $_product, $shop_currency ) ) ) {
|
330 |
+
return $saved_price;
|
331 |
+
}
|
332 |
$exchange_rate = $this->get_currency_exchange_rate( $_product->wcj_currency_per_product );
|
333 |
+
return $this->maybe_save_converted_price( $price * $exchange_rate, $_product, $shop_currency );
|
334 |
}
|
335 |
}
|
336 |
return $price;
|
339 |
/**
|
340 |
* get_cart_item_from_session.
|
341 |
*
|
342 |
+
* @version 3.3.0
|
343 |
* @since 2.5.2
|
344 |
*/
|
345 |
function get_cart_item_from_session( $item, $values, $key ) {
|
346 |
if ( array_key_exists( 'wcj_currency_per_product', $values ) ) {
|
347 |
$item['data']->wcj_currency_per_product = $values['wcj_currency_per_product'];
|
348 |
+
if ( $this->do_save_converted_prices ) {
|
349 |
+
$item['data']->wcj_currency_per_product_item_key = $key;
|
350 |
+
}
|
351 |
}
|
352 |
return $item;
|
353 |
}
|
369 |
/**
|
370 |
* add_cart_item.
|
371 |
*
|
372 |
+
* @version 3.3.0
|
373 |
* @since 2.5.2
|
374 |
+
* @todo `wcj_currency_per_product_item_key` seems to be not working here
|
375 |
*/
|
376 |
function add_cart_item( $cart_item_data, $cart_item_key ) {
|
377 |
if ( isset( $cart_item_data['wcj_currency_per_product'] ) ) {
|
378 |
$cart_item_data['data']->wcj_currency_per_product = $cart_item_data['wcj_currency_per_product'];
|
379 |
+
if ( $this->do_save_converted_prices ) {
|
380 |
+
$cart_item_data['data']->wcj_currency_per_product_item_key = $cart_item_key;
|
381 |
+
}
|
382 |
}
|
383 |
return $cart_item_data;
|
384 |
}
|
includes/class-wcj-emails-verification.php
CHANGED
@@ -119,18 +119,18 @@ class WCJ_Email_Verification extends WCJ_Module {
|
|
119 |
$user_info = get_userdata( $user_id );
|
120 |
$code = md5( time() );
|
121 |
$url = add_query_arg( 'wcj_verify_email', base64_encode( json_encode( array( 'id' => $user_id, 'code' => $code ) ) ), wc_get_page_permalink( 'myaccount' ) );
|
122 |
-
$email_content = do_shortcode( apply_filters( '
|
123 |
__( 'Please click the following link to verify your email:<br><br><a href="%verification_url%">%verification_url%</a>', 'woocommerce-jetpack' ),
|
124 |
get_option( 'wcj_emails_verification_email_content',
|
125 |
__( 'Please click the following link to verify your email:<br><br><a href="%verification_url%">%verification_url%</a>', 'woocommerce-jetpack' ) ) ) );
|
126 |
$email_content = str_replace( '%verification_url%', $url, $email_content );
|
127 |
-
$email_subject = do_shortcode( apply_filters( '
|
128 |
__( 'Please activate your account', 'woocommerce-jetpack' ),
|
129 |
get_option( 'wcj_emails_verification_email_subject',
|
130 |
__( 'Please activate your account', 'woocommerce-jetpack' ) ) ) );
|
131 |
update_user_meta( $user_id, 'wcj_is_activated', '0' );
|
132 |
update_user_meta( $user_id, 'wcj_activation_code', $code );
|
133 |
-
if ( 'wc' === apply_filters( '
|
134 |
$email_content = wcj_wrap_in_wc_email_template( $email_content,
|
135 |
get_option( 'wcj_emails_verification_email_template_wc_heading', __( 'Activate your account', 'woocommerce-jetpack' ) ) );
|
136 |
}
|
119 |
$user_info = get_userdata( $user_id );
|
120 |
$code = md5( time() );
|
121 |
$url = add_query_arg( 'wcj_verify_email', base64_encode( json_encode( array( 'id' => $user_id, 'code' => $code ) ) ), wc_get_page_permalink( 'myaccount' ) );
|
122 |
+
$email_content = do_shortcode( apply_filters( 'booster_option',
|
123 |
__( 'Please click the following link to verify your email:<br><br><a href="%verification_url%">%verification_url%</a>', 'woocommerce-jetpack' ),
|
124 |
get_option( 'wcj_emails_verification_email_content',
|
125 |
__( 'Please click the following link to verify your email:<br><br><a href="%verification_url%">%verification_url%</a>', 'woocommerce-jetpack' ) ) ) );
|
126 |
$email_content = str_replace( '%verification_url%', $url, $email_content );
|
127 |
+
$email_subject = do_shortcode( apply_filters( 'booster_option',
|
128 |
__( 'Please activate your account', 'woocommerce-jetpack' ),
|
129 |
get_option( 'wcj_emails_verification_email_subject',
|
130 |
__( 'Please activate your account', 'woocommerce-jetpack' ) ) ) );
|
131 |
update_user_meta( $user_id, 'wcj_is_activated', '0' );
|
132 |
update_user_meta( $user_id, 'wcj_activation_code', $code );
|
133 |
+
if ( 'wc' === apply_filters( 'booster_option', 'plain', get_option( 'wcj_emails_verification_email_template', 'plain' ) ) ) {
|
134 |
$email_content = wcj_wrap_in_wc_email_template( $email_content,
|
135 |
get_option( 'wcj_emails_verification_email_template_wc_heading', __( 'Activate your account', 'woocommerce-jetpack' ) ) );
|
136 |
}
|
includes/class-wcj-emails.php
CHANGED
@@ -31,7 +31,7 @@ class WCJ_Emails extends WCJ_Module {
|
|
31 |
add_filter( 'woocommerce_resend_order_emails_available', array( $this, 'add_custom_emails_to_wc_resend_order_emails' ) );
|
32 |
if ( ! WCJ_IS_WC_VERSION_BELOW_3_2_0 ) {
|
33 |
add_filter( 'woocommerce_order_actions', array( $this, 'add_custom_emails_order_actions' ), PHP_INT_MAX, 1 );
|
34 |
-
for ( $i = 1; $i <= apply_filters( '
|
35 |
add_action( 'woocommerce_order_action_' . 'wcj_send_email_custom' . '_' . $i,
|
36 |
array( $this, 'do_custom_emails_order_actions' ), PHP_INT_MAX, 1 );
|
37 |
}
|
@@ -70,7 +70,7 @@ class WCJ_Emails extends WCJ_Module {
|
|
70 |
* @todo (maybe) add "Add Custom Email(s) to Order Actions" option (in WC >= 3.2.0); same to `woocommerce_order_action_`
|
71 |
*/
|
72 |
function add_custom_emails_order_actions( $actions ) {
|
73 |
-
for ( $i = 1; $i <= apply_filters( '
|
74 |
$actions[ 'wcj_send_email_custom' . '_' . $i ] = sprintf( apply_filters( 'wcj_emails_custom_emails_order_action_text',
|
75 |
__( 'Booster: Send Email: %s', 'woocommerce-jetpack' ), $i ),
|
76 |
get_option( 'wcj_emails_custom_emails_admin_title_' . $i, __( 'Custom', 'woocommerce-jetpack' ) . ' #' . $i )
|
@@ -106,7 +106,7 @@ class WCJ_Emails extends WCJ_Module {
|
|
106 |
* @since 2.3.9
|
107 |
*/
|
108 |
function add_custom_emails_to_wc_resend_order_emails( $emails ) {
|
109 |
-
for ( $i = 1; $i <= apply_filters( '
|
110 |
$emails[] = 'wcj_custom' . '_' . $i;
|
111 |
}
|
112 |
return $emails;
|
@@ -122,7 +122,7 @@ class WCJ_Emails extends WCJ_Module {
|
|
122 |
if ( ! class_exists( 'WC_Email_WCJ_Custom' ) ) {
|
123 |
require_once( 'emails/class-wc-email-wcj-custom.php' );
|
124 |
}
|
125 |
-
for ( $i = 1; $i <= apply_filters( '
|
126 |
$emails[ 'WC_Email_WCJ_Custom_' . $i ] = new WC_Email_WCJ_Custom( $i );
|
127 |
}
|
128 |
return $emails;
|
31 |
add_filter( 'woocommerce_resend_order_emails_available', array( $this, 'add_custom_emails_to_wc_resend_order_emails' ) );
|
32 |
if ( ! WCJ_IS_WC_VERSION_BELOW_3_2_0 ) {
|
33 |
add_filter( 'woocommerce_order_actions', array( $this, 'add_custom_emails_order_actions' ), PHP_INT_MAX, 1 );
|
34 |
+
for ( $i = 1; $i <= apply_filters( 'booster_option', 1, get_option( 'wcj_emails_custom_emails_total_number', 1 ) ); $i++ ) {
|
35 |
add_action( 'woocommerce_order_action_' . 'wcj_send_email_custom' . '_' . $i,
|
36 |
array( $this, 'do_custom_emails_order_actions' ), PHP_INT_MAX, 1 );
|
37 |
}
|
70 |
* @todo (maybe) add "Add Custom Email(s) to Order Actions" option (in WC >= 3.2.0); same to `woocommerce_order_action_`
|
71 |
*/
|
72 |
function add_custom_emails_order_actions( $actions ) {
|
73 |
+
for ( $i = 1; $i <= apply_filters( 'booster_option', 1, get_option( 'wcj_emails_custom_emails_total_number', 1 ) ); $i++ ) {
|
74 |
$actions[ 'wcj_send_email_custom' . '_' . $i ] = sprintf( apply_filters( 'wcj_emails_custom_emails_order_action_text',
|
75 |
__( 'Booster: Send Email: %s', 'woocommerce-jetpack' ), $i ),
|
76 |
get_option( 'wcj_emails_custom_emails_admin_title_' . $i, __( 'Custom', 'woocommerce-jetpack' ) . ' #' . $i )
|
106 |
* @since 2.3.9
|
107 |
*/
|
108 |
function add_custom_emails_to_wc_resend_order_emails( $emails ) {
|
109 |
+
for ( $i = 1; $i <= apply_filters( 'booster_option', 1, get_option( 'wcj_emails_custom_emails_total_number', 1 ) ); $i++ ) {
|
110 |
$emails[] = 'wcj_custom' . '_' . $i;
|
111 |
}
|
112 |
return $emails;
|
122 |
if ( ! class_exists( 'WC_Email_WCJ_Custom' ) ) {
|
123 |
require_once( 'emails/class-wc-email-wcj-custom.php' );
|
124 |
}
|
125 |
+
for ( $i = 1; $i <= apply_filters( 'booster_option', 1, get_option( 'wcj_emails_custom_emails_total_number', 1 ) ); $i++ ) {
|
126 |
$emails[ 'WC_Email_WCJ_Custom_' . $i ] = new WC_Email_WCJ_Custom( $i );
|
127 |
}
|
128 |
return $emails;
|
includes/class-wcj-empty-cart-button.php
CHANGED
@@ -29,7 +29,7 @@ class WCJ_Empty_Cart_Button extends WCJ_Module {
|
|
29 |
|
30 |
if ( $this->is_enabled() ) {
|
31 |
add_action( 'init', array( $this, 'maybe_empty_cart' ) );
|
32 |
-
if ( 'disable' != ( $empty_cart_cart_position = apply_filters( '
|
33 |
get_option( 'wcj_empty_cart_position', 'woocommerce_after_cart' ) ) )
|
34 |
) {
|
35 |
add_action( $empty_cart_cart_position, array( $this, 'add_empty_cart_link' ) );
|
29 |
|
30 |
if ( $this->is_enabled() ) {
|
31 |
add_action( 'init', array( $this, 'maybe_empty_cart' ) );
|
32 |
+
if ( 'disable' != ( $empty_cart_cart_position = apply_filters( 'booster_option', 'woocommerce_after_cart',
|
33 |
get_option( 'wcj_empty_cart_position', 'woocommerce_after_cart' ) ) )
|
34 |
) {
|
35 |
add_action( $empty_cart_cart_position, array( $this, 'add_empty_cart_link' ) );
|
includes/class-wcj-eu-vat-number.php
CHANGED
@@ -2,7 +2,7 @@
|
|
2 |
/**
|
3 |
* Booster for WooCommerce - Module - EU VAT Number
|
4 |
*
|
5 |
-
* @version 3.
|
6 |
* @since 2.3.9
|
7 |
* @author Algoritmika Ltd.
|
8 |
*/
|
@@ -16,7 +16,7 @@ class WCJ_EU_VAT_Number extends WCJ_Module {
|
|
16 |
/**
|
17 |
* Constructor.
|
18 |
*
|
19 |
-
* @version
|
20 |
*/
|
21 |
function __construct() {
|
22 |
|
@@ -34,10 +34,6 @@ class WCJ_EU_VAT_Number extends WCJ_Module {
|
|
34 |
) );
|
35 |
|
36 |
if ( $this->is_enabled() ) {
|
37 |
-
/* if ( ! session_id() ) {
|
38 |
-
session_start();
|
39 |
-
} */
|
40 |
-
// add_action( 'init', 'session_start' );
|
41 |
add_action( 'init', array( $this, 'start_session' ) );
|
42 |
add_filter( 'woocommerce_checkout_fields', array( $this, 'add_eu_vat_number_checkout_field_to_frontend' ), PHP_INT_MAX );
|
43 |
add_filter( 'woocommerce_admin_billing_fields', array( $this, 'add_billing_eu_vat_number_field_to_admin_order_display' ), PHP_INT_MAX );
|
@@ -67,10 +63,56 @@ class WCJ_EU_VAT_Number extends WCJ_Module {
|
|
67 |
// EU VAT number summary on order edit page
|
68 |
if ( 'yes' === get_option( 'wcj_eu_vat_number_add_order_edit_metabox', 'no' ) ) {
|
69 |
add_action( 'add_meta_boxes', array( $this, 'add_meta_box' ) );
|
|
|
|
|
70 |
}
|
|
|
|
|
|
|
71 |
}
|
72 |
}
|
73 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
74 |
/**
|
75 |
* add_meta_box.
|
76 |
*
|
@@ -94,7 +136,7 @@ class WCJ_EU_VAT_Number extends WCJ_Module {
|
|
94 |
/**
|
95 |
* create_meta_box.
|
96 |
*
|
97 |
-
* @version
|
98 |
* @since 2.6.0
|
99 |
*/
|
100 |
function create_meta_box() {
|
@@ -157,6 +199,8 @@ class WCJ_EU_VAT_Number extends WCJ_Module {
|
|
157 |
), */
|
158 |
);
|
159 |
echo wcj_get_table_html( $table_data, array( 'table_class' => 'widefat striped', 'table_heading_type' => 'vertical' ) );
|
|
|
|
|
160 |
}
|
161 |
|
162 |
/**
|
@@ -312,7 +356,7 @@ class WCJ_EU_VAT_Number extends WCJ_Module {
|
|
312 |
if ( isset( $_POST['wcj_eu_vat_number_to_check'] ) && '' != $_POST['wcj_eu_vat_number_to_check'] ) {
|
313 |
$eu_vat_number_to_check = substr( $_POST['wcj_eu_vat_number_to_check'], 2 );
|
314 |
$eu_vat_number_country_to_check = substr( $_POST['wcj_eu_vat_number_to_check'], 0, 2 );
|
315 |
-
if ( 'yes' === apply_filters( '
|
316 |
$location = WC_Geolocation::geolocate_ip();
|
317 |
if ( empty( $location['country'] ) ) {
|
318 |
$location = wc_format_country_state_string( apply_filters( 'woocommerce_customer_default_location', get_option( 'woocommerce_default_country' ) ) );
|
@@ -355,7 +399,7 @@ class WCJ_EU_VAT_Number extends WCJ_Module {
|
|
355 |
isset( $_SESSION['wcj_is_eu_vat_number_valid'] ) && true === $_SESSION['wcj_is_eu_vat_number_valid'] && isset( $_SESSION['wcj_eu_vat_number_to_check'] )
|
356 |
) {
|
357 |
$preserve_base_country_check_passed = true;
|
358 |
-
if ( 'yes' === apply_filters( '
|
359 |
$location = wc_get_base_location();
|
360 |
if ( empty( $location['country'] ) ) {
|
361 |
$location = wc_format_country_state_string( apply_filters( 'woocommerce_customer_default_location', get_option( 'woocommerce_default_country' ) ) );
|
2 |
/**
|
3 |
* Booster for WooCommerce - Module - EU VAT Number
|
4 |
*
|
5 |
+
* @version 3.3.0
|
6 |
* @since 2.3.9
|
7 |
* @author Algoritmika Ltd.
|
8 |
*/
|
16 |
/**
|
17 |
* Constructor.
|
18 |
*
|
19 |
+
* @version 3.3.0
|
20 |
*/
|
21 |
function __construct() {
|
22 |
|
34 |
) );
|
35 |
|
36 |
if ( $this->is_enabled() ) {
|
|
|
|
|
|
|
|
|
37 |
add_action( 'init', array( $this, 'start_session' ) );
|
38 |
add_filter( 'woocommerce_checkout_fields', array( $this, 'add_eu_vat_number_checkout_field_to_frontend' ), PHP_INT_MAX );
|
39 |
add_filter( 'woocommerce_admin_billing_fields', array( $this, 'add_billing_eu_vat_number_field_to_admin_order_display' ), PHP_INT_MAX );
|
63 |
// EU VAT number summary on order edit page
|
64 |
if ( 'yes' === get_option( 'wcj_eu_vat_number_add_order_edit_metabox', 'no' ) ) {
|
65 |
add_action( 'add_meta_boxes', array( $this, 'add_meta_box' ) );
|
66 |
+
// "Validate VAT and remove taxes" button
|
67 |
+
add_action( 'admin_init', array( $this, 'admin_validate_vat_and_maybe_remove_taxes' ), PHP_INT_MAX );
|
68 |
}
|
69 |
+
|
70 |
+
// Admin order edit - "Load billing address" button
|
71 |
+
add_filter( 'woocommerce_ajax_get_customer_details', array( $this, 'add_billing_eu_vat_number_to_ajax_get_customer_details' ), PHP_INT_MAX, 3 );
|
72 |
}
|
73 |
}
|
74 |
|
75 |
+
/**
|
76 |
+
* admin_validate_vat_and_maybe_remove_taxes.
|
77 |
+
*
|
78 |
+
* @version 3.3.0
|
79 |
+
* @since 3.3.0
|
80 |
+
*/
|
81 |
+
function admin_validate_vat_and_maybe_remove_taxes() {
|
82 |
+
if ( isset( $_GET['validate_vat_and_maybe_remove_taxes'] ) ) {
|
83 |
+
$order_id = $_GET['validate_vat_and_maybe_remove_taxes'];
|
84 |
+
$order = wc_get_order( $order_id );
|
85 |
+
if ( $order ) {
|
86 |
+
$vat_id = get_post_meta( $order_id, '_billing_eu_vat_number', true );
|
87 |
+
if ( '' != $vat_id && strlen( $vat_id ) > 2 ) {
|
88 |
+
if ( wcj_validate_vat( substr( $vat_id, 0, 2 ), substr( $vat_id, 2 ) ) ) {
|
89 |
+
foreach ( $order->get_items( array( 'line_item', 'fee' ) ) as $item_id => $item ) {
|
90 |
+
$item->set_taxes( false );
|
91 |
+
}
|
92 |
+
foreach ( $order->get_shipping_methods() as $item_id => $item ) {
|
93 |
+
$item->set_taxes( false );
|
94 |
+
}
|
95 |
+
$order->update_taxes();
|
96 |
+
$order->calculate_totals( false );
|
97 |
+
}
|
98 |
+
}
|
99 |
+
}
|
100 |
+
wp_safe_redirect( remove_query_arg( 'validate_vat_and_maybe_remove_taxes' ) );
|
101 |
+
exit;
|
102 |
+
}
|
103 |
+
}
|
104 |
+
|
105 |
+
/**
|
106 |
+
* add_billing_eu_vat_number_to_ajax_get_customer_details.
|
107 |
+
*
|
108 |
+
* @version 3.3.0
|
109 |
+
* @since 3.3.0
|
110 |
+
*/
|
111 |
+
function add_billing_eu_vat_number_to_ajax_get_customer_details( $data, $customer, $user_id ) {
|
112 |
+
$data['billing']['eu_vat_number'] = get_user_meta( $user_id, 'billing_eu_vat_number', true );
|
113 |
+
return $data;
|
114 |
+
}
|
115 |
+
|
116 |
/**
|
117 |
* add_meta_box.
|
118 |
*
|
136 |
/**
|
137 |
* create_meta_box.
|
138 |
*
|
139 |
+
* @version 3.3.0
|
140 |
* @since 2.6.0
|
141 |
*/
|
142 |
function create_meta_box() {
|
199 |
), */
|
200 |
);
|
201 |
echo wcj_get_table_html( $table_data, array( 'table_class' => 'widefat striped', 'table_heading_type' => 'vertical' ) );
|
202 |
+
echo '<p>' . '<a href="' . add_query_arg( 'validate_vat_and_maybe_remove_taxes', $order_id ) . '">' .
|
203 |
+
__( 'Validate VAT and remove taxes', 'woocommerce-jetpack' ) . '</a>' . '</p>';
|
204 |
}
|
205 |
|
206 |
/**
|
356 |
if ( isset( $_POST['wcj_eu_vat_number_to_check'] ) && '' != $_POST['wcj_eu_vat_number_to_check'] ) {
|
357 |
$eu_vat_number_to_check = substr( $_POST['wcj_eu_vat_number_to_check'], 2 );
|
358 |
$eu_vat_number_country_to_check = substr( $_POST['wcj_eu_vat_number_to_check'], 0, 2 );
|
359 |
+
if ( 'yes' === apply_filters( 'booster_option', 'no', get_option( 'wcj_eu_vat_number_check_ip_location_country', 'no' ) ) ) {
|
360 |
$location = WC_Geolocation::geolocate_ip();
|
361 |
if ( empty( $location['country'] ) ) {
|
362 |
$location = wc_format_country_state_string( apply_filters( 'woocommerce_customer_default_location', get_option( 'woocommerce_default_country' ) ) );
|
399 |
isset( $_SESSION['wcj_is_eu_vat_number_valid'] ) && true === $_SESSION['wcj_is_eu_vat_number_valid'] && isset( $_SESSION['wcj_eu_vat_number_to_check'] )
|
400 |
) {
|
401 |
$preserve_base_country_check_passed = true;
|
402 |
+
if ( 'yes' === apply_filters( 'booster_option', 'no', get_option( 'wcj_eu_vat_number_preserve_in_base_country', 'no' ) ) ) {
|
403 |
$location = wc_get_base_location();
|
404 |
if ( empty( $location['country'] ) ) {
|
405 |
$location = wc_format_country_state_string( apply_filters( 'woocommerce_customer_default_location', get_option( 'woocommerce_default_country' ) ) );
|
includes/class-wcj-free-price.php
CHANGED
@@ -151,7 +151,7 @@ class WCJ_Free_Price extends WCJ_Module {
|
|
151 |
* @since 2.5.9
|
152 |
*/
|
153 |
function modify_free_price_variable( $price, $_product ) {
|
154 |
-
return do_shortcode( apply_filters( '
|
155 |
}
|
156 |
|
157 |
/**
|
@@ -161,7 +161,7 @@ class WCJ_Free_Price extends WCJ_Module {
|
|
161 |
* @since 2.5.9
|
162 |
*/
|
163 |
function modify_free_price_variation( $price, $_product ) {
|
164 |
-
return do_shortcode( apply_filters( '
|
165 |
}
|
166 |
|
167 |
}
|
151 |
* @since 2.5.9
|
152 |
*/
|
153 |
function modify_free_price_variable( $price, $_product ) {
|
154 |
+
return do_shortcode( apply_filters( 'booster_option', __( 'Free!', 'woocommerce' ), get_option( 'wcj_free_price_variable_' . $this->get_view_id( wcj_get_product_id_or_variation_parent_id( $_product ) ), __( 'Free!', 'woocommerce' ) ) ) );
|
155 |
}
|
156 |
|
157 |
/**
|
161 |
* @since 2.5.9
|
162 |
*/
|
163 |
function modify_free_price_variation( $price, $_product ) {
|
164 |
+
return do_shortcode( apply_filters( 'booster_option', __( 'Free!', 'woocommerce' ), get_option( 'wcj_free_price_variable_variation', __( 'Free!', 'woocommerce' ) ) ) );
|
165 |
}
|
166 |
|
167 |
}
|
includes/class-wcj-global-discount.php
CHANGED
@@ -158,7 +158,7 @@ class WCJ_Global_Discount extends WCJ_Module {
|
|
158 |
if ( 'price' === $price_type && '' === $price ) {
|
159 |
return $price; // no changes
|
160 |
}
|
161 |
-
$total_number = apply_filters( '
|
162 |
for ( $i = 1; $i <= $total_number; $i++ ) {
|
163 |
if ( ! $this->check_if_applicable( $_product, $i ) ) {
|
164 |
continue; // no changes by current discount group
|
@@ -185,7 +185,7 @@ class WCJ_Global_Discount extends WCJ_Module {
|
|
185 |
*/
|
186 |
function get_variation_prices_hash( $price_hash, $_product, $display ) {
|
187 |
$wcj_global_discount_price_hash = array();
|
188 |
-
$total_number = apply_filters( '
|
189 |
$wcj_global_discount_price_hash['total_number'] = $total_number;
|
190 |
for ( $i = 1; $i <= $total_number; $i++ ) {
|
191 |
$wcj_global_discount_price_hash[ 'enabled_' . $i ] = get_option( 'wcj_global_discount_sale_enabled_' . $i, 'yes' );
|
158 |
if ( 'price' === $price_type && '' === $price ) {
|
159 |
return $price; // no changes
|
160 |
}
|
161 |
+
$total_number = apply_filters( 'booster_option', 1, get_option( 'wcj_global_discount_groups_total_number', 1 ) );
|
162 |
for ( $i = 1; $i <= $total_number; $i++ ) {
|
163 |
if ( ! $this->check_if_applicable( $_product, $i ) ) {
|
164 |
continue; // no changes by current discount group
|
185 |
*/
|
186 |
function get_variation_prices_hash( $price_hash, $_product, $display ) {
|
187 |
$wcj_global_discount_price_hash = array();
|
188 |
+
$total_number = apply_filters( 'booster_option', 1, get_option( 'wcj_global_discount_groups_total_number', 1 ) );
|
189 |
$wcj_global_discount_price_hash['total_number'] = $total_number;
|
190 |
for ( $i = 1; $i <= $total_number; $i++ ) {
|
191 |
$wcj_global_discount_price_hash[ 'enabled_' . $i ] = get_option( 'wcj_global_discount_sale_enabled_' . $i, 'yes' );
|
includes/class-wcj-left-to-free-shipping.php
CHANGED
@@ -35,14 +35,14 @@ class WCJ_Left_To_Free_Shipping extends WCJ_Module {
|
|
35 |
get_option( 'wcj_shipping_left_to_free_info_priority_cart', 10 )
|
36 |
);
|
37 |
}
|
38 |
-
if ( 'yes' === apply_filters( '
|
39 |
add_action(
|
40 |
get_option( 'wcj_shipping_left_to_free_info_position_mini_cart', 'woocommerce_after_mini_cart' ),
|
41 |
array( $this, 'show_left_to_free_shipping_info_mini_cart' ),
|
42 |
get_option( 'wcj_shipping_left_to_free_info_priority_mini_cart', 10 )
|
43 |
);
|
44 |
}
|
45 |
-
if ( 'yes' === apply_filters( '
|
46 |
add_action(
|
47 |
get_option( 'wcj_shipping_left_to_free_info_position_checkout', 'woocommerce_checkout_after_order_review' ),
|
48 |
array( $this, 'show_left_to_free_shipping_info_checkout' ),
|
35 |
get_option( 'wcj_shipping_left_to_free_info_priority_cart', 10 )
|
36 |
);
|
37 |
}
|
38 |
+
if ( 'yes' === apply_filters( 'booster_option', 'no', get_option( 'wcj_shipping_left_to_free_info_enabled_mini_cart', 'no' ) ) ) {
|
39 |
add_action(
|
40 |
get_option( 'wcj_shipping_left_to_free_info_position_mini_cart', 'woocommerce_after_mini_cart' ),
|
41 |
array( $this, 'show_left_to_free_shipping_info_mini_cart' ),
|
42 |
get_option( 'wcj_shipping_left_to_free_info_priority_mini_cart', 10 )
|
43 |
);
|
44 |
}
|
45 |
+
if ( 'yes' === apply_filters( 'booster_option', 'no', get_option( 'wcj_shipping_left_to_free_info_enabled_checkout', 'no' ) ) ) {
|
46 |
add_action(
|
47 |
get_option( 'wcj_shipping_left_to_free_info_position_checkout', 'woocommerce_checkout_after_order_review' ),
|
48 |
array( $this, 'show_left_to_free_shipping_info_checkout' ),
|
includes/class-wcj-mini-cart.php
CHANGED
@@ -27,7 +27,7 @@ class WCJ_Mini_Cart extends WCJ_Module {
|
|
27 |
parent::__construct();
|
28 |
|
29 |
if ( $this->is_enabled() ) {
|
30 |
-
$total_number = apply_filters( '
|
31 |
for ( $i = 1; $i <= $total_number; $i++ ) {
|
32 |
add_action(
|
33 |
get_option( 'wcj_mini_cart_custom_info_hook_' . $i, 'woocommerce_after_mini_cart' ),
|
@@ -46,7 +46,7 @@ class WCJ_Mini_Cart extends WCJ_Module {
|
|
46 |
function add_mini_cart_custom_info() {
|
47 |
$current_filter = current_filter();
|
48 |
$current_filter_priority = wcj_current_filter_priority();
|
49 |
-
$total_number = apply_filters( '
|
50 |
for ( $i = 1; $i <= $total_number; $i++ ) {
|
51 |
if (
|
52 |
'' != get_option( 'wcj_mini_cart_custom_info_content_' . $i ) &&
|
27 |
parent::__construct();
|
28 |
|
29 |
if ( $this->is_enabled() ) {
|
30 |
+
$total_number = apply_filters( 'booster_option', 1, get_option( 'wcj_mini_cart_custom_info_total_number', 1 ) );
|
31 |
for ( $i = 1; $i <= $total_number; $i++ ) {
|
32 |
add_action(
|
33 |
get_option( 'wcj_mini_cart_custom_info_hook_' . $i, 'woocommerce_after_mini_cart' ),
|
46 |
function add_mini_cart_custom_info() {
|
47 |
$current_filter = current_filter();
|
48 |
$current_filter_priority = wcj_current_filter_priority();
|
49 |
+
$total_number = apply_filters( 'booster_option', 1, get_option( 'wcj_mini_cart_custom_info_total_number', 1 ) );
|
50 |
for ( $i = 1; $i <= $total_number; $i++ ) {
|
51 |
if (
|
52 |
'' != get_option( 'wcj_mini_cart_custom_info_content_' . $i ) &&
|
includes/class-wcj-modules-by-user-roles.php
ADDED
@@ -0,0 +1,35 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?php
|
2 |
+
/**
|
3 |
+
* Booster for WooCommerce - Module - Modules By User Roles
|
4 |
+
*
|
5 |
+
* @version 3.3.0
|
6 |
+
* @since 3.3.0
|
7 |
+
* @author Algoritmika Ltd.
|
8 |
+
*/
|
9 |
+
|
10 |
+
if ( ! defined( 'ABSPATH' ) ) exit; // Exit if accessed directly
|
11 |
+
|
12 |
+
if ( ! class_exists( 'WCJ_Modules_By_User_Roles' ) ) :
|
13 |
+
|
14 |
+
class WCJ_Modules_By_User_Roles extends WCJ_Module {
|
15 |
+
|
16 |
+
/**
|
17 |
+
* Constructor.
|
18 |
+
*
|
19 |
+
* @version 3.3.0
|
20 |
+
* @since 3.3.0
|
21 |
+
*/
|
22 |
+
function __construct() {
|
23 |
+
|
24 |
+
$this->id = 'modules_by_user_roles';
|
25 |
+
$this->short_desc = __( 'Modules By User Roles', 'woocommerce-jetpack' );
|
26 |
+
$this->desc = __( 'Enable/disable Booster for WooCommerce modules by user roles.', 'woocommerce-jetpack' );
|
27 |
+
$this->link_slug = 'woocommerce-booster-modules-by-user-roles';
|
28 |
+
parent::__construct();
|
29 |
+
|
30 |
+
}
|
31 |
+
}
|
32 |
+
|
33 |
+
endif;
|
34 |
+
|
35 |
+
return new WCJ_Modules_By_User_Roles();
|
includes/class-wcj-more-button-labels.php
CHANGED
@@ -2,7 +2,7 @@
|
|
2 |
/**
|
3 |
* Booster for WooCommerce - Module - More Button Labels
|
4 |
*
|
5 |
-
* @version
|
6 |
* @since 2.2.0
|
7 |
* @author Algoritmika Ltd.
|
8 |
*/
|
@@ -16,7 +16,7 @@ class WCJ_More_Button_Labels extends WCJ_Module {
|
|
16 |
/**
|
17 |
* Constructor.
|
18 |
*
|
19 |
-
* @version
|
20 |
*/
|
21 |
function __construct() {
|
22 |
|
@@ -28,6 +28,23 @@ class WCJ_More_Button_Labels extends WCJ_Module {
|
|
28 |
|
29 |
if ( $this->is_enabled() ) {
|
30 |
add_filter( 'woocommerce_order_button_text', array( $this, 'set_order_button_text' ), PHP_INT_MAX );
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
31 |
}
|
32 |
}
|
33 |
|
2 |
/**
|
3 |
* Booster for WooCommerce - Module - More Button Labels
|
4 |
*
|
5 |
+
* @version 3.3.0
|
6 |
* @since 2.2.0
|
7 |
* @author Algoritmika Ltd.
|
8 |
*/
|
16 |
/**
|
17 |
* Constructor.
|
18 |
*
|
19 |
+
* @version 3.3.0
|
20 |
*/
|
21 |
function __construct() {
|
22 |
|
28 |
|
29 |
if ( $this->is_enabled() ) {
|
30 |
add_filter( 'woocommerce_order_button_text', array( $this, 'set_order_button_text' ), PHP_INT_MAX );
|
31 |
+
if ( 'yes' === get_option( 'wcj_checkout_place_order_button_override', 'no' ) ) {
|
32 |
+
add_action( 'init', array( $this, 'override_order_button_text' ), PHP_INT_MAX );
|
33 |
+
}
|
34 |
+
}
|
35 |
+
}
|
36 |
+
|
37 |
+
/**
|
38 |
+
* override_order_button_text.
|
39 |
+
*
|
40 |
+
* @version 3.3.0
|
41 |
+
* @since 3.3.0
|
42 |
+
*/
|
43 |
+
function override_order_button_text() {
|
44 |
+
if ( function_exists( 'WC' ) && method_exists( WC(), 'payment_gateways' ) && isset( WC()->payment_gateways()->payment_gateways ) ) {
|
45 |
+
foreach ( WC()->payment_gateways()->payment_gateways as &$payment_gateway ) {
|
46 |
+
$payment_gateway->order_button_text = '';
|
47 |
+
}
|
48 |
}
|
49 |
}
|
50 |
|
includes/class-wcj-multicurrency-product-base-price.php
CHANGED
@@ -52,7 +52,7 @@ class WCJ_Multicurrency_Base_Price extends WCJ_Module {
|
|
52 |
function get_currency_exchange_rate( $currency_code ) {
|
53 |
/*
|
54 |
$currency_exchange_rate = 1;
|
55 |
-
$total_number = apply_filters( '
|
56 |
for ( $i = 1; $i <= $total_number; $i++ ) {
|
57 |
if ( $currency_code === get_option( 'wcj_multicurrency_base_price_currency_' . $i ) ) {
|
58 |
$currency_exchange_rate = get_option( 'wcj_multicurrency_base_price_exchange_rate_' . $i );
|
52 |
function get_currency_exchange_rate( $currency_code ) {
|
53 |
/*
|
54 |
$currency_exchange_rate = 1;
|
55 |
+
$total_number = apply_filters( 'booster_option', 1, get_option( 'wcj_multicurrency_base_price_total_number', 1 ) );
|
56 |
for ( $i = 1; $i <= $total_number; $i++ ) {
|
57 |
if ( $currency_code === get_option( 'wcj_multicurrency_base_price_currency_' . $i ) ) {
|
58 |
$currency_exchange_rate = get_option( 'wcj_multicurrency_base_price_exchange_rate_' . $i );
|
includes/class-wcj-multicurrency.php
CHANGED
@@ -179,7 +179,7 @@ class WCJ_Multicurrency extends WCJ_Module {
|
|
179 |
*/
|
180 |
function get_currency_exchange_rate( $currency_code ) {
|
181 |
$currency_exchange_rate = 1;
|
182 |
-
$total_number = apply_filters( '
|
183 |
for ( $i = 1; $i <= $total_number; $i++ ) {
|
184 |
if ( $currency_code === get_option( 'wcj_multicurrency_currency_' . $i ) ) {
|
185 |
$currency_exchange_rate = get_option( 'wcj_multicurrency_exchange_rate_' . $i );
|
179 |
*/
|
180 |
function get_currency_exchange_rate( $currency_code ) {
|
181 |
$currency_exchange_rate = 1;
|
182 |
+
$total_number = apply_filters( 'booster_option', 2, get_option( 'wcj_multicurrency_total_number', 2 ) );
|
183 |
for ( $i = 1; $i <= $total_number; $i++ ) {
|
184 |
if ( $currency_code === get_option( 'wcj_multicurrency_currency_' . $i ) ) {
|
185 |
$currency_exchange_rate = get_option( 'wcj_multicurrency_exchange_rate_' . $i );
|
includes/class-wcj-offer-price.php
CHANGED
@@ -46,7 +46,7 @@ class WCJ_Offer_Price extends WCJ_Module {
|
|
46 |
get_option( 'wcj_offer_price_button_position_priority', 31 )
|
47 |
);
|
48 |
}
|
49 |
-
if ( 'disable' != ( $_hook = apply_filters( '
|
50 |
add_action(
|
51 |
$_hook,
|
52 |
array( $this, 'add_offer_price_button' ),
|
@@ -56,7 +56,7 @@ class WCJ_Offer_Price extends WCJ_Module {
|
|
56 |
add_action( 'woocommerce_before_main_content', array( $this, 'add_offer_price_form' ) );
|
57 |
add_action( 'wp_enqueue_scripts', array( $this, 'enqueue_scripts' ) );
|
58 |
add_action( 'init', array( $this, 'offer_price' ) );
|
59 |
-
if ( 'per_product' === apply_filters( '
|
60 |
add_action( 'add_meta_boxes', array( $this, 'add_meta_box' ) );
|
61 |
add_action( 'save_post_product', array( $this, 'save_meta_box' ), PHP_INT_MAX, 2 );
|
62 |
}
|
@@ -171,7 +171,7 @@ class WCJ_Offer_Price extends WCJ_Module {
|
|
171 |
* @since 2.9.0
|
172 |
*/
|
173 |
function is_offer_price_enabled_for_product( $product_id ) {
|
174 |
-
switch ( apply_filters( '
|
175 |
case 'all_products':
|
176 |
return true;
|
177 |
case 'empty_prices':
|
@@ -190,7 +190,7 @@ class WCJ_Offer_Price extends WCJ_Module {
|
|
190 |
* @todo (maybe) rethink `str_replace( '\'', '"', ... )`
|
191 |
*/
|
192 |
function get_wcj_data_array( $product_id ) {
|
193 |
-
$is_per_product_enabled = ( 'per_product' === apply_filters( '
|
194 |
// Price input - price step
|
195 |
$price_step = ( ! $is_per_product_enabled || '' === ( $price_step_per_product = get_post_meta( $product_id, '_' . 'wcj_offer_price_price_step', true ) ) ?
|
196 |
get_option( 'wcj_offer_price_price_step', get_option( 'woocommerce_price_num_decimals' ) ) :
|
46 |
get_option( 'wcj_offer_price_button_position_priority', 31 )
|
47 |
);
|
48 |
}
|
49 |
+
if ( 'disable' != ( $_hook = apply_filters( 'booster_option', 'disable', get_option( 'wcj_offer_price_button_position_archives', 'disable' ) ) ) ) {
|
50 |
add_action(
|
51 |
$_hook,
|
52 |
array( $this, 'add_offer_price_button' ),
|
56 |
add_action( 'woocommerce_before_main_content', array( $this, 'add_offer_price_form' ) );
|
57 |
add_action( 'wp_enqueue_scripts', array( $this, 'enqueue_scripts' ) );
|
58 |
add_action( 'init', array( $this, 'offer_price' ) );
|
59 |
+
if ( 'per_product' === apply_filters( 'booster_option', 'all_products', get_option( 'wcj_offer_price_enabled_type', 'all_products' ) ) ) {
|
60 |
add_action( 'add_meta_boxes', array( $this, 'add_meta_box' ) );
|
61 |
add_action( 'save_post_product', array( $this, 'save_meta_box' ), PHP_INT_MAX, 2 );
|
62 |
}
|
171 |
* @since 2.9.0
|
172 |
*/
|
173 |
function is_offer_price_enabled_for_product( $product_id ) {
|
174 |
+
switch ( apply_filters( 'booster_option', 'all_products', get_option( 'wcj_offer_price_enabled_type', 'all_products' ) ) ) {
|
175 |
case 'all_products':
|
176 |
return true;
|
177 |
case 'empty_prices':
|
190 |
* @todo (maybe) rethink `str_replace( '\'', '"', ... )`
|
191 |
*/
|
192 |
function get_wcj_data_array( $product_id ) {
|
193 |
+
$is_per_product_enabled = ( 'per_product' === apply_filters( 'booster_option', 'all_products', get_option( 'wcj_offer_price_enabled_type', 'all_products' ) ) );
|
194 |
// Price input - price step
|
195 |
$price_step = ( ! $is_per_product_enabled || '' === ( $price_step_per_product = get_post_meta( $product_id, '_' . 'wcj_offer_price_price_step', true ) ) ?
|
196 |
get_option( 'wcj_offer_price_price_step', get_option( 'woocommerce_price_num_decimals' ) ) :
|
includes/class-wcj-order-custom-statuses.php
CHANGED
@@ -52,17 +52,17 @@ class WCJ_Order_Custom_Statuses extends WCJ_Module {
|
|
52 |
add_action( 'admin_footer', array( $this, 'bulk_admin_footer' ), 11 );
|
53 |
}
|
54 |
|
55 |
-
if ( 'yes' === apply_filters( '
|
56 |
add_filter( 'woocommerce_admin_order_actions', array( $this, 'add_custom_status_actions_buttons' ), PHP_INT_MAX, 2 );
|
57 |
add_action( 'admin_head', array( $this, 'add_custom_status_actions_buttons_css' ) );
|
58 |
}
|
59 |
|
60 |
-
if ( 'hide' != apply_filters( '
|
61 |
add_filter( 'woocommerce_admin_order_actions', array( $this, 'add_custom_status_to_processing_and_completed_actions' ), PHP_INT_MAX, 2 );
|
62 |
}
|
63 |
|
64 |
// Is order editable
|
65 |
-
if ( 'yes' === apply_filters( '
|
66 |
add_filter( 'wc_order_is_editable', array( $this, 'add_custom_order_statuses_to_order_editable' ), PHP_INT_MAX, 2 );
|
67 |
}
|
68 |
|
@@ -121,7 +121,7 @@ class WCJ_Order_Custom_Statuses extends WCJ_Module {
|
|
121 |
}
|
122 |
global $post;
|
123 |
$default_actions = array();
|
124 |
-
$show = apply_filters( '
|
125 |
if (
|
126 |
( 'show_both' === $show || 'show_processing' === $show ) &&
|
127 |
$_order->has_status( array_merge( array( 'pending', 'on-hold' ), $custom_order_statuses_without_wc_prefix ) )
|
@@ -201,7 +201,7 @@ class WCJ_Order_Custom_Statuses extends WCJ_Module {
|
|
201 |
$custom_order_statuses = $this->get_custom_order_statuses( true );
|
202 |
foreach ( $custom_order_statuses as $slug => $label ) {
|
203 |
$icon_data = $this->get_status_icon_data( $slug );
|
204 |
-
$color_style = ( 'yes' === apply_filters( '
|
205 |
' color: ' . $icon_data['color'] . ' !important;' : '';
|
206 |
echo '<style>.view.' . $slug . '::after { font-family: WooCommerce !important;' . $color_style .
|
207 |
' content: "\\' . $icon_data['content'] . '" !important; }</style>';
|
52 |
add_action( 'admin_footer', array( $this, 'bulk_admin_footer' ), 11 );
|
53 |
}
|
54 |
|
55 |
+
if ( 'yes' === apply_filters( 'booster_option', 'no', get_option( 'wcj_orders_custom_statuses_add_to_order_list_actions', 'no' ) ) ) {
|
56 |
add_filter( 'woocommerce_admin_order_actions', array( $this, 'add_custom_status_actions_buttons' ), PHP_INT_MAX, 2 );
|
57 |
add_action( 'admin_head', array( $this, 'add_custom_status_actions_buttons_css' ) );
|
58 |
}
|
59 |
|
60 |
+
if ( 'hide' != apply_filters( 'booster_option', 'hide', get_option( 'wcj_orders_custom_statuses_processing_and_completed_actions', 'hide' ) ) ) {
|
61 |
add_filter( 'woocommerce_admin_order_actions', array( $this, 'add_custom_status_to_processing_and_completed_actions' ), PHP_INT_MAX, 2 );
|
62 |
}
|
63 |
|
64 |
// Is order editable
|
65 |
+
if ( 'yes' === apply_filters( 'booster_option', 'no', get_option( 'wcj_orders_custom_statuses_is_order_editable', 'no' ) ) ) {
|
66 |
add_filter( 'wc_order_is_editable', array( $this, 'add_custom_order_statuses_to_order_editable' ), PHP_INT_MAX, 2 );
|
67 |
}
|
68 |
|
121 |
}
|
122 |
global $post;
|
123 |
$default_actions = array();
|
124 |
+
$show = apply_filters( 'booster_option', 'hide', get_option( 'wcj_orders_custom_statuses_processing_and_completed_actions', 'hide' ) );
|
125 |
if (
|
126 |
( 'show_both' === $show || 'show_processing' === $show ) &&
|
127 |
$_order->has_status( array_merge( array( 'pending', 'on-hold' ), $custom_order_statuses_without_wc_prefix ) )
|
201 |
$custom_order_statuses = $this->get_custom_order_statuses( true );
|
202 |
foreach ( $custom_order_statuses as $slug => $label ) {
|
203 |
$icon_data = $this->get_status_icon_data( $slug );
|
204 |
+
$color_style = ( 'yes' === apply_filters( 'booster_option', 'no', get_option( 'wcj_orders_custom_statuses_add_to_order_list_actions_colored', 'no' ) ) ) ?
|
205 |
' color: ' . $icon_data['color'] . ' !important;' : '';
|
206 |
echo '<style>.view.' . $slug . '::after { font-family: WooCommerce !important;' . $color_style .
|
207 |
' content: "\\' . $icon_data['content'] . '" !important; }</style>';
|
includes/class-wcj-order-min-amount.php
CHANGED
@@ -126,7 +126,7 @@ class WCJ_Order_Min_Amount extends WCJ_Module {
|
|
126 |
if ( 'yes' === get_option( 'wcj_order_minimum_amount_cart_notice_enabled', 'no' ) ) {
|
127 |
$notice_function = get_option( 'wcj_order_minimum_amount_cart_notice_function', 'wc_print_notice' );
|
128 |
$notice_function(
|
129 |
-
sprintf( apply_filters( '
|
130 |
wc_price( $minimum ),
|
131 |
wc_price( $cart_total )
|
132 |
),
|
@@ -135,7 +135,7 @@ class WCJ_Order_Min_Amount extends WCJ_Module {
|
|
135 |
}
|
136 |
} else {
|
137 |
wc_add_notice(
|
138 |
-
sprintf( apply_filters( '
|
139 |
wc_price( $minimum ),
|
140 |
wc_price( $cart_total )
|
141 |
),
|
126 |
if ( 'yes' === get_option( 'wcj_order_minimum_amount_cart_notice_enabled', 'no' ) ) {
|
127 |
$notice_function = get_option( 'wcj_order_minimum_amount_cart_notice_function', 'wc_print_notice' );
|
128 |
$notice_function(
|
129 |
+
sprintf( apply_filters( 'booster_option', 'You must have an order with a minimum of %s to place your order, your current order total is %s.', get_option( 'wcj_order_minimum_amount_cart_notice_message' ) ),
|
130 |
wc_price( $minimum ),
|
131 |
wc_price( $cart_total )
|
132 |
),
|
135 |
}
|
136 |
} else {
|
137 |
wc_add_notice(
|
138 |
+
sprintf( apply_filters( 'booster_option', 'You must have an order with a minimum of %s to place your order, your current order total is %s.', get_option( 'wcj_order_minimum_amount_error_message' ) ),
|
139 |
wc_price( $minimum ),
|
140 |
wc_price( $cart_total )
|
141 |
),
|
includes/class-wcj-order-numbers.php
CHANGED
@@ -2,7 +2,7 @@
|
|
2 |
/**
|
3 |
* Booster for WooCommerce - Module - Order Numbers
|
4 |
*
|
5 |
-
* @version 3.
|
6 |
* @author Algoritmika Ltd.
|
7 |
*/
|
8 |
|
@@ -16,6 +16,7 @@ class WCJ_Order_Numbers extends WCJ_Module {
|
|
16 |
* Constructor.
|
17 |
*
|
18 |
* @version 3.2.3
|
|
|
19 |
* @todo (maybe) rename "Orders Renumerate" to "Renumerate orders"
|
20 |
* @todo (maybe) use `woocommerce_new_order` hook instead of `wp_insert_post`
|
21 |
*/
|
@@ -151,7 +152,7 @@ class WCJ_Order_Numbers extends WCJ_Module {
|
|
151 |
$order_number_meta = $order_id;
|
152 |
}
|
153 |
$order_timestamp = strtotime( ( WCJ_IS_WC_VERSION_BELOW_3 ? $order->post->post_date : $order->get_date_created() ) );
|
154 |
-
$order_number = apply_filters( '
|
155 |
sprintf( '%s%s', do_shortcode( get_option( 'wcj_order_number_prefix', '' ) ), $order_number_meta ),
|
156 |
sprintf( '%s%s%0' . get_option( 'wcj_order_number_min_width', 0 ) . 's%s%s',
|
157 |
do_shortcode( get_option( 'wcj_order_number_prefix', '' ) ),
|
@@ -167,13 +168,20 @@ class WCJ_Order_Numbers extends WCJ_Module {
|
|
167 |
/**
|
168 |
* Add Renumerate Orders tool to WooCommerce menu (the content).
|
169 |
*
|
170 |
-
* @version 3.
|
|
|
|
|
171 |
*/
|
172 |
function create_renumerate_orders_tool() {
|
173 |
$result_message = '';
|
174 |
if ( isset( $_POST['renumerate_orders'] ) ) {
|
175 |
$this->renumerate_orders();
|
176 |
$result_message = '<p><div class="updated"><p><strong>' . __( 'Orders successfully renumerated!', 'woocommerce-jetpack' ) . '</strong></p></div></p>';
|
|
|
|
|
|
|
|
|
|
|
177 |
}
|
178 |
$html = '';
|
179 |
$html .= '<div class="wrap">';
|
@@ -200,10 +208,52 @@ class WCJ_Order_Numbers extends WCJ_Module {
|
|
200 |
$this->add_order_number_meta( $order_id, false );
|
201 |
}
|
202 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
203 |
/**
|
204 |
* Add/update order_number meta to order.
|
205 |
*
|
206 |
-
* @version 3.
|
207 |
*/
|
208 |
function add_order_number_meta( $order_id, $do_overwrite ) {
|
209 |
if ( 'shop_order' !== get_post_type( $order_id ) || 'auto-draft' === get_post_status( $order_id ) ) {
|
@@ -216,7 +266,7 @@ class WCJ_Order_Numbers extends WCJ_Module {
|
|
216 |
$wp_options_table = $wpdb->prefix . 'options';
|
217 |
$result_select = $wpdb->get_row( "SELECT * FROM $wp_options_table WHERE option_name = 'wcj_order_number_counter'" );
|
218 |
if ( NULL != $result_select ) {
|
219 |
-
$current_order_number = $result_select->option_value;
|
220 |
$result_update = $wpdb->update( $wp_options_table, array( 'option_value' => ( $current_order_number + 1 ) ), array( 'option_name' => 'wcj_order_number_counter' ) );
|
221 |
if ( NULL != $result_update ) {
|
222 |
$wpdb->query( 'COMMIT' ); // all ok
|
@@ -230,9 +280,11 @@ class WCJ_Order_Numbers extends WCJ_Module {
|
|
230 |
} else {
|
231 |
if ( 'hash_crc32' === get_option( 'wcj_order_number_sequential_enabled', 'yes' ) ) {
|
232 |
$current_order_number = sprintf( "%u", crc32( $order_id ) );
|
233 |
-
}
|
234 |
-
$current_order_number = get_option( 'wcj_order_number_counter', 1 );
|
235 |
update_option( 'wcj_order_number_counter', ( $current_order_number + 1 ) );
|
|
|
|
|
236 |
}
|
237 |
update_post_meta( $order_id, '_wcj_order_number', $current_order_number );
|
238 |
}
|
@@ -242,12 +294,15 @@ class WCJ_Order_Numbers extends WCJ_Module {
|
|
242 |
/**
|
243 |
* Renumerate orders function.
|
244 |
*
|
245 |
-
* @version 3.
|
246 |
* @todo renumerate in date range only
|
247 |
* @todo (maybe) selectable `post_status`
|
248 |
* @todo (maybe) set default value for `wcj_order_numbers_renumerate_tool_orderby` to `ID` (instead of `date`)
|
249 |
*/
|
250 |
function renumerate_orders() {
|
|
|
|
|
|
|
251 |
$offset = 0;
|
252 |
$block_size = 512;
|
253 |
while( true ) {
|
2 |
/**
|
3 |
* Booster for WooCommerce - Module - Order Numbers
|
4 |
*
|
5 |
+
* @version 3.3.0
|
6 |
* @author Algoritmika Ltd.
|
7 |
*/
|
8 |
|
16 |
* Constructor.
|
17 |
*
|
18 |
* @version 3.2.3
|
19 |
+
* @todo (maybe) add option (order meta box) to set number directly
|
20 |
* @todo (maybe) rename "Orders Renumerate" to "Renumerate orders"
|
21 |
* @todo (maybe) use `woocommerce_new_order` hook instead of `wp_insert_post`
|
22 |
*/
|
152 |
$order_number_meta = $order_id;
|
153 |
}
|
154 |
$order_timestamp = strtotime( ( WCJ_IS_WC_VERSION_BELOW_3 ? $order->post->post_date : $order->get_date_created() ) );
|
155 |
+
$order_number = apply_filters( 'booster_option',
|
156 |
sprintf( '%s%s', do_shortcode( get_option( 'wcj_order_number_prefix', '' ) ), $order_number_meta ),
|
157 |
sprintf( '%s%s%0' . get_option( 'wcj_order_number_min_width', 0 ) . 's%s%s',
|
158 |
do_shortcode( get_option( 'wcj_order_number_prefix', '' ) ),
|
168 |
/**
|
169 |
* Add Renumerate Orders tool to WooCommerce menu (the content).
|
170 |
*
|
171 |
+
* @version 3.3.0
|
172 |
+
* @todo restyle
|
173 |
+
* @todo add more result info (e.g. number of regenerated orders etc.)
|
174 |
*/
|
175 |
function create_renumerate_orders_tool() {
|
176 |
$result_message = '';
|
177 |
if ( isset( $_POST['renumerate_orders'] ) ) {
|
178 |
$this->renumerate_orders();
|
179 |
$result_message = '<p><div class="updated"><p><strong>' . __( 'Orders successfully renumerated!', 'woocommerce-jetpack' ) . '</strong></p></div></p>';
|
180 |
+
} else {
|
181 |
+
if ( 'yes' === get_option( 'wcj_order_number_sequential_enabled', 'yes' ) ) {
|
182 |
+
$result_message .= '<p>' . sprintf( __( 'Sequential number generation is enabled. Next order number will be %s.', 'woocommerce-jetpack' ),
|
183 |
+
'<code>' . get_option( 'wcj_order_number_counter', 1 ) . '</code>' ) . '</p>';
|
184 |
+
}
|
185 |
}
|
186 |
$html = '';
|
187 |
$html .= '<div class="wrap">';
|
208 |
$this->add_order_number_meta( $order_id, false );
|
209 |
}
|
210 |
|
211 |
+
/**
|
212 |
+
* maybe_reset_sequential_counter.
|
213 |
+
*
|
214 |
+
* @version 3.3.0
|
215 |
+
* @since 3.3.0
|
216 |
+
* @todo use transactions on `wcj_order_number_use_mysql_transaction_enabled`
|
217 |
+
*/
|
218 |
+
function maybe_reset_sequential_counter( $current_order_number, $order_id ) {
|
219 |
+
if ( 'no' != ( $reset_period = get_option( 'wcj_order_number_counter_reset_enabled', 'no' ) ) ) {
|
220 |
+
$previous_order_date = get_option( 'wcj_order_number_counter_previous_order_date', 0 );
|
221 |
+
$current_order_date = strtotime( wcj_get_order_date( wc_get_order( $order_id ) ) );
|
222 |
+
update_option( 'wcj_order_number_counter_previous_order_date', $current_order_date );
|
223 |
+
if ( 0 != $previous_order_date ) {
|
224 |
+
$do_reset = false;
|
225 |
+
switch ( $reset_period ) {
|
226 |
+
case 'daily':
|
227 |
+
$do_reset = (
|
228 |
+
date( 'Y', $current_order_date ) != date( 'Y', $previous_order_date ) ||
|
229 |
+
date( 'm', $current_order_date ) != date( 'm', $previous_order_date ) ||
|
230 |
+
date( 'd', $current_order_date ) != date( 'd', $previous_order_date )
|
231 |
+
);
|
232 |
+
break;
|
233 |
+
case 'monthly':
|
234 |
+
$do_reset = (
|
235 |
+
date( 'Y', $current_order_date ) != date( 'Y', $previous_order_date ) ||
|
236 |
+
date( 'm', $current_order_date ) != date( 'm', $previous_order_date )
|
237 |
+
);
|
238 |
+
break;
|
239 |
+
case 'yearly':
|
240 |
+
$do_reset = (
|
241 |
+
date( 'Y', $current_order_date ) != date( 'Y', $previous_order_date )
|
242 |
+
);
|
243 |
+
break;
|
244 |
+
}
|
245 |
+
if ( $do_reset ) {
|
246 |
+
return 1;
|
247 |
+
}
|
248 |
+
}
|
249 |
+
}
|
250 |
+
return $current_order_number;
|
251 |
+
}
|
252 |
+
|
253 |
/**
|
254 |
* Add/update order_number meta to order.
|
255 |
*
|
256 |
+
* @version 3.3.0
|
257 |
*/
|
258 |
function add_order_number_meta( $order_id, $do_overwrite ) {
|
259 |
if ( 'shop_order' !== get_post_type( $order_id ) || 'auto-draft' === get_post_status( $order_id ) ) {
|
266 |
$wp_options_table = $wpdb->prefix . 'options';
|
267 |
$result_select = $wpdb->get_row( "SELECT * FROM $wp_options_table WHERE option_name = 'wcj_order_number_counter'" );
|
268 |
if ( NULL != $result_select ) {
|
269 |
+
$current_order_number = $this->maybe_reset_sequential_counter( $result_select->option_value, $order_id );
|
270 |
$result_update = $wpdb->update( $wp_options_table, array( 'option_value' => ( $current_order_number + 1 ) ), array( 'option_name' => 'wcj_order_number_counter' ) );
|
271 |
if ( NULL != $result_update ) {
|
272 |
$wpdb->query( 'COMMIT' ); // all ok
|
280 |
} else {
|
281 |
if ( 'hash_crc32' === get_option( 'wcj_order_number_sequential_enabled', 'yes' ) ) {
|
282 |
$current_order_number = sprintf( "%u", crc32( $order_id ) );
|
283 |
+
} elseif ( 'yes' === get_option( 'wcj_order_number_sequential_enabled', 'yes' ) ) {
|
284 |
+
$current_order_number = $this->maybe_reset_sequential_counter( get_option( 'wcj_order_number_counter', 1 ), $order_id );
|
285 |
update_option( 'wcj_order_number_counter', ( $current_order_number + 1 ) );
|
286 |
+
} else { // 'no' === get_option( 'wcj_order_number_sequential_enabled', 'yes' ) // order ID
|
287 |
+
$current_order_number = '';
|
288 |
}
|
289 |
update_post_meta( $order_id, '_wcj_order_number', $current_order_number );
|
290 |
}
|
294 |
/**
|
295 |
* Renumerate orders function.
|
296 |
*
|
297 |
+
* @version 3.3.0
|
298 |
* @todo renumerate in date range only
|
299 |
* @todo (maybe) selectable `post_status`
|
300 |
* @todo (maybe) set default value for `wcj_order_numbers_renumerate_tool_orderby` to `ID` (instead of `date`)
|
301 |
*/
|
302 |
function renumerate_orders() {
|
303 |
+
if ( 'yes' === get_option( 'wcj_order_number_sequential_enabled', 'yes' ) && 'no' != get_option( 'wcj_order_number_counter_reset_enabled', 'no' ) ) {
|
304 |
+
update_option( 'wcj_order_number_counter_previous_order_date', 0 );
|
305 |
+
}
|
306 |
$offset = 0;
|
307 |
$block_size = 512;
|
308 |
while( true ) {
|
includes/class-wcj-order-quantities.php
CHANGED
@@ -39,8 +39,8 @@ class WCJ_Order_Quantities extends WCJ_Module {
|
|
39 |
add_action( 'wp', array( $this, 'stop_from_seeing_checkout' ), PHP_INT_MAX );
|
40 |
}
|
41 |
if (
|
42 |
-
'yes' === apply_filters( '
|
43 |
-
'yes' === apply_filters( '
|
44 |
) {
|
45 |
add_action( 'add_meta_boxes', array( $this, 'add_meta_box' ) );
|
46 |
add_action( 'save_post_product', array( $this, 'save_meta_box' ), PHP_INT_MAX, 2 );
|
@@ -97,11 +97,11 @@ class WCJ_Order_Quantities extends WCJ_Module {
|
|
97 |
return $default_qty;
|
98 |
}
|
99 |
if (
|
100 |
-
'yes' === apply_filters( '
|
101 |
0 != ( $max_or_max_per_item_quantity_per_product = get_post_meta( wcj_get_product_id( $_product ), '_' . 'wcj_order_quantities_' . $min_or_max, true ) )
|
102 |
) {
|
103 |
return $max_or_max_per_item_quantity_per_product;
|
104 |
-
} elseif ( 0 != ( $max_or_max_per_item_quantity = apply_filters( '
|
105 |
return $max_or_max_per_item_quantity;
|
106 |
} else {
|
107 |
return $default_qty;
|
@@ -271,7 +271,7 @@ class WCJ_Order_Quantities extends WCJ_Module {
|
|
271 |
}
|
272 |
}
|
273 |
}
|
274 |
-
if ( apply_filters( '
|
275 |
foreach ( $cart_item_quantities as $_product_id => $cart_item_quantity ) {
|
276 |
if ( 0 != ( $max_or_max_per_item_quantity = get_post_meta( $_product_id, '_' . 'wcj_order_quantities_' . $min_or_max, true ) ) ) {
|
277 |
if (
|
@@ -287,10 +287,10 @@ class WCJ_Order_Quantities extends WCJ_Module {
|
|
287 |
}
|
288 |
}
|
289 |
}
|
290 |
-
if ( 0 != ( $max_or_max_per_item_quantity = apply_filters( '
|
291 |
foreach ( $cart_item_quantities as $_product_id => $cart_item_quantity ) {
|
292 |
if (
|
293 |
-
'yes' === apply_filters( '
|
294 |
0 != get_post_meta( $_product_id, '_' . 'wcj_order_quantities_' . $min_or_max, true )
|
295 |
) {
|
296 |
continue;
|
39 |
add_action( 'wp', array( $this, 'stop_from_seeing_checkout' ), PHP_INT_MAX );
|
40 |
}
|
41 |
if (
|
42 |
+
'yes' === apply_filters( 'booster_option', 'no', get_option( 'wcj_order_quantities_min_per_item_quantity_per_product', 'no' ) ) ||
|
43 |
+
'yes' === apply_filters( 'booster_option', 'no', get_option( 'wcj_order_quantities_max_per_item_quantity_per_product', 'no' ) )
|
44 |
) {
|
45 |
add_action( 'add_meta_boxes', array( $this, 'add_meta_box' ) );
|
46 |
add_action( 'save_post_product', array( $this, 'save_meta_box' ), PHP_INT_MAX, 2 );
|
97 |
return $default_qty;
|
98 |
}
|
99 |
if (
|
100 |
+
'yes' === apply_filters( 'booster_option', 'no', get_option( 'wcj_order_quantities_' . $min_or_max . '_per_item_quantity_per_product', 'no' ) ) &&
|
101 |
0 != ( $max_or_max_per_item_quantity_per_product = get_post_meta( wcj_get_product_id( $_product ), '_' . 'wcj_order_quantities_' . $min_or_max, true ) )
|
102 |
) {
|
103 |
return $max_or_max_per_item_quantity_per_product;
|
104 |
+
} elseif ( 0 != ( $max_or_max_per_item_quantity = apply_filters( 'booster_option', 0, get_option( 'wcj_order_quantities_' . $min_or_max . '_per_item_quantity', 0 ) ) ) ) {
|
105 |
return $max_or_max_per_item_quantity;
|
106 |
} else {
|
107 |
return $default_qty;
|
271 |
}
|
272 |
}
|
273 |
}
|
274 |
+
if ( apply_filters( 'booster_option', 'no', get_option( 'wcj_order_quantities_' . $min_or_max . '_per_item_quantity_per_product', 'no' ) ) ) {
|
275 |
foreach ( $cart_item_quantities as $_product_id => $cart_item_quantity ) {
|
276 |
if ( 0 != ( $max_or_max_per_item_quantity = get_post_meta( $_product_id, '_' . 'wcj_order_quantities_' . $min_or_max, true ) ) ) {
|
277 |
if (
|
287 |
}
|
288 |
}
|
289 |
}
|
290 |
+
if ( 0 != ( $max_or_max_per_item_quantity = apply_filters( 'booster_option', 0, get_option( 'wcj_order_quantities_' . $min_or_max . '_per_item_quantity', 0 ) ) ) ) {
|
291 |
foreach ( $cart_item_quantities as $_product_id => $cart_item_quantity ) {
|
292 |
if (
|
293 |
+
'yes' === apply_filters( 'booster_option', 'no', get_option( 'wcj_order_quantities_' . $min_or_max . '_per_item_quantity_per_product', 'no' ) ) &&
|
294 |
0 != get_post_meta( $_product_id, '_' . 'wcj_order_quantities_' . $min_or_max, true )
|
295 |
) {
|
296 |
continue;
|
includes/class-wcj-orders.php
CHANGED
@@ -2,7 +2,7 @@
|
|
2 |
/**
|
3 |
* Booster for WooCommerce - Module - Orders
|
4 |
*
|
5 |
-
* @version 3.
|
6 |
* @author Algoritmika Ltd.
|
7 |
*/
|
8 |
|
@@ -15,7 +15,7 @@ class WCJ_Orders extends WCJ_Module {
|
|
15 |
/**
|
16 |
* Constructor.
|
17 |
*
|
18 |
-
* @version 3.
|
19 |
* @todo Bulk Regenerate Download Permissions - copy "cron" to plugin
|
20 |
* @todo Bulk Regenerate Download Permissions - maybe move "bulk actions" to free
|
21 |
* @todo Bulk Regenerate Download Permissions - maybe as new module
|
@@ -48,7 +48,7 @@ class WCJ_Orders extends WCJ_Module {
|
|
48 |
}
|
49 |
|
50 |
// Bulk Regenerate Download Permissions
|
51 |
-
if ( 'yes' === apply_filters( '
|
52 |
// Actions
|
53 |
if ( 'yes' === get_option( 'wcj_order_bulk_regenerate_download_permissions_actions', 'no' ) ) {
|
54 |
add_filter( 'bulk_actions-edit-shop_order', array( $this, 'register_bulk_actions_regenerate_download_permissions' ), PHP_INT_MAX );
|
@@ -59,7 +59,7 @@ class WCJ_Orders extends WCJ_Module {
|
|
59 |
// Admin notices
|
60 |
add_filter( 'admin_notices', array( $this, 'admin_notice_regenerate_download_permissions' ) );
|
61 |
// All orders - Cron
|
62 |
-
if ( 'disabled' != apply_filters( '
|
63 |
add_action( 'init', array( $this, 'schedule_bulk_regenerate_download_permissions_all_orders_cron' ) );
|
64 |
add_action( 'admin_init', array( $this, 'schedule_bulk_regenerate_download_permissions_all_orders_cron' ) );
|
65 |
add_filter( 'cron_schedules', 'wcj_crons_add_custom_intervals' );
|
@@ -67,6 +67,51 @@ class WCJ_Orders extends WCJ_Module {
|
|
67 |
}
|
68 |
}
|
69 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
70 |
}
|
71 |
}
|
72 |
|
@@ -79,7 +124,7 @@ class WCJ_Orders extends WCJ_Module {
|
|
79 |
function schedule_bulk_regenerate_download_permissions_all_orders_cron() {
|
80 |
wcj_crons_schedule_the_events(
|
81 |
'wcj_bulk_regenerate_download_permissions_all_orders_cron',
|
82 |
-
apply_filters( '
|
83 |
);
|
84 |
}
|
85 |
|
@@ -187,6 +232,7 @@ class WCJ_Orders extends WCJ_Module {
|
|
187 |
*
|
188 |
* @version 2.7.0
|
189 |
* @since 2.5.6
|
|
|
190 |
*/
|
191 |
function change_order_currency( $order_currency, $_order ) {
|
192 |
return ( '' != ( $wcj_order_currency = get_post_meta( wcj_get_order_id( $_order ), '_' . 'wcj_order_currency', true ) ) ) ? $wcj_order_currency : $order_currency;
|
2 |
/**
|
3 |
* Booster for WooCommerce - Module - Orders
|
4 |
*
|
5 |
+
* @version 3.3.0
|
6 |
* @author Algoritmika Ltd.
|
7 |
*/
|
8 |
|
15 |
/**
|
16 |
* Constructor.
|
17 |
*
|
18 |
+
* @version 3.3.0
|
19 |
* @todo Bulk Regenerate Download Permissions - copy "cron" to plugin
|
20 |
* @todo Bulk Regenerate Download Permissions - maybe move "bulk actions" to free
|
21 |
* @todo Bulk Regenerate Download Permissions - maybe as new module
|
48 |
}
|
49 |
|
50 |
// Bulk Regenerate Download Permissions
|
51 |
+
if ( 'yes' === apply_filters( 'booster_option', 'no', get_option( 'wcj_order_bulk_regenerate_download_permissions_enabled', 'no' ) ) ) {
|
52 |
// Actions
|
53 |
if ( 'yes' === get_option( 'wcj_order_bulk_regenerate_download_permissions_actions', 'no' ) ) {
|
54 |
add_filter( 'bulk_actions-edit-shop_order', array( $this, 'register_bulk_actions_regenerate_download_permissions' ), PHP_INT_MAX );
|
59 |
// Admin notices
|
60 |
add_filter( 'admin_notices', array( $this, 'admin_notice_regenerate_download_permissions' ) );
|
61 |
// All orders - Cron
|
62 |
+
if ( 'disabled' != apply_filters( 'booster_option', 'disabled', get_option( 'wcj_order_bulk_regenerate_download_permissions_all_orders_cron', 'disabled' ) ) ) {
|
63 |
add_action( 'init', array( $this, 'schedule_bulk_regenerate_download_permissions_all_orders_cron' ) );
|
64 |
add_action( 'admin_init', array( $this, 'schedule_bulk_regenerate_download_permissions_all_orders_cron' ) );
|
65 |
add_filter( 'cron_schedules', 'wcj_crons_add_custom_intervals' );
|
67 |
}
|
68 |
}
|
69 |
|
70 |
+
// Country by IP
|
71 |
+
if ( 'yes' === get_option( 'wcj_orders_country_by_ip_enabled', 'no' ) ) {
|
72 |
+
add_action( 'add_meta_boxes', array( $this, 'add_country_by_ip_meta_box' ) );
|
73 |
+
}
|
74 |
+
|
75 |
+
}
|
76 |
+
}
|
77 |
+
|
78 |
+
/**
|
79 |
+
* add_country_by_ip_meta_box.
|
80 |
+
*
|
81 |
+
* @version 3.3.0
|
82 |
+
* @since 3.3.0
|
83 |
+
*/
|
84 |
+
function add_country_by_ip_meta_box() {
|
85 |
+
add_meta_box(
|
86 |
+
'wc-jetpack-' . $this->id . '-country-by-ip',
|
87 |
+
__( 'Booster', 'woocommerce-jetpack' ) . ': ' . __( 'Country by IP', 'woocommerce-jetpack' ),
|
88 |
+
array( $this, 'create_country_by_ip_meta_box' ),
|
89 |
+
'shop_order',
|
90 |
+
'side',
|
91 |
+
'low'
|
92 |
+
);
|
93 |
+
}
|
94 |
+
|
95 |
+
/**
|
96 |
+
* create_country_by_ip_meta_box.
|
97 |
+
*
|
98 |
+
* @version 3.3.0
|
99 |
+
* @since 3.3.0
|
100 |
+
*/
|
101 |
+
function create_country_by_ip_meta_box() {
|
102 |
+
if (
|
103 |
+
class_exists( 'WC_Geolocation' ) &&
|
104 |
+
( $order = wc_get_order() ) &&
|
105 |
+
( $customer_ip = $order->get_customer_ip_address() ) &&
|
106 |
+
( $location = WC_Geolocation::geolocate_ip( $customer_ip ) ) &&
|
107 |
+
isset( $location['country'] ) && '' != $location['country']
|
108 |
+
) {
|
109 |
+
echo wcj_get_country_flag_by_code( $location['country'] ) . ' ' .
|
110 |
+
wcj_get_country_name_by_code( $location['country'] ) .
|
111 |
+
' (' . $location['country'] . ')' .
|
112 |
+
' [' . $customer_ip . ']';
|
113 |
+
} else {
|
114 |
+
echo '<em>' . __( 'No data.', 'woocommerce-jetpack' ) . '</em>';
|
115 |
}
|
116 |
}
|
117 |
|
124 |
function schedule_bulk_regenerate_download_permissions_all_orders_cron() {
|
125 |
wcj_crons_schedule_the_events(
|
126 |
'wcj_bulk_regenerate_download_permissions_all_orders_cron',
|
127 |
+
apply_filters( 'booster_option', 'disabled', get_option( 'wcj_order_bulk_regenerate_download_permissions_all_orders_cron', 'disabled' ) )
|
128 |
);
|
129 |
}
|
130 |
|
232 |
*
|
233 |
* @version 2.7.0
|
234 |
* @since 2.5.6
|
235 |
+
* @todo (maybe) move meta box to `side`
|
236 |
*/
|
237 |
function change_order_currency( $order_currency, $_order ) {
|
238 |
return ( '' != ( $wcj_order_currency = get_post_meta( wcj_get_order_id( $_order ), '_' . 'wcj_order_currency', true ) ) ) ? $wcj_order_currency : $order_currency;
|
includes/class-wcj-payment-gateways-by-country.php
CHANGED
@@ -2,7 +2,7 @@
|
|
2 |
/**
|
3 |
* Booster for WooCommerce - Module - Payment Gateways by Country
|
4 |
*
|
5 |
-
* @version
|
6 |
* @since 2.4.1
|
7 |
* @author Algoritmika Ltd.
|
8 |
*/
|
@@ -34,11 +34,13 @@ class WCJ_Payment_Gateways_By_Country extends WCJ_Module {
|
|
34 |
/**
|
35 |
* available_payment_gateways.
|
36 |
*
|
37 |
-
* @version
|
|
|
38 |
*/
|
39 |
function available_payment_gateways( $_available_gateways ) {
|
40 |
if ( isset( WC()->customer ) ) {
|
41 |
$customer_country = wcj_customer_get_country();
|
|
|
42 |
foreach ( $_available_gateways as $key => $gateway ) {
|
43 |
$include_countries = get_option( 'wcj_gateways_countries_include_' . $key, '' );
|
44 |
if ( ! empty( $include_countries ) && ! in_array( $customer_country, $include_countries ) ) {
|
@@ -50,7 +52,6 @@ class WCJ_Payment_Gateways_By_Country extends WCJ_Module {
|
|
50 |
unset( $_available_gateways[ $key ] );
|
51 |
continue;
|
52 |
}
|
53 |
-
$customer_state = ( WCJ_IS_WC_VERSION_BELOW_3 ) ? WC()->customer->get_state() : WC()->customer->get_billing_state();
|
54 |
$include_states = get_option( 'wcj_gateways_states_include_' . $key, '' );
|
55 |
if ( ! empty( $include_states ) && ! in_array( $customer_state, $include_states ) ) {
|
56 |
unset( $_available_gateways[ $key ] );
|
2 |
/**
|
3 |
* Booster for WooCommerce - Module - Payment Gateways by Country
|
4 |
*
|
5 |
+
* @version 3.3.0
|
6 |
* @since 2.4.1
|
7 |
* @author Algoritmika Ltd.
|
8 |
*/
|
34 |
/**
|
35 |
* available_payment_gateways.
|
36 |
*
|
37 |
+
* @version 3.3.0
|
38 |
+
* @todo (maybe) add option to detect customer's country by IP (instead of `wcj_customer_get_country()`); probably won't work with states though...
|
39 |
*/
|
40 |
function available_payment_gateways( $_available_gateways ) {
|
41 |
if ( isset( WC()->customer ) ) {
|
42 |
$customer_country = wcj_customer_get_country();
|
43 |
+
$customer_state = ( WCJ_IS_WC_VERSION_BELOW_3 ) ? WC()->customer->get_state() : WC()->customer->get_billing_state();
|
44 |
foreach ( $_available_gateways as $key => $gateway ) {
|
45 |
$include_countries = get_option( 'wcj_gateways_countries_include_' . $key, '' );
|
46 |
if ( ! empty( $include_countries ) && ! in_array( $customer_country, $include_countries ) ) {
|
52 |
unset( $_available_gateways[ $key ] );
|
53 |
continue;
|
54 |
}
|
|
|
55 |
$include_states = get_option( 'wcj_gateways_states_include_' . $key, '' );
|
56 |
if ( ! empty( $include_states ) && ! in_array( $customer_state, $include_states ) ) {
|
57 |
unset( $_available_gateways[ $key ] );
|
includes/class-wcj-payment-gateways-fees.php
CHANGED
@@ -2,7 +2,7 @@
|
|
2 |
/**
|
3 |
* Booster for WooCommerce - Module - Gateways Fees and Discounts
|
4 |
*
|
5 |
-
* @version
|
6 |
* @since 2.2.2
|
7 |
* @author Algoritmika Ltd.
|
8 |
*/
|
@@ -45,14 +45,21 @@ class WCJ_Payment_Gateways_Fees extends WCJ_Module {
|
|
45 |
}
|
46 |
|
47 |
/**
|
48 |
-
*
|
49 |
*
|
50 |
-
* @version
|
|
|
51 |
*/
|
52 |
-
function
|
53 |
-
|
54 |
-
|
55 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
56 |
$current_gateway = $woocommerce->session->chosen_payment_method;
|
57 |
$available_gateways = WC()->payment_gateways->get_available_payment_gateways();
|
58 |
if ( ! array_key_exists( $current_gateway, $available_gateways ) ) {
|
@@ -62,9 +69,19 @@ class WCJ_Payment_Gateways_Fees extends WCJ_Module {
|
|
62 |
$current_gateway = isset( $current_gateway->id ) ? $current_gateway->id : '';
|
63 |
}
|
64 |
}
|
65 |
-
|
66 |
-
|
67 |
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
68 |
if ( '' != $current_gateway ) {
|
69 |
$fee_text = get_option( 'wcj_gateways_fees_text_' . $current_gateway );
|
70 |
$min_cart_amount = get_option( 'wcj_gateways_fees_min_cart_amount_' . $current_gateway );
|
2 |
/**
|
3 |
* Booster for WooCommerce - Module - Gateways Fees and Discounts
|
4 |
*
|
5 |
+
* @version 3.3.0
|
6 |
* @since 2.2.2
|
7 |
* @author Algoritmika Ltd.
|
8 |
*/
|
45 |
}
|
46 |
|
47 |
/**
|
48 |
+
* get_current_gateway.
|
49 |
*
|
50 |
+
* @version 3.3.0
|
51 |
+
* @since 3.3.0
|
52 |
*/
|
53 |
+
function get_current_gateway() {
|
54 |
+
if ( isset( $_GET['wc-api'] ) && 'WC_Gateway_PayPal_Express_AngellEYE' === $_GET['wc-api'] ) {
|
55 |
+
return 'paypal_express'; // PayPal for WooCommerce (By Angell EYE)
|
56 |
+
} elseif (
|
57 |
+
( isset( $_GET['wc-ajax'] ) && 'wc_ppec_generate_cart' === $_GET['wc-ajax'] ) ||
|
58 |
+
( isset( $_GET['startcheckout'] ) && 'true' === $_GET['startcheckout'] )
|
59 |
+
) {
|
60 |
+
return 'ppec_paypal'; // WooCommerce PayPal Express Checkout Payment Gateway (By WooCommerce)
|
61 |
+
} else {
|
62 |
+
/* global $woocommerce;
|
63 |
$current_gateway = $woocommerce->session->chosen_payment_method;
|
64 |
$available_gateways = WC()->payment_gateways->get_available_payment_gateways();
|
65 |
if ( ! array_key_exists( $current_gateway, $available_gateways ) ) {
|
69 |
$current_gateway = isset( $current_gateway->id ) ? $current_gateway->id : '';
|
70 |
}
|
71 |
}
|
72 |
+
return $current_gateway; */
|
73 |
+
return WC()->session->chosen_payment_method;
|
74 |
}
|
75 |
+
}
|
76 |
+
|
77 |
+
/**
|
78 |
+
* gateways_fees.
|
79 |
+
*
|
80 |
+
* @version 3.3.0
|
81 |
+
*/
|
82 |
+
function gateways_fees() {
|
83 |
+
global $woocommerce;
|
84 |
+
$current_gateway = $this->get_current_gateway();
|
85 |
if ( '' != $current_gateway ) {
|
86 |
$fee_text = get_option( 'wcj_gateways_fees_text_' . $current_gateway );
|
87 |
$min_cart_amount = get_option( 'wcj_gateways_fees_min_cart_amount_' . $current_gateway );
|
includes/class-wcj-payment-gateways-icons.php
CHANGED
@@ -47,7 +47,7 @@ class WCJ_Payment_Gateways_Icons extends WCJ_Module {
|
|
47 |
* @version 2.3.1
|
48 |
*/
|
49 |
function set_icon( $icon, $key ) {
|
50 |
-
$default_gateways = apply_filters( '
|
51 |
if ( ! empty( $default_gateways ) && ! in_array( $key, $default_gateways ) ) {
|
52 |
return $icon;
|
53 |
}
|
47 |
* @version 2.3.1
|
48 |
*/
|
49 |
function set_icon( $icon, $key ) {
|
50 |
+
$default_gateways = apply_filters( 'booster_option', array( 'cod', 'cheque', 'bacs', 'mijireh_checkout', 'paypal' ), array() );
|
51 |
if ( ! empty( $default_gateways ) && ! in_array( $key, $default_gateways ) ) {
|
52 |
return $icon;
|
53 |
}
|
includes/class-wcj-payment-gateways-per-category.php
CHANGED
@@ -110,7 +110,7 @@ class WCJ_Payment_Gateways_Per_Category extends WCJ_Module {
|
|
110 |
}
|
111 |
|
112 |
// Including by products
|
113 |
-
$products_in = wcj_maybe_convert_string_to_array( apply_filters( '
|
114 |
if ( ! empty( $products_in ) ) {
|
115 |
$do_skip = true;
|
116 |
foreach ( WC()->cart->get_cart() as $cart_item_key => $values ) {
|
@@ -130,7 +130,7 @@ class WCJ_Payment_Gateways_Per_Category extends WCJ_Module {
|
|
130 |
}
|
131 |
|
132 |
// Excluding by products
|
133 |
-
$products_excl = wcj_maybe_convert_string_to_array( apply_filters( '
|
134 |
if ( ! empty( $products_excl ) ) {
|
135 |
$do_skip = false;
|
136 |
foreach ( WC()->cart->get_cart() as $cart_item_key => $values ) {
|
110 |
}
|
111 |
|
112 |
// Including by products
|
113 |
+
$products_in = wcj_maybe_convert_string_to_array( apply_filters( 'booster_option', array(), get_option( 'wcj_gateways_per_products_' . $gateway_id ) ) );
|
114 |
if ( ! empty( $products_in ) ) {
|
115 |
$do_skip = true;
|
116 |
foreach ( WC()->cart->get_cart() as $cart_item_key => $values ) {
|
130 |
}
|
131 |
|
132 |
// Excluding by products
|
133 |
+
$products_excl = wcj_maybe_convert_string_to_array( apply_filters( 'booster_option', array(), get_option( 'wcj_gateways_per_products_excl_' . $gateway_id ) ) );
|
134 |
if ( ! empty( $products_excl ) ) {
|
135 |
$do_skip = false;
|
136 |
foreach ( WC()->cart->get_cart() as $cart_item_key => $values ) {
|
includes/class-wcj-payment-gateways.php
CHANGED
@@ -2,7 +2,7 @@
|
|
2 |
/**
|
3 |
* Booster for WooCommerce - Module - Custom Gateways
|
4 |
*
|
5 |
-
* @version 3.0
|
6 |
* @author Algoritmika Ltd.
|
7 |
*/
|
8 |
|
@@ -15,7 +15,7 @@ class WCJ_Payment_Gateways extends WCJ_Module {
|
|
15 |
/**
|
16 |
* Constructor.
|
17 |
*
|
18 |
-
* @version 3.0
|
19 |
*/
|
20 |
function __construct() {
|
21 |
|
@@ -30,6 +30,22 @@ class WCJ_Payment_Gateways extends WCJ_Module {
|
|
30 |
add_action( 'woocommerce_after_checkout_validation', array( $this, 'check_required_wcj_input_fields' ), PHP_INT_MAX, 2 );
|
31 |
add_action( 'woocommerce_checkout_update_order_meta', array( $this, 'update_custom_payment_gateways_fields_order_meta' ), PHP_INT_MAX, 2 );
|
32 |
add_action( 'add_meta_boxes', array( $this, 'add_custom_payment_gateways_fields_admin_order_meta_box' ) );
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
33 |
}
|
34 |
}
|
35 |
|
@@ -84,7 +100,7 @@ class WCJ_Payment_Gateways extends WCJ_Module {
|
|
84 |
/**
|
85 |
* create_custom_payment_gateways_fields_admin_order_meta_box.
|
86 |
*
|
87 |
-
* @version
|
88 |
* @since 2.5.2
|
89 |
*/
|
90 |
function create_custom_payment_gateways_fields_admin_order_meta_box() {
|
@@ -96,6 +112,10 @@ class WCJ_Payment_Gateways extends WCJ_Module {
|
|
96 |
$table_data[] = array( $name, $value );
|
97 |
}
|
98 |
$html .= wcj_get_table_html( $table_data, array( 'table_class' => 'widefat striped', 'table_heading_type' => 'vertical', ) );
|
|
|
|
|
|
|
|
|
99 |
echo $html;
|
100 |
}
|
101 |
|
2 |
/**
|
3 |
* Booster for WooCommerce - Module - Custom Gateways
|
4 |
*
|
5 |
+
* @version 3.3.0
|
6 |
* @author Algoritmika Ltd.
|
7 |
*/
|
8 |
|
15 |
/**
|
16 |
* Constructor.
|
17 |
*
|
18 |
+
* @version 3.3.0
|
19 |
*/
|
20 |
function __construct() {
|
21 |
|
30 |
add_action( 'woocommerce_after_checkout_validation', array( $this, 'check_required_wcj_input_fields' ), PHP_INT_MAX, 2 );
|
31 |
add_action( 'woocommerce_checkout_update_order_meta', array( $this, 'update_custom_payment_gateways_fields_order_meta' ), PHP_INT_MAX, 2 );
|
32 |
add_action( 'add_meta_boxes', array( $this, 'add_custom_payment_gateways_fields_admin_order_meta_box' ) );
|
33 |
+
add_action( 'admin_init', array( $this, 'maybe_delete_payment_gateway_input_fields' ) );
|
34 |
+
}
|
35 |
+
}
|
36 |
+
|
37 |
+
/**
|
38 |
+
* maybe_delete_payment_gateway_input_fields.
|
39 |
+
*
|
40 |
+
* @version 3.3.0
|
41 |
+
* @since 3.3.0
|
42 |
+
*/
|
43 |
+
function maybe_delete_payment_gateway_input_fields() {
|
44 |
+
if ( isset( $_GET['wcj_delete_payment_gateway_input_fields'] ) ) {
|
45 |
+
$order_id = $_GET['wcj_delete_payment_gateway_input_fields'];
|
46 |
+
delete_post_meta( $order_id, '_wcj_custom_payment_gateway_input_fields' );
|
47 |
+
wp_safe_redirect( remove_query_arg( 'wcj_delete_payment_gateway_input_fields' ) );
|
48 |
+
exit;
|
49 |
}
|
50 |
}
|
51 |
|
100 |
/**
|
101 |
* create_custom_payment_gateways_fields_admin_order_meta_box.
|
102 |
*
|
103 |
+
* @version 3.3.0
|
104 |
* @since 2.5.2
|
105 |
*/
|
106 |
function create_custom_payment_gateways_fields_admin_order_meta_box() {
|
112 |
$table_data[] = array( $name, $value );
|
113 |
}
|
114 |
$html .= wcj_get_table_html( $table_data, array( 'table_class' => 'widefat striped', 'table_heading_type' => 'vertical', ) );
|
115 |
+
if ( 'yes' === get_option( 'wcj_custom_payment_gateways_input_fields_delete_button', 'no' ) ) {
|
116 |
+
$html .= '<p><a style="color:#a00;" href="' . add_query_arg( 'wcj_delete_payment_gateway_input_fields', $order_id ) . '"' . wcj_get_js_confirmation() . '>' .
|
117 |
+
__( 'Delete', 'woocommerce-jetpack' ) . '</a></p>';
|
118 |
+
}
|
119 |
echo $html;
|
120 |
}
|
121 |
|
includes/class-wcj-pdf-invoicing.php
CHANGED
@@ -2,7 +2,7 @@
|
|
2 |
/**
|
3 |
* Booster for WooCommerce - Module - PDF Invoicing
|
4 |
*
|
5 |
-
* @version 3.
|
6 |
* @author Algoritmika Ltd.
|
7 |
*/
|
8 |
|
@@ -68,7 +68,7 @@ class WCJ_PDF_Invoicing extends WCJ_Module {
|
|
68 |
}
|
69 |
|
70 |
/**
|
71 |
-
* Add extra bulk action options to generate/download documents
|
72 |
*
|
73 |
* Using Javascript until WordPress core fixes: http://core.trac.wordpress.org/ticket/16031
|
74 |
*
|
2 |
/**
|
3 |
* Booster for WooCommerce - Module - PDF Invoicing
|
4 |
*
|
5 |
+
* @version 3.3.0
|
6 |
* @author Algoritmika Ltd.
|
7 |
*/
|
8 |
|
68 |
}
|
69 |
|
70 |
/**
|
71 |
+
* Add extra bulk action options to generate/download documents.
|
72 |
*
|
73 |
* Using Javascript until WordPress core fixes: http://core.trac.wordpress.org/ticket/16031
|
74 |
*
|
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 Algoritmika Ltd.
|
7 |
*/
|
8 |
|
@@ -15,7 +15,8 @@ class WCJ_Price_By_Country extends WCJ_Module {
|
|
15 |
/**
|
16 |
* Constructor.
|
17 |
*
|
18 |
-
* @version
|
|
|
19 |
*/
|
20 |
function __construct() {
|
21 |
|
@@ -51,7 +52,12 @@ class WCJ_Price_By_Country extends WCJ_Module {
|
|
51 |
// Backend
|
52 |
include_once( 'reports/class-wcj-currency-reports.php' );
|
53 |
if ( 'yes' === get_option( 'wcj_price_by_country_local_enabled', 'yes' ) ) {
|
54 |
-
|
|
|
|
|
|
|
|
|
|
|
55 |
}
|
56 |
|
57 |
// Reset Price Filter
|
2 |
/**
|
3 |
* Booster for WooCommerce - Module - Prices and Currencies by Country
|
4 |
*
|
5 |
+
* @version 3.3.0
|
6 |
* @author Algoritmika Ltd.
|
7 |
*/
|
8 |
|
15 |
/**
|
16 |
* Constructor.
|
17 |
*
|
18 |
+
* @version 3.3.0
|
19 |
+
* @todo cleanup
|
20 |
*/
|
21 |
function __construct() {
|
22 |
|
52 |
// Backend
|
53 |
include_once( 'reports/class-wcj-currency-reports.php' );
|
54 |
if ( 'yes' === get_option( 'wcj_price_by_country_local_enabled', 'yes' ) ) {
|
55 |
+
if ( 'inline' === get_option( 'wcj_price_by_country_local_options_style', 'inline' ) ) {
|
56 |
+
include_once( 'price-by-country/class-wcj-price-by-country-local.php' );
|
57 |
+
} else {
|
58 |
+
add_action( 'add_meta_boxes', array( $this, 'add_meta_box' ) );
|
59 |
+
add_action( 'save_post_product', array( $this, 'save_meta_box' ), PHP_INT_MAX, 2 );
|
60 |
+
}
|
61 |
}
|
62 |
|
63 |
// Reset Price Filter
|
includes/class-wcj-price-by-user-role.php
CHANGED
@@ -64,7 +64,7 @@ class WCJ_Price_By_User_Role extends WCJ_Module {
|
|
64 |
* @since 2.5.0
|
65 |
*/
|
66 |
function save_meta_box_value( $option_value, $option_name, $module_id ) {
|
67 |
-
if ( true === apply_filters( '
|
68 |
return $option_value;
|
69 |
}
|
70 |
if ( 'no' === $option_value ) {
|
@@ -239,7 +239,7 @@ class WCJ_Price_By_User_Role extends WCJ_Module {
|
|
239 |
}
|
240 |
|
241 |
// By category
|
242 |
-
$categories = apply_filters( '
|
243 |
if ( ! empty( $categories ) ) {
|
244 |
$product_categories = get_the_terms( wcj_get_product_id_or_variation_parent_id( $_product ), 'product_cat' );
|
245 |
if ( ! empty( $product_categories ) ) {
|
@@ -278,7 +278,7 @@ class WCJ_Price_By_User_Role extends WCJ_Module {
|
|
278 |
*/
|
279 |
function get_variation_prices_hash( $price_hash, $_product, $display ) {
|
280 |
$user_role = wcj_get_current_user_first_role();
|
281 |
-
$categories = apply_filters( '
|
282 |
$price_hash['wcj_user_role'] = array(
|
283 |
$user_role,
|
284 |
get_option( 'wcj_price_by_user_role_' . $user_role, 1 ),
|
64 |
* @since 2.5.0
|
65 |
*/
|
66 |
function save_meta_box_value( $option_value, $option_name, $module_id ) {
|
67 |
+
if ( true === apply_filters( 'booster_option', false, true ) ) {
|
68 |
return $option_value;
|
69 |
}
|
70 |
if ( 'no' === $option_value ) {
|
239 |
}
|
240 |
|
241 |
// By category
|
242 |
+
$categories = apply_filters( 'booster_option', '', get_option( 'wcj_price_by_user_role_categories', '' ) );
|
243 |
if ( ! empty( $categories ) ) {
|
244 |
$product_categories = get_the_terms( wcj_get_product_id_or_variation_parent_id( $_product ), 'product_cat' );
|
245 |
if ( ! empty( $product_categories ) ) {
|
278 |
*/
|
279 |
function get_variation_prices_hash( $price_hash, $_product, $display ) {
|
280 |
$user_role = wcj_get_current_user_first_role();
|
281 |
+
$categories = apply_filters( 'booster_option', '', get_option( 'wcj_price_by_user_role_categories', '' ) );
|
282 |
$price_hash['wcj_user_role'] = array(
|
283 |
$user_role,
|
284 |
get_option( 'wcj_price_by_user_role_' . $user_role, 1 ),
|
includes/class-wcj-price-formats.php
CHANGED
@@ -46,7 +46,7 @@ class WCJ_Price_Formats extends WCJ_Module {
|
|
46 |
* @since 2.5.2
|
47 |
*/
|
48 |
function price_format( $args ) {
|
49 |
-
for ( $i = 1; $i <= apply_filters( '
|
50 |
if ( get_woocommerce_currency() === get_option( 'wcj_price_formats_currency_' . $i ) ) {
|
51 |
if ( defined( 'ICL_LANGUAGE_CODE' ) && '' != ( $wpml_language = get_option( 'wcj_price_formats_wpml_language_' . $i, '' ) ) ) {
|
52 |
$wpml_language = explode( ',', trim( str_replace( ' ', '', $wpml_language ), ',' ) );
|
46 |
* @since 2.5.2
|
47 |
*/
|
48 |
function price_format( $args ) {
|
49 |
+
for ( $i = 1; $i <= apply_filters( 'booster_option', 1, get_option( 'wcj_price_formats_total_number', 1 ) ); $i++ ) {
|
50 |
if ( get_woocommerce_currency() === get_option( 'wcj_price_formats_currency_' . $i ) ) {
|
51 |
if ( defined( 'ICL_LANGUAGE_CODE' ) && '' != ( $wpml_language = get_option( 'wcj_price_formats_wpml_language_' . $i, '' ) ) ) {
|
52 |
$wpml_language = explode( ',', trim( str_replace( ' ', '', $wpml_language ), ',' ) );
|
includes/class-wcj-price-labels.php
CHANGED
@@ -2,7 +2,7 @@
|
|
2 |
/**
|
3 |
* Booster for WooCommerce - Module - Custom Price Labels
|
4 |
*
|
5 |
-
* @version 3.
|
6 |
* @author Algoritmika Ltd.
|
7 |
*/
|
8 |
|
@@ -162,7 +162,7 @@ class WCJ_Price_Labels extends WCJ_Module {
|
|
162 |
$option_name = $this->custom_tab_group_name . $custom_tab_section . $custom_tab_section_variation;
|
163 |
if ( $custom_tab_section_variation == '_text' ) {
|
164 |
if ( $custom_tab_section != '_instead' ) {
|
165 |
-
$disabled_if_no_plus = apply_filters( '
|
166 |
} else {
|
167 |
$disabled_if_no_plus = '';
|
168 |
}
|
@@ -177,7 +177,7 @@ class WCJ_Price_Labels extends WCJ_Module {
|
|
177 |
echo '<li><h5>Variable products</h5></li>';
|
178 |
}
|
179 |
if ( '_instead' != $custom_tab_section ) {
|
180 |
-
$disabled_if_no_plus = apply_filters( '
|
181 |
} else {
|
182 |
$disabled_if_no_plus = '';
|
183 |
}
|
@@ -192,7 +192,7 @@ class WCJ_Price_Labels extends WCJ_Module {
|
|
192 |
echo '<tr>';
|
193 |
foreach ( $this->custom_tab_sections as $custom_tab_section ) {
|
194 |
if ( '_instead' != $custom_tab_section )
|
195 |
-
$disabled_if_no_plus = apply_filters( '
|
196 |
else
|
197 |
$disabled_if_no_plus = '';
|
198 |
echo '<td style="width:25%;">' . $disabled_if_no_plus . '</td>';
|
@@ -213,13 +213,13 @@ class WCJ_Price_Labels extends WCJ_Module {
|
|
213 |
$price = $custom_label;
|
214 |
break;
|
215 |
case '_before':
|
216 |
-
$price = apply_filters( '
|
217 |
break;
|
218 |
case '_between':
|
219 |
-
$price = apply_filters( '
|
220 |
break;
|
221 |
case '_after':
|
222 |
-
$price = apply_filters( '
|
223 |
break;
|
224 |
}
|
225 |
return str_replace( 'From: ', '', $price );
|
@@ -228,7 +228,7 @@ class WCJ_Price_Labels extends WCJ_Module {
|
|
228 |
/*
|
229 |
* custom_price - front end.
|
230 |
*
|
231 |
-
* @version 3.
|
232 |
* @todo rewrite this with less filters (e.g. `woocommerce_get_price_html` only) - at least for `! WCJ_IS_WC_VERSION_BELOW_3`
|
233 |
*/
|
234 |
function custom_price( $price, $product ) {
|
@@ -319,7 +319,7 @@ class WCJ_Price_Labels extends WCJ_Module {
|
|
319 |
}
|
320 |
if ( $do_apply_global ) {
|
321 |
// Global price labels - Add text before price
|
322 |
-
$text_to_add_before = apply_filters( '
|
323 |
if ( '' != $text_to_add_before ) {
|
324 |
if ( apply_filters( 'wcj_price_labels_check_on_applying_label', true, $price, $text_to_add_before ) ) {
|
325 |
$price = $text_to_add_before . $price;
|
@@ -335,16 +335,16 @@ class WCJ_Price_Labels extends WCJ_Module {
|
|
335 |
// Global price labels - Between regular and sale prices
|
336 |
$text_to_add_between_regular_and_sale = get_option( 'wcj_global_price_labels_between_regular_and_sale_text' );
|
337 |
if ( '' != $text_to_add_between_regular_and_sale ) {
|
338 |
-
$price = apply_filters( '
|
339 |
}
|
340 |
// Global price labels - Remove text from price
|
341 |
-
$text_to_remove = apply_filters( '
|
342 |
if ( '' != $text_to_remove ) {
|
343 |
$price = str_replace( $text_to_remove, '', $price );
|
344 |
}
|
345 |
// Global price labels - Replace in price
|
346 |
-
$text_to_replace = apply_filters( '
|
347 |
-
$text_to_replace_with = apply_filters( '
|
348 |
if ( '' != $text_to_replace && '' != $text_to_replace_with ) {
|
349 |
$price = str_replace( $text_to_replace, $text_to_replace_with, $price );
|
350 |
}
|
@@ -399,13 +399,13 @@ class WCJ_Price_Labels extends WCJ_Module {
|
|
399 |
}
|
400 |
}
|
401 |
|
402 |
-
//
|
403 |
-
|
404 |
-
|
405 |
-
global $wcj_product_id_for_shortcode;
|
406 |
-
$wcj_product_id_for_shortcode = wcj_get_product_id( $product );
|
407 |
$result = do_shortcode( $price );
|
408 |
-
|
|
|
|
|
409 |
return $result;
|
410 |
}
|
411 |
|
2 |
/**
|
3 |
* Booster for WooCommerce - Module - Custom Price Labels
|
4 |
*
|
5 |
+
* @version 3.3.0
|
6 |
* @author Algoritmika Ltd.
|
7 |
*/
|
8 |
|
162 |
$option_name = $this->custom_tab_group_name . $custom_tab_section . $custom_tab_section_variation;
|
163 |
if ( $custom_tab_section_variation == '_text' ) {
|
164 |
if ( $custom_tab_section != '_instead' ) {
|
165 |
+
$disabled_if_no_plus = apply_filters( 'booster_message', '', 'readonly_string' );
|
166 |
} else {
|
167 |
$disabled_if_no_plus = '';
|
168 |
}
|
177 |
echo '<li><h5>Variable products</h5></li>';
|
178 |
}
|
179 |
if ( '_instead' != $custom_tab_section ) {
|
180 |
+
$disabled_if_no_plus = apply_filters( 'booster_message', '', 'disabled_string' );
|
181 |
} else {
|
182 |
$disabled_if_no_plus = '';
|
183 |
}
|
192 |
echo '<tr>';
|
193 |
foreach ( $this->custom_tab_sections as $custom_tab_section ) {
|
194 |
if ( '_instead' != $custom_tab_section )
|
195 |
+
$disabled_if_no_plus = apply_filters( 'booster_message', '', 'desc_above' );
|
196 |
else
|
197 |
$disabled_if_no_plus = '';
|
198 |
echo '<td style="width:25%;">' . $disabled_if_no_plus . '</td>';
|
213 |
$price = $custom_label;
|
214 |
break;
|
215 |
case '_before':
|
216 |
+
$price = apply_filters( 'booster_option', $price, $custom_label . $price );
|
217 |
break;
|
218 |
case '_between':
|
219 |
+
$price = apply_filters( 'booster_option', $price, str_replace( '</del> <ins>', '</del>' . $custom_label . '<ins>', $price ) );
|
220 |
break;
|
221 |
case '_after':
|
222 |
+
$price = apply_filters( 'booster_option', $price, $price . $custom_label );
|
223 |
break;
|
224 |
}
|
225 |
return str_replace( 'From: ', '', $price );
|
228 |
/*
|
229 |
* custom_price - front end.
|
230 |
*
|
231 |
+
* @version 3.3.0
|
232 |
* @todo rewrite this with less filters (e.g. `woocommerce_get_price_html` only) - at least for `! WCJ_IS_WC_VERSION_BELOW_3`
|
233 |
*/
|
234 |
function custom_price( $price, $product ) {
|
319 |
}
|
320 |
if ( $do_apply_global ) {
|
321 |
// Global price labels - Add text before price
|
322 |
+
$text_to_add_before = apply_filters( 'booster_option', '', get_option( 'wcj_global_price_labels_add_before_text' ) );
|
323 |
if ( '' != $text_to_add_before ) {
|
324 |
if ( apply_filters( 'wcj_price_labels_check_on_applying_label', true, $price, $text_to_add_before ) ) {
|
325 |
$price = $text_to_add_before . $price;
|
335 |
// Global price labels - Between regular and sale prices
|
336 |
$text_to_add_between_regular_and_sale = get_option( 'wcj_global_price_labels_between_regular_and_sale_text' );
|
337 |
if ( '' != $text_to_add_between_regular_and_sale ) {
|
338 |
+
$price = apply_filters( 'booster_option', $price, str_replace( '</del> <ins>', '</del>' . $text_to_add_between_regular_and_sale . '<ins>', $price ) );
|
339 |
}
|
340 |
// Global price labels - Remove text from price
|
341 |
+
$text_to_remove = apply_filters( 'booster_option', '', get_option( 'wcj_global_price_labels_remove_text' ) );
|
342 |
if ( '' != $text_to_remove ) {
|
343 |
$price = str_replace( $text_to_remove, '', $price );
|
344 |
}
|
345 |
// Global price labels - Replace in price
|
346 |
+
$text_to_replace = apply_filters( 'booster_option', '', get_option( 'wcj_global_price_labels_replace_text' ) );
|
347 |
+
$text_to_replace_with = apply_filters( 'booster_option', '', get_option( 'wcj_global_price_labels_replace_with_text' ) );
|
348 |
if ( '' != $text_to_replace && '' != $text_to_replace_with ) {
|
349 |
$price = str_replace( $text_to_replace, $text_to_replace_with, $price );
|
350 |
}
|
399 |
}
|
400 |
}
|
401 |
|
402 |
+
// Apply shortcodes
|
403 |
+
WCJ()->shortcodes['products']->passed_product = $product;
|
404 |
+
WCJ()->shortcodes['products_crowdfunding']->passed_product = $product;
|
|
|
|
|
405 |
$result = do_shortcode( $price );
|
406 |
+
unset( WCJ()->shortcodes['products']->passed_product );
|
407 |
+
unset( WCJ()->shortcodes['products_crowdfunding']->passed_product );
|
408 |
+
|
409 |
return $result;
|
410 |
}
|
411 |
|
includes/class-wcj-product-add-to-cart.php
CHANGED
@@ -2,7 +2,7 @@
|
|
2 |
/**
|
3 |
* Booster for WooCommerce - Module - Product Add To Cart
|
4 |
*
|
5 |
-
* @version 3.
|
6 |
* @since 2.2.0
|
7 |
* @author Algoritmika Ltd.
|
8 |
*/
|
@@ -16,17 +16,18 @@ class WCJ_Product_Add_To_Cart extends WCJ_Module {
|
|
16 |
/**
|
17 |
* Constructor.
|
18 |
*
|
19 |
-
* @version 3.
|
|
|
|
|
20 |
*/
|
21 |
function __construct() {
|
22 |
|
23 |
$this->id = 'product_add_to_cart';
|
24 |
-
$this->short_desc = __( '
|
25 |
$this->desc = __( 'Set any local url to redirect to on WooCommerce Add to Cart.', 'woocommerce-jetpack' )
|
26 |
. ' ' . __( 'Automatically add to cart on product visit.', 'woocommerce-jetpack' )
|
27 |
. ' ' . __( 'Display radio buttons instead of drop box for variable products.', 'woocommerce-jetpack' )
|
28 |
. ' ' . __( 'Disable quantity input.', 'woocommerce-jetpack' )
|
29 |
-
. ' ' . __( 'Disable add to cart button on per product basis.', 'woocommerce-jetpack' )
|
30 |
. ' ' . __( 'Open external products on add to cart in new window.', 'woocommerce-jetpack' )
|
31 |
. ' ' . __( 'Replace Add to Cart button on archives with button from single product pages.', 'woocommerce-jetpack' )
|
32 |
. ' ' . __( 'Customize Add to Cart messages.', 'woocommerce-jetpack' );
|
@@ -37,10 +38,9 @@ class WCJ_Product_Add_To_Cart extends WCJ_Module {
|
|
37 |
|
38 |
// Metaboxes
|
39 |
if (
|
40 |
-
'yes' === get_option( 'wcj_add_to_cart_button_per_product_enabled', 'no' ) ||
|
41 |
'yes' === get_option( 'wcj_add_to_cart_button_custom_loop_url_per_product_enabled', 'no' ) ||
|
42 |
'yes' === get_option( 'wcj_add_to_cart_button_ajax_per_product_enabled', 'no' ) ||
|
43 |
-
'yes' === apply_filters( '
|
44 |
'per_product' === get_option( 'wcj_add_to_cart_on_visit_enabled', 'no' )
|
45 |
) {
|
46 |
add_action( 'add_meta_boxes', array( $this, 'add_meta_box' ) );
|
@@ -49,14 +49,14 @@ class WCJ_Product_Add_To_Cart extends WCJ_Module {
|
|
49 |
|
50 |
// Customize "Continue shopping" or "View cart" messages
|
51 |
if (
|
52 |
-
'yes' === apply_filters( '
|
53 |
-
'yes' === apply_filters( '
|
54 |
) {
|
55 |
add_filter( 'wc_add_to_cart_message_html', array( $this, 'change_add_to_cart_message_html' ), PHP_INT_MAX, 2 );
|
56 |
}
|
57 |
|
58 |
// Local Redirect
|
59 |
-
if ( 'yes' === get_option( 'wcj_add_to_cart_redirect_enabled', 'no' ) || 'yes' === apply_filters( '
|
60 |
add_filter( 'woocommerce_add_to_cart_redirect', array( $this, 'maybe_redirect_to_url' ), PHP_INT_MAX );
|
61 |
}
|
62 |
|
@@ -66,7 +66,7 @@ class WCJ_Product_Add_To_Cart extends WCJ_Module {
|
|
66 |
}
|
67 |
|
68 |
// Variable Add to Cart Template
|
69 |
-
if ( 'yes' === apply_filters( '
|
70 |
add_action( 'wp_enqueue_scripts', array( $this, 'enqueue_variable_add_to_cart_scripts' ) );
|
71 |
add_filter( 'wc_get_template', array( $this, 'change_variable_add_to_cart_template' ), PHP_INT_MAX, 5 );
|
72 |
}
|
@@ -87,20 +87,6 @@ class WCJ_Product_Add_To_Cart extends WCJ_Module {
|
|
87 |
add_filter( 'woocommerce_is_sold_individually', '__return_true', PHP_INT_MAX );
|
88 |
}
|
89 |
|
90 |
-
// Button - Disabling - Archives
|
91 |
-
if ( 'yes' === get_option( 'wcj_add_to_cart_button_disable_archives', 'no' ) ) {
|
92 |
-
add_action( 'init', array( $this, 'add_to_cart_button_disable_archives' ), PHP_INT_MAX );
|
93 |
-
}
|
94 |
-
// Button - Disabling - Single Product
|
95 |
-
if ( 'yes' === get_option( 'wcj_add_to_cart_button_disable_single', 'no' ) ) {
|
96 |
-
add_action( 'init', array( $this, 'add_to_cart_button_disable_single' ), PHP_INT_MAX );
|
97 |
-
}
|
98 |
-
// Button per product - Disabling
|
99 |
-
if ( 'yes' === get_option( 'wcj_add_to_cart_button_per_product_enabled', 'no' ) ) {
|
100 |
-
add_action( 'woocommerce_before_add_to_cart_button', array( $this, 'add_to_cart_button_disable_start' ), PHP_INT_MAX, 0 );
|
101 |
-
add_action( 'woocommerce_after_add_to_cart_button', array( $this, 'add_to_cart_button_disable_end' ), PHP_INT_MAX, 0 );
|
102 |
-
add_filter( 'woocommerce_loop_add_to_cart_link', array( $this, 'add_to_cart_button_loop_disable' ), PHP_INT_MAX, 2 );
|
103 |
-
}
|
104 |
// Button per product Custom URL
|
105 |
if ( 'yes' === get_option( 'wcj_add_to_cart_button_custom_loop_url_per_product_enabled', 'no' ) ) {
|
106 |
add_filter( 'woocommerce_product_add_to_cart_url', array( $this, 'custom_add_to_cart_loop_url' ), PHP_INT_MAX, 2 );
|
@@ -118,9 +104,53 @@ class WCJ_Product_Add_To_Cart extends WCJ_Module {
|
|
118 |
if ( 'yes' === get_option( 'wcj_add_to_cart_button_external_open_new_window_loop', 'no' ) ) {
|
119 |
add_filter( 'woocommerce_loop_add_to_cart_link', array( $this, 'replace_external_with_custom_add_to_cart_in_loop' ), PHP_INT_MAX );
|
120 |
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
121 |
}
|
122 |
}
|
123 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
124 |
/**
|
125 |
* change_add_to_cart_message_html.
|
126 |
*
|
@@ -128,14 +158,14 @@ class WCJ_Product_Add_To_Cart extends WCJ_Module {
|
|
128 |
* @since 2.8.0
|
129 |
* @see `wc_add_to_cart_message()` in `wc-cart-functions.php`
|
130 |
* @todo (maybe) product specific messages: foreach ( $products as $product_id => $qty ) ...
|
131 |
-
* @todo (maybe) if (
|
132 |
*/
|
133 |
function change_add_to_cart_message_html( $message, $products ) {
|
134 |
|
135 |
-
if ( 'yes' === get_option( 'woocommerce_cart_redirect_after_add' ) && 'no' === apply_filters( '
|
136 |
return $message;
|
137 |
}
|
138 |
-
if ( 'yes' !== get_option( 'woocommerce_cart_redirect_after_add' ) && 'no' === apply_filters( '
|
139 |
return $message;
|
140 |
}
|
141 |
|
@@ -160,26 +190,6 @@ class WCJ_Product_Add_To_Cart extends WCJ_Module {
|
|
160 |
return $message;
|
161 |
}
|
162 |
|
163 |
-
/**
|
164 |
-
* add_to_cart_button_disable_single.
|
165 |
-
*
|
166 |
-
* @version 2.6.0
|
167 |
-
* @since 2.6.0
|
168 |
-
*/
|
169 |
-
function add_to_cart_button_disable_single() {
|
170 |
-
remove_action( 'woocommerce_single_product_summary', 'woocommerce_template_single_add_to_cart', 30 );
|
171 |
-
}
|
172 |
-
|
173 |
-
/**
|
174 |
-
* add_to_cart_button_disable_archives.
|
175 |
-
*
|
176 |
-
* @version 2.6.0
|
177 |
-
* @since 2.6.0
|
178 |
-
*/
|
179 |
-
function add_to_cart_button_disable_archives() {
|
180 |
-
remove_action( 'woocommerce_after_shop_loop_item', 'woocommerce_template_loop_add_to_cart', 10 );
|
181 |
-
}
|
182 |
-
|
183 |
/**
|
184 |
* add_to_cart_variable_replace_loop_w_single.
|
185 |
*
|
@@ -278,43 +288,6 @@ class WCJ_Product_Add_To_Cart extends WCJ_Module {
|
|
278 |
return $url;
|
279 |
}
|
280 |
|
281 |
-
/**
|
282 |
-
* add_to_cart_button_loop_disable.
|
283 |
-
*
|
284 |
-
* @version 2.5.2
|
285 |
-
* @since 2.5.2
|
286 |
-
*/
|
287 |
-
function add_to_cart_button_loop_disable( $link, $_product ) {
|
288 |
-
if ( 0 != get_the_ID() && 'yes' === get_post_meta( get_the_ID(), '_' . 'wcj_add_to_cart_button_loop_disable', true ) ) {
|
289 |
-
return '';
|
290 |
-
}
|
291 |
-
return $link;
|
292 |
-
}
|
293 |
-
|
294 |
-
/**
|
295 |
-
* add_to_cart_button_disable_end.
|
296 |
-
*
|
297 |
-
* @version 2.5.2
|
298 |
-
* @since 2.5.2
|
299 |
-
*/
|
300 |
-
function add_to_cart_button_disable_end() {
|
301 |
-
if ( 0 != get_the_ID() && 'yes' === get_post_meta( get_the_ID(), '_' . 'wcj_add_to_cart_button_disable', true ) ) {
|
302 |
-
ob_end_clean();
|
303 |
-
}
|
304 |
-
}
|
305 |
-
|
306 |
-
/**
|
307 |
-
* add_to_cart_button_disable_start.
|
308 |
-
*
|
309 |
-
* @version 2.5.2
|
310 |
-
* @since 2.5.2
|
311 |
-
*/
|
312 |
-
function add_to_cart_button_disable_start() {
|
313 |
-
if ( 0 != get_the_ID() && 'yes' === get_post_meta( get_the_ID(), '_' . 'wcj_add_to_cart_button_disable', true ) ) {
|
314 |
-
ob_start();
|
315 |
-
}
|
316 |
-
}
|
317 |
-
|
318 |
/**
|
319 |
* enqueue_disable_quantity_add_to_cart_script.
|
320 |
*
|
@@ -360,7 +333,7 @@ class WCJ_Product_Add_To_Cart extends WCJ_Module {
|
|
360 |
* @version 2.9.0
|
361 |
*/
|
362 |
function maybe_redirect_to_url( $url, $product_id = false ) {
|
363 |
-
if ( 'yes' === apply_filters( '
|
364 |
if ( ! $product_id ) {
|
365 |
$product_id = apply_filters( 'woocommerce_add_to_cart_product_id', absint( $_REQUEST['add-to-cart'] ) );
|
366 |
}
|
@@ -415,7 +388,7 @@ class WCJ_Product_Add_To_Cart extends WCJ_Module {
|
|
415 |
// Maybe perform add to cart redirect
|
416 |
if ( false !== $was_added_to_cart && (
|
417 |
'yes' === get_option( 'wcj_add_to_cart_redirect_enabled', 'no' ) ||
|
418 |
-
'yes' === apply_filters( '
|
419 |
) ) {
|
420 |
if ( $redirect_url = $this->maybe_redirect_to_url( false, $product_id ) ) {
|
421 |
if ( wp_safe_redirect( $redirect_url ) ) {
|
2 |
/**
|
3 |
* Booster for WooCommerce - Module - Product Add To Cart
|
4 |
*
|
5 |
+
* @version 3.3.0
|
6 |
* @since 2.2.0
|
7 |
* @author Algoritmika Ltd.
|
8 |
*/
|
16 |
/**
|
17 |
* Constructor.
|
18 |
*
|
19 |
+
* @version 3.3.0
|
20 |
+
* @todo (maybe) move "Display radio buttons instead of drop box for variable products" to new module
|
21 |
+
* @todo (maybe) rename to "Add to Cart Button (Options)"
|
22 |
*/
|
23 |
function __construct() {
|
24 |
|
25 |
$this->id = 'product_add_to_cart';
|
26 |
+
$this->short_desc = __( 'Add to Cart', 'woocommerce-jetpack' );
|
27 |
$this->desc = __( 'Set any local url to redirect to on WooCommerce Add to Cart.', 'woocommerce-jetpack' )
|
28 |
. ' ' . __( 'Automatically add to cart on product visit.', 'woocommerce-jetpack' )
|
29 |
. ' ' . __( 'Display radio buttons instead of drop box for variable products.', 'woocommerce-jetpack' )
|
30 |
. ' ' . __( 'Disable quantity input.', 'woocommerce-jetpack' )
|
|
|
31 |
. ' ' . __( 'Open external products on add to cart in new window.', 'woocommerce-jetpack' )
|
32 |
. ' ' . __( 'Replace Add to Cart button on archives with button from single product pages.', 'woocommerce-jetpack' )
|
33 |
. ' ' . __( 'Customize Add to Cart messages.', 'woocommerce-jetpack' );
|
38 |
|
39 |
// Metaboxes
|
40 |
if (
|
|
|
41 |
'yes' === get_option( 'wcj_add_to_cart_button_custom_loop_url_per_product_enabled', 'no' ) ||
|
42 |
'yes' === get_option( 'wcj_add_to_cart_button_ajax_per_product_enabled', 'no' ) ||
|
43 |
+
'yes' === apply_filters( 'booster_option', 'no', get_option( 'wcj_add_to_cart_redirect_per_product_enabled', 'no' ) ) ||
|
44 |
'per_product' === get_option( 'wcj_add_to_cart_on_visit_enabled', 'no' )
|
45 |
) {
|
46 |
add_action( 'add_meta_boxes', array( $this, 'add_meta_box' ) );
|
49 |
|
50 |
// Customize "Continue shopping" or "View cart" messages
|
51 |
if (
|
52 |
+
'yes' === apply_filters( 'booster_option', 'no', get_option( 'wcj_product_add_to_cart_message_continue_shopping_enabled', 'no' ) ) ||
|
53 |
+
'yes' === apply_filters( 'booster_option', 'no', get_option( 'wcj_product_add_to_cart_message_view_cart_enabled', 'no' ) )
|
54 |
) {
|
55 |
add_filter( 'wc_add_to_cart_message_html', array( $this, 'change_add_to_cart_message_html' ), PHP_INT_MAX, 2 );
|
56 |
}
|
57 |
|
58 |
// Local Redirect
|
59 |
+
if ( 'yes' === get_option( 'wcj_add_to_cart_redirect_enabled', 'no' ) || 'yes' === apply_filters( 'booster_option', 'no', get_option( 'wcj_add_to_cart_redirect_per_product_enabled', 'no' ) ) ) {
|
60 |
add_filter( 'woocommerce_add_to_cart_redirect', array( $this, 'maybe_redirect_to_url' ), PHP_INT_MAX );
|
61 |
}
|
62 |
|
66 |
}
|
67 |
|
68 |
// Variable Add to Cart Template
|
69 |
+
if ( 'yes' === apply_filters( 'booster_option', 'wcj', get_option( 'wcj_add_to_cart_variable_as_radio_enabled', 'no' ) ) ) {
|
70 |
add_action( 'wp_enqueue_scripts', array( $this, 'enqueue_variable_add_to_cart_scripts' ) );
|
71 |
add_filter( 'wc_get_template', array( $this, 'change_variable_add_to_cart_template' ), PHP_INT_MAX, 5 );
|
72 |
}
|
87 |
add_filter( 'woocommerce_is_sold_individually', '__return_true', PHP_INT_MAX );
|
88 |
}
|
89 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
90 |
// Button per product Custom URL
|
91 |
if ( 'yes' === get_option( 'wcj_add_to_cart_button_custom_loop_url_per_product_enabled', 'no' ) ) {
|
92 |
add_filter( 'woocommerce_product_add_to_cart_url', array( $this, 'custom_add_to_cart_loop_url' ), PHP_INT_MAX, 2 );
|
104 |
if ( 'yes' === get_option( 'wcj_add_to_cart_button_external_open_new_window_loop', 'no' ) ) {
|
105 |
add_filter( 'woocommerce_loop_add_to_cart_link', array( $this, 'replace_external_with_custom_add_to_cart_in_loop' ), PHP_INT_MAX );
|
106 |
}
|
107 |
+
|
108 |
+
// Reposition Add to Cart button
|
109 |
+
if ( 'yes' === get_option( 'wcj_product_add_to_cart_button_position_enabled', 'no' ) ) {
|
110 |
+
// Single product pages
|
111 |
+
if ( 'yes' === get_option( 'wcj_product_add_to_cart_button_position_single_enabled', 'no' ) ) {
|
112 |
+
add_action( 'init', array( $this, 'reposition_add_to_cart_button_single' ), PHP_INT_MAX );
|
113 |
+
}
|
114 |
+
// Archives
|
115 |
+
if ( 'yes' === get_option( 'wcj_product_add_to_cart_button_position_loop_enabled', 'no' ) ) {
|
116 |
+
add_action( 'init', array( $this, 'reposition_add_to_cart_button_loop' ), PHP_INT_MAX );
|
117 |
+
}
|
118 |
+
}
|
119 |
}
|
120 |
}
|
121 |
|
122 |
+
/**
|
123 |
+
* reposition_add_to_cart_button_loop.
|
124 |
+
*
|
125 |
+
* @version 3.3.0
|
126 |
+
* @since 3.3.0
|
127 |
+
* @todo (maybe) add option to duplicate the button (i.e. not replace)
|
128 |
+
*/
|
129 |
+
function reposition_add_to_cart_button_loop() {
|
130 |
+
remove_action( 'woocommerce_after_shop_loop_item', 'woocommerce_template_loop_add_to_cart', 10 );
|
131 |
+
add_action(
|
132 |
+
get_option( 'wcj_product_add_to_cart_button_position_hook_loop', 'woocommerce_after_shop_loop_item' ),
|
133 |
+
'woocommerce_template_loop_add_to_cart',
|
134 |
+
get_option( 'wcj_product_add_to_cart_button_position_loop', 10 )
|
135 |
+
);
|
136 |
+
}
|
137 |
+
|
138 |
+
/**
|
139 |
+
* reposition_add_to_cart_button_single.
|
140 |
+
*
|
141 |
+
* @version 3.3.0
|
142 |
+
* @since 3.3.0
|
143 |
+
* @todo (maybe) add option to duplicate the button (i.e. not replace)
|
144 |
+
*/
|
145 |
+
function reposition_add_to_cart_button_single() {
|
146 |
+
remove_action( 'woocommerce_single_product_summary', 'woocommerce_template_single_add_to_cart', 30 );
|
147 |
+
add_action(
|
148 |
+
get_option( 'wcj_product_add_to_cart_button_position_hook_single', 'woocommerce_single_product_summary' ),
|
149 |
+
'woocommerce_template_single_add_to_cart',
|
150 |
+
get_option( 'wcj_product_add_to_cart_button_position_single', 30 )
|
151 |
+
);
|
152 |
+
}
|
153 |
+
|
154 |
/**
|
155 |
* change_add_to_cart_message_html.
|
156 |
*
|
158 |
* @since 2.8.0
|
159 |
* @see `wc_add_to_cart_message()` in `wc-cart-functions.php`
|
160 |
* @todo (maybe) product specific messages: foreach ( $products as $product_id => $qty ) ...
|
161 |
+
* @todo (maybe) if ( WCJ_IS_WC_VERSION_BELOW_3 ) apply_filters( 'wc_add_to_cart_message' ) with 2 params: $message, $product_id
|
162 |
*/
|
163 |
function change_add_to_cart_message_html( $message, $products ) {
|
164 |
|
165 |
+
if ( 'yes' === get_option( 'woocommerce_cart_redirect_after_add' ) && 'no' === apply_filters( 'booster_option', 'no', get_option( 'wcj_product_add_to_cart_message_continue_shopping_enabled', 'no' ) ) ) {
|
166 |
return $message;
|
167 |
}
|
168 |
+
if ( 'yes' !== get_option( 'woocommerce_cart_redirect_after_add' ) && 'no' === apply_filters( 'booster_option', 'no', get_option( 'wcj_product_add_to_cart_message_view_cart_enabled', 'no' ) ) ) {
|
169 |
return $message;
|
170 |
}
|
171 |
|
190 |
return $message;
|
191 |
}
|
192 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
193 |
/**
|
194 |
* add_to_cart_variable_replace_loop_w_single.
|
195 |
*
|
288 |
return $url;
|
289 |
}
|
290 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
291 |
/**
|
292 |
* enqueue_disable_quantity_add_to_cart_script.
|
293 |
*
|
333 |
* @version 2.9.0
|
334 |
*/
|
335 |
function maybe_redirect_to_url( $url, $product_id = false ) {
|
336 |
+
if ( 'yes' === apply_filters( 'booster_option', 'no', get_option( 'wcj_add_to_cart_redirect_per_product_enabled', 'no' ) ) && ( $product_id || isset( $_REQUEST['add-to-cart'] ) ) ) {
|
337 |
if ( ! $product_id ) {
|
338 |
$product_id = apply_filters( 'woocommerce_add_to_cart_product_id', absint( $_REQUEST['add-to-cart'] ) );
|
339 |
}
|
388 |
// Maybe perform add to cart redirect
|
389 |
if ( false !== $was_added_to_cart && (
|
390 |
'yes' === get_option( 'wcj_add_to_cart_redirect_enabled', 'no' ) ||
|
391 |
+
'yes' === apply_filters( 'booster_option', 'no', get_option( 'wcj_add_to_cart_redirect_per_product_enabled', 'no' ) )
|
392 |
) ) {
|
393 |
if ( $redirect_url = $this->maybe_redirect_to_url( false, $product_id ) ) {
|
394 |
if ( wp_safe_redirect( $redirect_url ) ) {
|
includes/class-wcj-product-addons.php
CHANGED
@@ -2,7 +2,7 @@
|
|
2 |
/**
|
3 |
* Booster for WooCommerce - Module - Product Addons
|
4 |
*
|
5 |
-
* @version 3.
|
6 |
* @since 2.5.3
|
7 |
* @author Algoritmika Ltd.
|
8 |
* @todo admin order view (names);
|
@@ -17,7 +17,7 @@ class WCJ_Product_Addons extends WCJ_Module {
|
|
17 |
/**
|
18 |
* Constructor.
|
19 |
*
|
20 |
-
* @version 3.
|
21 |
* @since 2.5.3
|
22 |
* @todo (maybe) add "in progress" ajax message
|
23 |
* @todo (maybe) for variable products - show addons only if variation is selected (e.g. move to addons from `woocommerce_before_add_to_cart_button` to variation description)
|
@@ -66,6 +66,68 @@ class WCJ_Product_Addons extends WCJ_Module {
|
|
66 |
add_filter( 'woocommerce_hidden_order_itemmeta', array( $this, 'hide_addons_in_admin_order' ), PHP_INT_MAX );
|
67 |
}
|
68 |
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
69 |
}
|
70 |
}
|
71 |
|
@@ -214,7 +276,7 @@ class WCJ_Product_Addons extends WCJ_Module {
|
|
214 |
/**
|
215 |
* get_product_addons.
|
216 |
*
|
217 |
-
* @version 3.
|
218 |
* @since 2.5.3
|
219 |
* @todo (maybe) `checkbox_key` is mislabelled, should be `key` (or maybe `value_key`)
|
220 |
*/
|
@@ -222,12 +284,15 @@ class WCJ_Product_Addons extends WCJ_Module {
|
|
222 |
$addons = array();
|
223 |
// All Products
|
224 |
if ( 'yes' === get_option( 'wcj_product_addons_all_products_enabled', 'no' ) ) {
|
225 |
-
$total_number = apply_filters( '
|
226 |
for ( $i = 1; $i <= $total_number; $i++ ) {
|
227 |
if ( 'yes' === get_option( 'wcj_product_addons_all_products_enabled_' . $i, 'yes' ) ) {
|
228 |
if ( ! $this->is_global_addon_visible( $i, $product_id ) ) {
|
229 |
continue;
|
230 |
}
|
|
|
|
|
|
|
231 |
$addons[] = array(
|
232 |
// 'scope' => 'all_products',
|
233 |
// 'index' => $i,
|
@@ -242,6 +307,7 @@ class WCJ_Product_Addons extends WCJ_Module {
|
|
242 |
'type' => get_option( 'wcj_product_addons_all_products_type_' . $i, 'checkbox' ),
|
243 |
'default' => get_option( 'wcj_product_addons_all_products_default_' . $i, '' ),
|
244 |
'is_required' => get_option( 'wcj_product_addons_all_products_required_' . $i, 'no' ),
|
|
|
245 |
);
|
246 |
}
|
247 |
}
|
@@ -252,6 +318,9 @@ class WCJ_Product_Addons extends WCJ_Module {
|
|
252 |
$total_number = get_post_meta( $product_id, '_' . 'wcj_product_addons_per_product_total_number', true );
|
253 |
for ( $i = 1; $i <= $total_number; $i++ ) {
|
254 |
if ( 'yes' === get_post_meta( $product_id, '_' . 'wcj_product_addons_per_product_enabled_' . $i, true ) ) {
|
|
|
|
|
|
|
255 |
$addons[] = array(
|
256 |
// 'scope' => 'per_product',
|
257 |
// 'index' => $i,
|
@@ -266,6 +335,7 @@ class WCJ_Product_Addons extends WCJ_Module {
|
|
266 |
'type' => get_post_meta( $product_id, '_' . 'wcj_product_addons_per_product_type_' . $i, true ),
|
267 |
'default' => get_post_meta( $product_id, '_' . 'wcj_product_addons_per_product_default_' . $i, true ),
|
268 |
'is_required' => get_post_meta( $product_id, '_' . 'wcj_product_addons_per_product_required_' . $i, true ),
|
|
|
269 |
);
|
270 |
}
|
271 |
}
|
2 |
/**
|
3 |
* Booster for WooCommerce - Module - Product Addons
|
4 |
*
|
5 |
+
* @version 3.3.0
|
6 |
* @since 2.5.3
|
7 |
* @author Algoritmika Ltd.
|
8 |
* @todo admin order view (names);
|
17 |
/**
|
18 |
* Constructor.
|
19 |
*
|
20 |
+
* @version 3.3.0
|
21 |
* @since 2.5.3
|
22 |
* @todo (maybe) add "in progress" ajax message
|
23 |
* @todo (maybe) for variable products - show addons only if variation is selected (e.g. move to addons from `woocommerce_before_add_to_cart_button` to variation description)
|
66 |
add_filter( 'woocommerce_hidden_order_itemmeta', array( $this, 'hide_addons_in_admin_order' ), PHP_INT_MAX );
|
67 |
}
|
68 |
}
|
69 |
+
// Addons quantity
|
70 |
+
$qty_triggers = get_option( 'wcj_product_addons_qty_decrease_triggers', '' );
|
71 |
+
if ( ! empty( $qty_triggers ) ) {
|
72 |
+
if ( in_array( 'woocommerce_new_order', $qty_triggers ) ) {
|
73 |
+
$qty_triggers = array_merge( $qty_triggers, array(
|
74 |
+
'woocommerce_api_create_order',
|
75 |
+
'woocommerce_cli_create_order',
|
76 |
+
'kco_before_confirm_order',
|
77 |
+
'woocommerce_checkout_order_processed',
|
78 |
+
) );
|
79 |
+
}
|
80 |
+
foreach ( $qty_triggers as $qty_trigger ) {
|
81 |
+
add_action( $qty_trigger, array( $this, 'maybe_reduce_addons_qty' ) );
|
82 |
+
}
|
83 |
+
}
|
84 |
+
}
|
85 |
+
}
|
86 |
+
|
87 |
+
/**
|
88 |
+
* maybe_reduce_addons_qty.
|
89 |
+
*
|
90 |
+
* @version 3.3.0
|
91 |
+
* @since 3.3.0
|
92 |
+
* @todo (maybe) $order->add_order_note
|
93 |
+
*/
|
94 |
+
function maybe_reduce_addons_qty( $order_id ) {
|
95 |
+
if ( $order = wc_get_order( $order_id ) ) {
|
96 |
+
if ( 'yes' !== get_post_meta( $order_id, '_' . 'wcj_product_addons_qty_reduced', true ) ) {
|
97 |
+
if ( sizeof( $order->get_items() ) > 0 ) {
|
98 |
+
foreach ( $order->get_items() as $item ) {
|
99 |
+
if ( $item->is_type( 'line_item' ) && ( $product = $item->get_product() ) ) {
|
100 |
+
$product_id = wcj_get_product_id_or_variation_parent_id( $product );
|
101 |
+
$product_qty = $item->get_quantity();
|
102 |
+
$global_addon_key = '_wcj_product_all_products_addons_label_';
|
103 |
+
$global_addon_key_length = strlen( $global_addon_key );
|
104 |
+
$local_addon_key = '_wcj_product_per_product_addons_label_';
|
105 |
+
$local_addon_key_length = strlen( $local_addon_key );
|
106 |
+
foreach ( $item->get_meta_data() as $meta_data ) {
|
107 |
+
$meta = $meta_data->get_data();
|
108 |
+
if ( $global_addon_key === substr( $meta['key'], 0, $global_addon_key_length ) ) {
|
109 |
+
$i = substr( $meta['key'], $global_addon_key_length );
|
110 |
+
$qty_key = 'wcj_product_addons_all_products_qty_' . $i;
|
111 |
+
$old_qty = get_option( $qty_key, '' );
|
112 |
+
if ( '' !== $old_qty ) {
|
113 |
+
$new_qty = $old_qty - $product_qty;
|
114 |
+
update_option( $qty_key, $new_qty );
|
115 |
+
}
|
116 |
+
} elseif ( $local_addon_key === substr( $meta['key'], 0, $local_addon_key_length ) ) {
|
117 |
+
$i = substr( $meta['key'], $local_addon_key_length );
|
118 |
+
$qty_key = '_' . 'wcj_product_addons_per_product_qty_' . $i;
|
119 |
+
$old_qty = get_post_meta( $product_id, $qty_key, true );
|
120 |
+
if ( '' !== $old_qty ) {
|
121 |
+
$new_qty = $old_qty - $product_qty;
|
122 |
+
update_post_meta( $product_id, $qty_key, $new_qty );
|
123 |
+
}
|
124 |
+
}
|
125 |
+
}
|
126 |
+
}
|
127 |
+
}
|
128 |
+
update_post_meta( $order_id, '_' . 'wcj_product_addons_qty_reduced', 'yes' );
|
129 |
+
}
|
130 |
+
}
|
131 |
}
|
132 |
}
|
133 |
|
276 |
/**
|
277 |
* get_product_addons.
|
278 |
*
|
279 |
+
* @version 3.3.0
|
280 |
* @since 2.5.3
|
281 |
* @todo (maybe) `checkbox_key` is mislabelled, should be `key` (or maybe `value_key`)
|
282 |
*/
|
284 |
$addons = array();
|
285 |
// All Products
|
286 |
if ( 'yes' === get_option( 'wcj_product_addons_all_products_enabled', 'no' ) ) {
|
287 |
+
$total_number = apply_filters( 'booster_option', 1, get_option( 'wcj_product_addons_all_products_total_number', 1 ) );
|
288 |
for ( $i = 1; $i <= $total_number; $i++ ) {
|
289 |
if ( 'yes' === get_option( 'wcj_product_addons_all_products_enabled_' . $i, 'yes' ) ) {
|
290 |
if ( ! $this->is_global_addon_visible( $i, $product_id ) ) {
|
291 |
continue;
|
292 |
}
|
293 |
+
if ( '0' === ( $qty = get_option( 'wcj_product_addons_all_products_qty_' . $i, '' ) ) || $qty < 0 ) {
|
294 |
+
continue;
|
295 |
+
}
|
296 |
$addons[] = array(
|
297 |
// 'scope' => 'all_products',
|
298 |
// 'index' => $i,
|
307 |
'type' => get_option( 'wcj_product_addons_all_products_type_' . $i, 'checkbox' ),
|
308 |
'default' => get_option( 'wcj_product_addons_all_products_default_' . $i, '' ),
|
309 |
'is_required' => get_option( 'wcj_product_addons_all_products_required_' . $i, 'no' ),
|
310 |
+
'qty' => $qty,
|
311 |
);
|
312 |
}
|
313 |
}
|
318 |
$total_number = get_post_meta( $product_id, '_' . 'wcj_product_addons_per_product_total_number', true );
|
319 |
for ( $i = 1; $i <= $total_number; $i++ ) {
|
320 |
if ( 'yes' === get_post_meta( $product_id, '_' . 'wcj_product_addons_per_product_enabled_' . $i, true ) ) {
|
321 |
+
if ( '0' === ( $qty = get_post_meta( $product_id, '_' . 'wcj_product_addons_per_product_qty_' . $i, true ) ) || $qty < 0 ) {
|
322 |
+
continue;
|
323 |
+
}
|
324 |
$addons[] = array(
|
325 |
// 'scope' => 'per_product',
|
326 |
// 'index' => $i,
|
335 |
'type' => get_post_meta( $product_id, '_' . 'wcj_product_addons_per_product_type_' . $i, true ),
|
336 |
'default' => get_post_meta( $product_id, '_' . 'wcj_product_addons_per_product_default_' . $i, true ),
|
337 |
'is_required' => get_post_meta( $product_id, '_' . 'wcj_product_addons_per_product_required_' . $i, true ),
|
338 |
+
'qty' => $qty,
|
339 |
);
|
340 |
}
|
341 |
}
|
includes/class-wcj-product-bookings.php
CHANGED
@@ -343,7 +343,7 @@ class WCJ_Product_Bookings extends WCJ_Module {
|
|
343 |
* @since 2.5.0
|
344 |
*/
|
345 |
function save_meta_box_value( $option_value, $option_name, $module_id ) {
|
346 |
-
if ( true === apply_filters( '
|
347 |
return $option_value;
|
348 |
}
|
349 |
if ( 'no' === $option_value ) {
|
343 |
* @since 2.5.0
|
344 |
*/
|
345 |
function save_meta_box_value( $option_value, $option_name, $module_id ) {
|
346 |
+
if ( true === apply_filters( 'booster_option', false, true ) ) {
|
347 |
return $option_value;
|
348 |
}
|
349 |
if ( 'no' === $option_value ) {
|
includes/class-wcj-product-bulk-meta-editor.php
CHANGED
@@ -55,7 +55,7 @@ class WCJ_Product_Bulk_Meta_Editor extends WCJ_Module {
|
|
55 |
// Actions
|
56 |
$result = $this->perform_actions();
|
57 |
// Preparing products data
|
58 |
-
$_products = wcj_get_products( array(), 'any', 512, ( 'yes' === apply_filters( '
|
59 |
$selected_products = isset( $_POST['wcj_product_bulk_meta_editor_products'] ) ? $_POST['wcj_product_bulk_meta_editor_products'] : array();
|
60 |
// Output
|
61 |
echo $this->get_tool_html( $result['meta_name'], $result['result_message'], $_products, $selected_products, $result['set_meta'] );
|
55 |
// Actions
|
56 |
$result = $this->perform_actions();
|
57 |
// Preparing products data
|
58 |
+
$_products = wcj_get_products( array(), 'any', 512, ( 'yes' === apply_filters( 'booster_option', 'no', get_option( 'wcj_product_bulk_meta_editor_add_variations', 'no' ) ) ) );
|
59 |
$selected_products = isset( $_POST['wcj_product_bulk_meta_editor_products'] ) ? $_POST['wcj_product_bulk_meta_editor_products'] : array();
|
60 |
// Output
|
61 |
echo $this->get_tool_html( $result['meta_name'], $result['result_message'], $_products, $selected_products, $result['set_meta'] );
|
includes/class-wcj-product-bulk-price-converter.php
CHANGED
@@ -45,7 +45,7 @@ class WCJ_Bulk_Price_Converter extends WCJ_Module {
|
|
45 |
if ( '' != $the_price && 0 != $the_price ) {
|
46 |
$precision = get_option( 'woocommerce_price_num_decimals', 2 );
|
47 |
$the_modified_price = round( $the_price * $multiply_price_by, $precision );
|
48 |
-
if ( isset( $_POST['make_pretty_prices_threshold'] ) && apply_filters( '
|
49 |
$the_modified_price = $this->make_pretty_price( $the_modified_price );
|
50 |
}
|
51 |
if ( $the_modified_price < 0 ) {
|
@@ -163,7 +163,7 @@ class WCJ_Bulk_Price_Converter extends WCJ_Module {
|
|
163 |
// 'orderby' => 'date',
|
164 |
// 'order' => 'ASC',
|
165 |
);
|
166 |
-
if ( isset( $_POST['wcj_product_cat'] ) && 'wcj_any' != $_POST['wcj_product_cat'] && 'any' != apply_filters( '
|
167 |
$args['tax_query'] = array(
|
168 |
array(
|
169 |
'taxonomy' => 'product_cat',
|
@@ -256,22 +256,22 @@ class WCJ_Bulk_Price_Converter extends WCJ_Module {
|
|
256 |
if ( '' != $select_options_html ) {
|
257 |
$data_table[] = array(
|
258 |
__( 'Products category', 'woocommerce-jetpack' ),
|
259 |
-
'<select name="wcj_product_cat" ' . apply_filters( '
|
260 |
'<option value="wcj_any">' . __( 'Any', 'woocommerce-jetpack' ) . '</option>' .
|
261 |
$select_options_html .
|
262 |
'<option value="wcj_none"' . selected( 'wcj_none', $selected_option, false ) . '>' . __( 'None', 'woocommerce-jetpack' ) . '</option>' .
|
263 |
'</select>',
|
264 |
-
apply_filters( '
|
265 |
);
|
266 |
}
|
267 |
$make_pretty_prices_threshold = isset( $_POST['make_pretty_prices_threshold'] ) ? $_POST['make_pretty_prices_threshold'] : 0;
|
268 |
$data_table[] = array(
|
269 |
__( '"Pretty prices" threshold', 'woocommerce-jetpack' ),
|
270 |
'<input class="" type="number" step="0.000001" min="0" name="make_pretty_prices_threshold" id="make_pretty_prices_threshold" value="' .
|
271 |
-
$make_pretty_prices_threshold . '"' . apply_filters( '
|
272 |
-
( '' == apply_filters( '
|
273 |
'<em>' . __( 'Leave zero to disable', 'woocommerce-jetpack' ) . '</em>' :
|
274 |
-
apply_filters( '
|
275 |
);
|
276 |
$data_table[] = array(
|
277 |
'<input class="button-primary" type="submit" name="bulk_change_prices_preview" id="bulk_change_prices_preview" value="' .
|
45 |
if ( '' != $the_price && 0 != $the_price ) {
|
46 |
$precision = get_option( 'woocommerce_price_num_decimals', 2 );
|
47 |
$the_modified_price = round( $the_price * $multiply_price_by, $precision );
|
48 |
+
if ( isset( $_POST['make_pretty_prices_threshold'] ) && apply_filters( 'booster_option', 0, $_POST['make_pretty_prices_threshold'] ) > 0 ) {
|
49 |
$the_modified_price = $this->make_pretty_price( $the_modified_price );
|
50 |
}
|
51 |
if ( $the_modified_price < 0 ) {
|
163 |
// 'orderby' => 'date',
|
164 |
// 'order' => 'ASC',
|
165 |
);
|
166 |
+
if ( isset( $_POST['wcj_product_cat'] ) && 'wcj_any' != $_POST['wcj_product_cat'] && 'any' != apply_filters( 'booster_option', 'any', '' ) ) {
|
167 |
$args['tax_query'] = array(
|
168 |
array(
|
169 |
'taxonomy' => 'product_cat',
|
256 |
if ( '' != $select_options_html ) {
|
257 |
$data_table[] = array(
|
258 |
__( 'Products category', 'woocommerce-jetpack' ),
|
259 |
+
'<select name="wcj_product_cat" ' . apply_filters( 'booster_option', 'disabled', '' ) . '>' .
|
260 |
'<option value="wcj_any">' . __( 'Any', 'woocommerce-jetpack' ) . '</option>' .
|
261 |
$select_options_html .
|
262 |
'<option value="wcj_none"' . selected( 'wcj_none', $selected_option, false ) . '>' . __( 'None', 'woocommerce-jetpack' ) . '</option>' .
|
263 |
'</select>',
|
264 |
+
apply_filters( 'booster_message', '', 'desc' ),
|
265 |
);
|
266 |
}
|
267 |
$make_pretty_prices_threshold = isset( $_POST['make_pretty_prices_threshold'] ) ? $_POST['make_pretty_prices_threshold'] : 0;
|
268 |
$data_table[] = array(
|
269 |
__( '"Pretty prices" threshold', 'woocommerce-jetpack' ),
|
270 |
'<input class="" type="number" step="0.000001" min="0" name="make_pretty_prices_threshold" id="make_pretty_prices_threshold" value="' .
|
271 |
+
$make_pretty_prices_threshold . '"' . apply_filters( 'booster_option', 'disabled', '' ) . '>',
|
272 |
+
( '' == apply_filters( 'booster_message', '', 'desc' ) ) ?
|
273 |
'<em>' . __( 'Leave zero to disable', 'woocommerce-jetpack' ) . '</em>' :
|
274 |
+
apply_filters( 'booster_message', '', 'desc' ),
|
275 |
);
|
276 |
$data_table[] = array(
|
277 |
'<input class="button-primary" type="submit" name="bulk_change_prices_preview" id="bulk_change_prices_preview" value="' .
|
includes/class-wcj-product-by-country.php
CHANGED
@@ -43,7 +43,7 @@ class WCJ_Product_By_Country extends WCJ_Module {
|
|
43 |
if ( 'yes' === get_option( 'wcj_product_by_country_query', 'no' ) ) {
|
44 |
add_action( 'pre_get_posts', array( $this, 'product_by_country_pre_get_posts' ) );
|
45 |
}
|
46 |
-
if ( 'manual' === apply_filters( '
|
47 |
add_action( 'init', array( $this, 'save_country_in_session' ), PHP_INT_MAX ) ;
|
48 |
}
|
49 |
}
|
@@ -75,14 +75,14 @@ class WCJ_Product_By_Country extends WCJ_Module {
|
|
75 |
function render_product_column( $column ) {
|
76 |
if ( 'wcj_product_by_country_visible_countries' === $column ) {
|
77 |
$result = '';
|
78 |
-
if ( 'invisible' != apply_filters( '
|
79 |
if ( $countries = get_post_meta( get_the_ID(), '_' . 'wcj_product_by_country_visible', true ) ) {
|
80 |
if ( is_array( $countries ) ) {
|
81 |
$result .= '<span style="color:green;">' . implode( ', ', $countries ) . '</span>';
|
82 |
}
|
83 |
}
|
84 |
}
|
85 |
-
if ( 'visible' != apply_filters( '
|
86 |
if ( $countries = get_post_meta( get_the_ID(), '_' . 'wcj_product_by_country_invisible', true ) ) {
|
87 |
if ( is_array( $countries ) ) {
|
88 |
if ( '' != $result ) {
|
@@ -148,7 +148,7 @@ class WCJ_Product_By_Country extends WCJ_Module {
|
|
148 |
* @since 3.1.0
|
149 |
*/
|
150 |
function is_product_visible_in_country( $product_id, $country ) {
|
151 |
-
if ( 'invisible' != apply_filters( '
|
152 |
$countries = get_post_meta( $product_id, '_' . 'wcj_product_by_country_visible', true );
|
153 |
if ( ! empty( $countries ) && is_array( $countries ) ) {
|
154 |
if ( in_array( 'EU', $countries ) ) {
|
@@ -159,7 +159,7 @@ class WCJ_Product_By_Country extends WCJ_Module {
|
|
159 |
}
|
160 |
}
|
161 |
}
|
162 |
-
if ( 'visible' != apply_filters( '
|
163 |
$countries = get_post_meta( $product_id, '_' . 'wcj_product_by_country_invisible', true );
|
164 |
if ( ! empty( $countries ) && is_array( $countries ) ) {
|
165 |
if ( in_array( 'EU', $countries ) ) {
|
@@ -193,7 +193,7 @@ class WCJ_Product_By_Country extends WCJ_Module {
|
|
193 |
* @since 3.1.0
|
194 |
*/
|
195 |
function get_country() {
|
196 |
-
if ( 'manual' === apply_filters( '
|
197 |
if ( '' == wcj_session_get( 'wcj_selected_country' ) ) {
|
198 |
$country = wcj_get_country_by_ip();
|
199 |
wcj_session_set( 'wcj_selected_country', $country );
|
43 |
if ( 'yes' === get_option( 'wcj_product_by_country_query', 'no' ) ) {
|
44 |
add_action( 'pre_get_posts', array( $this, 'product_by_country_pre_get_posts' ) );
|
45 |
}
|
46 |
+
if ( 'manual' === apply_filters( 'booster_option', 'by_ip', get_option( 'wcj_product_by_country_selection_method', 'by_ip' ) ) ) {
|
47 |
add_action( 'init', array( $this, 'save_country_in_session' ), PHP_INT_MAX ) ;
|
48 |
}
|
49 |
}
|
75 |
function render_product_column( $column ) {
|
76 |
if ( 'wcj_product_by_country_visible_countries' === $column ) {
|
77 |
$result = '';
|
78 |
+
if ( 'invisible' != apply_filters( 'booster_option', 'visible', get_option( 'wcj_product_by_country_visibility_method', 'visible' ) ) ) {
|
79 |
if ( $countries = get_post_meta( get_the_ID(), '_' . 'wcj_product_by_country_visible', true ) ) {
|
80 |
if ( is_array( $countries ) ) {
|
81 |
$result .= '<span style="color:green;">' . implode( ', ', $countries ) . '</span>';
|
82 |
}
|
83 |
}
|
84 |
}
|
85 |
+
if ( 'visible' != apply_filters( 'booster_option', 'visible', get_option( 'wcj_product_by_country_visibility_method', 'visible' ) ) ) {
|
86 |
if ( $countries = get_post_meta( get_the_ID(), '_' . 'wcj_product_by_country_invisible', true ) ) {
|
87 |
if ( is_array( $countries ) ) {
|
88 |
if ( '' != $result ) {
|
148 |
* @since 3.1.0
|
149 |
*/
|
150 |
function is_product_visible_in_country( $product_id, $country ) {
|
151 |
+
if ( 'invisible' != apply_filters( 'booster_option', 'visible', get_option( 'wcj_product_by_country_visibility_method', 'visible' ) ) ) {
|
152 |
$countries = get_post_meta( $product_id, '_' . 'wcj_product_by_country_visible', true );
|
153 |
if ( ! empty( $countries ) && is_array( $countries ) ) {
|
154 |
if ( in_array( 'EU', $countries ) ) {
|
159 |
}
|
160 |
}
|
161 |
}
|
162 |
+
if ( 'visible' != apply_filters( 'booster_option', 'visible', get_option( 'wcj_product_by_country_visibility_method', 'visible' ) ) ) {
|
163 |
$countries = get_post_meta( $product_id, '_' . 'wcj_product_by_country_invisible', true );
|
164 |
if ( ! empty( $countries ) && is_array( $countries ) ) {
|
165 |
if ( in_array( 'EU', $countries ) ) {
|
193 |
* @since 3.1.0
|
194 |
*/
|
195 |
function get_country() {
|
196 |
+
if ( 'manual' === apply_filters( 'booster_option', 'by_ip', get_option( 'wcj_product_by_country_selection_method', 'by_ip' ) ) ) {
|
197 |
if ( '' == wcj_session_get( 'wcj_selected_country' ) ) {
|
198 |
$country = wcj_get_country_by_ip();
|
199 |
wcj_session_set( 'wcj_selected_country', $country );
|
includes/class-wcj-product-by-date.php
CHANGED
@@ -92,10 +92,10 @@ class WCJ_Product_By_Date extends WCJ_Module {
|
|
92 |
'%product_title%' => $_product->get_title(),
|
93 |
);
|
94 |
$message = ( ( '-' === $_date ) ?
|
95 |
-
apply_filters( '
|
96 |
get_option( 'wcj_product_by_date_unavailable_message_month_off',
|
97 |
__( '<p style="color:red;">%product_title% is not available this month.</p>', 'woocommerce-jetpack' ) ) ) :
|
98 |
-
apply_filters( '
|
99 |
get_option( 'wcj_product_by_date_unavailable_message',
|
100 |
__( '<p style="color:red;">%product_title% is available only on %date_this_month% this month.</p>', 'woocommerce-jetpack' ) ) )
|
101 |
);
|
92 |
'%product_title%' => $_product->get_title(),
|
93 |
);
|
94 |
$message = ( ( '-' === $_date ) ?
|
95 |
+
apply_filters( 'booster_option', __( '<p style="color:red;">%product_title% is not available this month.</p>', 'woocommerce-jetpack' ),
|
96 |
get_option( 'wcj_product_by_date_unavailable_message_month_off',
|
97 |
__( '<p style="color:red;">%product_title% is not available this month.</p>', 'woocommerce-jetpack' ) ) ) :
|
98 |
+
apply_filters( 'booster_option', __( '<p style="color:red;">%product_title% is available only on %date_this_month% this month.</p>', 'woocommerce-jetpack' ),
|
99 |
get_option( 'wcj_product_by_date_unavailable_message',
|
100 |
__( '<p style="color:red;">%product_title% is available only on %date_this_month% this month.</p>', 'woocommerce-jetpack' ) ) )
|
101 |
);
|
includes/class-wcj-product-by-time.php
CHANGED
@@ -88,10 +88,10 @@ class WCJ_Product_By_Time extends WCJ_Module {
|
|
88 |
'%product_title%' => $_product->get_title(),
|
89 |
);
|
90 |
$message = ( ( '-' === $_time ) ?
|
91 |
-
apply_filters( '
|
92 |
get_option( 'wcj_product_by_time_unavailable_message_day_off',
|
93 |
__( '<p style="color:red;">%product_title% is not available today.</p>', 'woocommerce-jetpack' ) ) ) :
|
94 |
-
apply_filters( '
|
95 |
get_option( 'wcj_product_by_time_unavailable_message',
|
96 |
__( '<p style="color:red;">%product_title% is available only at %time_today% today.</p>', 'woocommerce-jetpack' ) ) )
|
97 |
);
|
88 |
'%product_title%' => $_product->get_title(),
|
89 |
);
|
90 |
$message = ( ( '-' === $_time ) ?
|
91 |
+
apply_filters( 'booster_option', __( '<p style="color:red;">%product_title% is not available today.</p>', 'woocommerce-jetpack' ),
|
92 |
get_option( 'wcj_product_by_time_unavailable_message_day_off',
|
93 |
__( '<p style="color:red;">%product_title% is not available today.</p>', 'woocommerce-jetpack' ) ) ) :
|
94 |
+
apply_filters( 'booster_option', __( '<p style="color:red;">%product_title% is available only at %time_today% today.</p>', 'woocommerce-jetpack' ),
|
95 |
get_option( 'wcj_product_by_time_unavailable_message',
|
96 |
__( '<p style="color:red;">%product_title% is available only at %time_today% today.</p>', 'woocommerce-jetpack' ) ) )
|
97 |
);
|
includes/class-wcj-product-custom-info.php
CHANGED
@@ -30,7 +30,7 @@ class WCJ_Product_Custom_info extends WCJ_Module {
|
|
30 |
$single_or_archive_array = array( 'single', 'archive' );
|
31 |
foreach ( $single_or_archive_array as $single_or_archive ) {
|
32 |
$default_hook = ( 'single' === $single_or_archive ) ? 'woocommerce_after_single_product_summary' : 'woocommerce_after_shop_loop_item_title';
|
33 |
-
for ( $i = 1; $i <= apply_filters( '
|
34 |
add_action(
|
35 |
get_option( 'wcj_product_custom_info_hook_' . $single_or_archive . '_' . $i, $default_hook ),
|
36 |
array( $this, 'add_product_custom_info' ),
|
@@ -103,7 +103,7 @@ class WCJ_Product_Custom_info extends WCJ_Module {
|
|
103 |
$single_or_archive_array = array( 'single', 'archive' );
|
104 |
foreach ( $single_or_archive_array as $single_or_archive ) {
|
105 |
$default_hook = ( 'single' === $single_or_archive ) ? 'woocommerce_after_single_product_summary' : 'woocommerce_after_shop_loop_item_title';
|
106 |
-
for ( $i = 1; $i <= apply_filters( '
|
107 |
if ( $this->is_visible( $product_id, $current_filter, $current_filter_priority, $default_hook, $single_or_archive, $i ) ) {
|
108 |
echo do_shortcode( get_option( 'wcj_product_custom_info_content_' . $single_or_archive . '_' . $i ) );
|
109 |
}
|
30 |
$single_or_archive_array = array( 'single', 'archive' );
|
31 |
foreach ( $single_or_archive_array as $single_or_archive ) {
|
32 |
$default_hook = ( 'single' === $single_or_archive ) ? 'woocommerce_after_single_product_summary' : 'woocommerce_after_shop_loop_item_title';
|
33 |
+
for ( $i = 1; $i <= apply_filters( 'booster_option', 1, get_option( 'wcj_product_custom_info_total_number_' . $single_or_archive, 1 ) ); $i++ ) {
|
34 |
add_action(
|
35 |
get_option( 'wcj_product_custom_info_hook_' . $single_or_archive . '_' . $i, $default_hook ),
|
36 |
array( $this, 'add_product_custom_info' ),
|
103 |
$single_or_archive_array = array( 'single', 'archive' );
|
104 |
foreach ( $single_or_archive_array as $single_or_archive ) {
|
105 |
$default_hook = ( 'single' === $single_or_archive ) ? 'woocommerce_after_single_product_summary' : 'woocommerce_after_shop_loop_item_title';
|
106 |
+
for ( $i = 1; $i <= apply_filters( 'booster_option', 1, get_option( 'wcj_product_custom_info_total_number_' . $single_or_archive, 1 ) ); $i++ ) {
|
107 |
if ( $this->is_visible( $product_id, $current_filter, $current_filter_priority, $default_hook, $single_or_archive, $i ) ) {
|
108 |
echo do_shortcode( get_option( 'wcj_product_custom_info_content_' . $single_or_archive . '_' . $i ) );
|
109 |
}
|
includes/class-wcj-product-info.php
CHANGED
@@ -194,7 +194,7 @@ class WCJ_Product_Info extends WCJ_Module {
|
|
194 |
*/
|
195 |
function add_more_product_info( $single_or_archive ) {
|
196 |
//$single_or_archive = 'archive';
|
197 |
-
for ( $i = 1; $i <= apply_filters( '
|
198 |
$field_id = 'wcj_more_product_info_on_' . $single_or_archive . '_' . $i ;
|
199 |
$the_product_info = get_option( $field_id );
|
200 |
$the_product_info = $this->search_and_replace_deprecated_shortcodes( $the_product_info );
|
@@ -280,8 +280,8 @@ class WCJ_Product_Info extends WCJ_Module {
|
|
280 |
'id' => 'wcj_more_product_info_on_' . $single_or_archive . '_fields_total',
|
281 |
'default' => 4,
|
282 |
'type' => 'number',
|
283 |
-
'desc' => apply_filters( '
|
284 |
-
'custom_attributes' => apply_filters( '
|
285 |
),
|
286 |
) );
|
287 |
$this->admin_add_product_info_fields( $settings, $single_or_archive );
|
@@ -293,7 +293,7 @@ class WCJ_Product_Info extends WCJ_Module {
|
|
293 |
* @version 2.4.0
|
294 |
*/
|
295 |
function admin_add_product_info_fields( &$settings, $single_or_archive ) {
|
296 |
-
for ( $i = 1; $i <= apply_filters( '
|
297 |
$field_id = 'wcj_more_product_info_on_' . $single_or_archive . '_' . $i ;
|
298 |
$default_value = '';
|
299 |
switch ( $i ) {
|
194 |
*/
|
195 |
function add_more_product_info( $single_or_archive ) {
|
196 |
//$single_or_archive = 'archive';
|
197 |
+
for ( $i = 1; $i <= apply_filters( 'booster_option', 4, get_option( 'wcj_more_product_info_on_' . $single_or_archive . '_fields_total', 4 ) ); $i++ ) {
|
198 |
$field_id = 'wcj_more_product_info_on_' . $single_or_archive . '_' . $i ;
|
199 |
$the_product_info = get_option( $field_id );
|
200 |
$the_product_info = $this->search_and_replace_deprecated_shortcodes( $the_product_info );
|
280 |
'id' => 'wcj_more_product_info_on_' . $single_or_archive . '_fields_total',
|
281 |
'default' => 4,
|
282 |
'type' => 'number',
|
283 |
+
'desc' => apply_filters( 'booster_message', '', 'desc' ),
|
284 |
+
'custom_attributes' => apply_filters( 'booster_message', '', 'readonly' ),
|
285 |
),
|
286 |
) );
|
287 |
$this->admin_add_product_info_fields( $settings, $single_or_archive );
|
293 |
* @version 2.4.0
|
294 |
*/
|
295 |
function admin_add_product_info_fields( &$settings, $single_or_archive ) {
|
296 |
+
for ( $i = 1; $i <= apply_filters( 'booster_option', 4, get_option( 'wcj_more_product_info_on_' . $single_or_archive . '_fields_total', 4 ) ); $i++ ) {
|
297 |
$field_id = 'wcj_more_product_info_on_' . $single_or_archive . '_' . $i ;
|
298 |
$default_value = '';
|
299 |
switch ( $i ) {
|
includes/class-wcj-product-listings.php
CHANGED
@@ -71,7 +71,7 @@ class WCJ_Product_Listings extends WCJ_Module {
|
|
71 |
function remove_subcategory_count( $count_html ) {
|
72 |
if (
|
73 |
( is_shop() && 'yes' === get_option( 'wcj_product_listings_hide_cats_count_on_shop' ) ) ||
|
74 |
-
( ! is_shop() && 'yes' === apply_filters( '
|
75 |
) {
|
76 |
return '';
|
77 |
}
|
71 |
function remove_subcategory_count( $count_html ) {
|
72 |
if (
|
73 |
( is_shop() && 'yes' === get_option( 'wcj_product_listings_hide_cats_count_on_shop' ) ) ||
|
74 |
+
( ! is_shop() && 'yes' === apply_filters( 'booster_option', 'wcj', get_option( 'wcj_product_listings_hide_cats_count_on_archive' ) ) )
|
75 |
) {
|
76 |
return '';
|
77 |
}
|
includes/class-wcj-product-open-pricing.php
CHANGED
@@ -134,7 +134,7 @@ class WCJ_Product_Open_Pricing extends WCJ_Module {
|
|
134 |
* @since 2.4.8
|
135 |
*/
|
136 |
function save_meta_box_value( $option_value, $option_name, $module_id ) {
|
137 |
-
if ( true === apply_filters( '
|
138 |
return $option_value;
|
139 |
}
|
140 |
if ( 'no' === $option_value ) {
|
134 |
* @since 2.4.8
|
135 |
*/
|
136 |
function save_meta_box_value( $option_value, $option_name, $module_id ) {
|
137 |
+
if ( true === apply_filters( 'booster_option', false, true ) ) {
|
138 |
return $option_value;
|
139 |
}
|
140 |
if ( 'no' === $option_value ) {
|
includes/class-wcj-product-price-by-formula.php
CHANGED
@@ -141,7 +141,7 @@ class WCJ_Product_Price_by_Formula extends WCJ_Module {
|
|
141 |
* @since 2.5.0
|
142 |
*/
|
143 |
function save_meta_box_value( $option_value, $option_name, $module_id ) {
|
144 |
-
if ( true === apply_filters( '
|
145 |
return $option_value;
|
146 |
}
|
147 |
if ( 'no' === $option_value ) {
|
@@ -202,7 +202,7 @@ class WCJ_Product_Price_by_Formula extends WCJ_Module {
|
|
202 |
*/
|
203 |
function is_price_by_formula_product( $_product ) {
|
204 |
return (
|
205 |
-
'yes' === apply_filters( '
|
206 |
'yes' === get_post_meta( wcj_get_product_id_or_variation_parent_id( $_product ), '_' . 'wcj_product_price_by_formula_enabled', true )
|
207 |
);
|
208 |
}
|
141 |
* @since 2.5.0
|
142 |
*/
|
143 |
function save_meta_box_value( $option_value, $option_name, $module_id ) {
|
144 |
+
if ( true === apply_filters( 'booster_option', false, true ) ) {
|
145 |
return $option_value;
|
146 |
}
|
147 |
if ( 'no' === $option_value ) {
|
202 |
*/
|
203 |
function is_price_by_formula_product( $_product ) {
|
204 |
return (
|
205 |
+
'yes' === apply_filters( 'booster_option', 'no', get_option( 'wcj_product_price_by_formula_enable_for_all_products', 'no' ) ) ||
|
206 |
'yes' === get_post_meta( wcj_get_product_id_or_variation_parent_id( $_product ), '_' . 'wcj_product_price_by_formula_enabled', true )
|
207 |
);
|
208 |
}
|
includes/class-wcj-product-tabs.php
CHANGED
@@ -92,19 +92,19 @@ class WCJ_Product_Tabs extends WCJ_Module {
|
|
92 |
|
93 |
// Priority and Title
|
94 |
if ( isset( $tabs['description'] ) ) {
|
95 |
-
$tabs['description']['priority'] = apply_filters( '
|
96 |
if ( '' != ( $title = get_option( 'wcj_product_info_product_tabs_description_title', '' ) ) ) {
|
97 |
$tabs['description']['title'] = $title;
|
98 |
}
|
99 |
}
|
100 |
if ( isset( $tabs['additional_information'] ) ) {
|
101 |
-
$tabs['additional_information']['priority'] = apply_filters( '
|
102 |
if ( '' != ( $title = get_option( 'wcj_product_info_product_tabs_additional_information_title', '' ) ) ) {
|
103 |
$tabs['additional_information']['title'] = $title;
|
104 |
}
|
105 |
}
|
106 |
if ( isset( $tabs['reviews'] ) ) {
|
107 |
-
$tabs['reviews']['priority'] = apply_filters( '
|
108 |
if ( '' != ( $title = get_option( 'wcj_product_info_product_tabs_reviews_title', '' ) ) ) {
|
109 |
$tabs['reviews']['title'] = $title;
|
110 |
}
|
@@ -124,11 +124,11 @@ class WCJ_Product_Tabs extends WCJ_Module {
|
|
124 |
function add_custom_product_tabs( $scope, $tabs, $product_id ) {
|
125 |
switch ( $scope ) {
|
126 |
case 'global':
|
127 |
-
$total_custom_tabs = apply_filters( '
|
128 |
break;
|
129 |
default: // 'local'
|
130 |
if ( ! ( $total_custom_tabs = get_post_meta( $product_id, '_' . 'wcj_custom_product_tabs_local_total_number', true ) ) ) {
|
131 |
-
$total_custom_tabs = apply_filters( '
|
132 |
}
|
133 |
break;
|
134 |
}
|
@@ -437,7 +437,7 @@ class WCJ_Product_Tabs extends WCJ_Module {
|
|
437 |
function maybe_add_js_links() {
|
438 |
$current_post_id = get_the_ID();
|
439 |
// Global tabs
|
440 |
-
for ( $i = 1; $i <= apply_filters( '
|
441 |
if ( $this->is_global_tab_visible( $i, $current_post_id ) ) {
|
442 |
$key = 'global_' . $i;
|
443 |
if ( '' != get_option( 'wcj_custom_product_tabs_title_' . $key, '' ) && '' != ( $link = get_option( 'wcj_custom_product_tabs_link_' . $key, '' ) ) ) {
|
@@ -450,7 +450,7 @@ class WCJ_Product_Tabs extends WCJ_Module {
|
|
450 |
return;
|
451 |
}
|
452 |
if ( ! ( $total_custom_tabs = get_post_meta( $current_post_id, '_' . 'wcj_custom_product_tabs_local_total_number', true ) ) ) {
|
453 |
-
$total_custom_tabs = apply_filters( '
|
454 |
}
|
455 |
for ( $i = 1; $i <= $total_custom_tabs; $i++ ) {
|
456 |
if ( $this->is_local_tab_visible( $i, $current_post_id ) ) {
|
@@ -505,7 +505,7 @@ class WCJ_Product_Tabs extends WCJ_Module {
|
|
505 |
'wcj_custom_product_tabs_link_local_',
|
506 |
'wcj_custom_product_tabs_link_new_tab_local_',
|
507 |
);
|
508 |
-
$default_total_custom_tabs = apply_filters( '
|
509 |
$total_custom_tabs_before_saving = get_post_meta( $post_id, '_' . 'wcj_custom_product_tabs_local_total_number', true );
|
510 |
$total_custom_tabs_before_saving = ( '' != $total_custom_tabs_before_saving ) ? $total_custom_tabs_before_saving : $default_total_custom_tabs;
|
511 |
for ( $i = 1; $i <= $total_custom_tabs_before_saving; $i++ ) {
|
@@ -548,11 +548,11 @@ class WCJ_Product_Tabs extends WCJ_Module {
|
|
548 |
$current_post_id = get_the_ID();
|
549 |
$option_name = 'wcj_custom_product_tabs_local_total_number';
|
550 |
if ( ! ( $total_custom_tabs = get_post_meta( $current_post_id, '_' . $option_name, true ) ) )
|
551 |
-
$total_custom_tabs = apply_filters( '
|
552 |
$html = '';
|
553 |
|
554 |
-
$is_disabled = apply_filters( '
|
555 |
-
$is_disabled_message = apply_filters( '
|
556 |
|
557 |
$html .= '<table>';
|
558 |
$html .= '<tr>';
|
92 |
|
93 |
// Priority and Title
|
94 |
if ( isset( $tabs['description'] ) ) {
|
95 |
+
$tabs['description']['priority'] = apply_filters( 'booster_option', 10, get_option( 'wcj_product_info_product_tabs_description_priority', 10 ) );
|
96 |
if ( '' != ( $title = get_option( 'wcj_product_info_product_tabs_description_title', '' ) ) ) {
|
97 |
$tabs['description']['title'] = $title;
|
98 |
}
|
99 |
}
|
100 |
if ( isset( $tabs['additional_information'] ) ) {
|
101 |
+
$tabs['additional_information']['priority'] = apply_filters( 'booster_option', 20, get_option( 'wcj_product_info_product_tabs_additional_information_priority', 20 ) );
|
102 |
if ( '' != ( $title = get_option( 'wcj_product_info_product_tabs_additional_information_title', '' ) ) ) {
|
103 |
$tabs['additional_information']['title'] = $title;
|
104 |
}
|
105 |
}
|
106 |
if ( isset( $tabs['reviews'] ) ) {
|
107 |
+
$tabs['reviews']['priority'] = apply_filters( 'booster_option', 30, get_option( 'wcj_product_info_product_tabs_reviews_priority', 30 ) );
|
108 |
if ( '' != ( $title = get_option( 'wcj_product_info_product_tabs_reviews_title', '' ) ) ) {
|
109 |
$tabs['reviews']['title'] = $title;
|
110 |
}
|
124 |
function add_custom_product_tabs( $scope, $tabs, $product_id ) {
|
125 |
switch ( $scope ) {
|
126 |
case 'global':
|
127 |
+
$total_custom_tabs = apply_filters( 'booster_option', 1, get_option( 'wcj_custom_product_tabs_global_total_number', 1 ) );
|
128 |
break;
|
129 |
default: // 'local'
|
130 |
if ( ! ( $total_custom_tabs = get_post_meta( $product_id, '_' . 'wcj_custom_product_tabs_local_total_number', true ) ) ) {
|
131 |
+
$total_custom_tabs = apply_filters( 'booster_option', 1, get_option( 'wcj_custom_product_tabs_local_total_number_default', 1 ) );
|
132 |
}
|
133 |
break;
|
134 |
}
|
437 |
function maybe_add_js_links() {
|
438 |
$current_post_id = get_the_ID();
|
439 |
// Global tabs
|
440 |
+
for ( $i = 1; $i <= apply_filters( 'booster_option', 1, get_option( 'wcj_custom_product_tabs_global_total_number', 1 ) ); $i++ ) {
|
441 |
if ( $this->is_global_tab_visible( $i, $current_post_id ) ) {
|
442 |
$key = 'global_' . $i;
|
443 |
if ( '' != get_option( 'wcj_custom_product_tabs_title_' . $key, '' ) && '' != ( $link = get_option( 'wcj_custom_product_tabs_link_' . $key, '' ) ) ) {
|
450 |
return;
|
451 |
}
|
452 |
if ( ! ( $total_custom_tabs = get_post_meta( $current_post_id, '_' . 'wcj_custom_product_tabs_local_total_number', true ) ) ) {
|
453 |
+
$total_custom_tabs = apply_filters( 'booster_option', 1, get_option( 'wcj_custom_product_tabs_local_total_number_default', 1 ) );
|
454 |
}
|
455 |
for ( $i = 1; $i <= $total_custom_tabs; $i++ ) {
|
456 |
if ( $this->is_local_tab_visible( $i, $current_post_id ) ) {
|
505 |
'wcj_custom_product_tabs_link_local_',
|
506 |
'wcj_custom_product_tabs_link_new_tab_local_',
|
507 |
);
|
508 |
+
$default_total_custom_tabs = apply_filters( 'booster_option', 1, get_option( 'wcj_custom_product_tabs_local_total_number_default', 1 ) );
|
509 |
$total_custom_tabs_before_saving = get_post_meta( $post_id, '_' . 'wcj_custom_product_tabs_local_total_number', true );
|
510 |
$total_custom_tabs_before_saving = ( '' != $total_custom_tabs_before_saving ) ? $total_custom_tabs_before_saving : $default_total_custom_tabs;
|
511 |
for ( $i = 1; $i <= $total_custom_tabs_before_saving; $i++ ) {
|
548 |
$current_post_id = get_the_ID();
|
549 |
$option_name = 'wcj_custom_product_tabs_local_total_number';
|
550 |
if ( ! ( $total_custom_tabs = get_post_meta( $current_post_id, '_' . $option_name, true ) ) )
|
551 |
+
$total_custom_tabs = apply_filters( 'booster_option', 1, get_option( 'wcj_custom_product_tabs_local_total_number_default', 1 ) );
|
552 |
$html = '';
|
553 |
|
554 |
+
$is_disabled = apply_filters( 'booster_message', '', 'readonly_string' );
|
555 |
+
$is_disabled_message = apply_filters( 'booster_message', '', 'desc' );
|
556 |
|
557 |
$html .= '<table>';
|
558 |
$html .= '<tr>';
|
includes/class-wcj-products-per-page.php
CHANGED
@@ -67,7 +67,7 @@ class WCJ_Products_Per_Page extends WCJ_Module {
|
|
67 |
$products_total = $wp_query->found_posts;
|
68 |
|
69 |
$select_form = '<select name="wcj_products_per_page" id="wcj_products_per_page" class="sortby rounded_corners_class" onchange="this.form.submit()">';
|
70 |
-
$products_per_page_select_options = apply_filters( '
|
71 |
'10|10' . PHP_EOL . '25|25' . PHP_EOL . '50|50' . PHP_EOL . '100|100' . PHP_EOL . 'All|-1',
|
72 |
get_option( 'wcj_products_per_page_select_options', '10|10' . PHP_EOL . '25|25' . PHP_EOL . '50|50' . PHP_EOL . '100|100' . PHP_EOL . 'All|-1' ) );
|
73 |
$products_per_page_select_options = explode( PHP_EOL, $products_per_page_select_options );
|
67 |
$products_total = $wp_query->found_posts;
|
68 |
|
69 |
$select_form = '<select name="wcj_products_per_page" id="wcj_products_per_page" class="sortby rounded_corners_class" onchange="this.form.submit()">';
|
70 |
+
$products_per_page_select_options = apply_filters( 'booster_option',
|
71 |
'10|10' . PHP_EOL . '25|25' . PHP_EOL . '50|50' . PHP_EOL . '100|100' . PHP_EOL . 'All|-1',
|
72 |
get_option( 'wcj_products_per_page_select_options', '10|10' . PHP_EOL . '25|25' . PHP_EOL . '50|50' . PHP_EOL . '100|100' . PHP_EOL . 'All|-1' ) );
|
73 |
$products_per_page_select_options = explode( PHP_EOL, $products_per_page_select_options );
|
includes/class-wcj-products-xml.php
CHANGED
@@ -2,7 +2,7 @@
|
|
2 |
/**
|
3 |
* Booster for WooCommerce - Module - Products XML
|
4 |
*
|
5 |
-
* @version 3.
|
6 |
* @since 2.5.7
|
7 |
* @author Algoritmika Ltd.
|
8 |
* @todo create all files at once (manually and synchronize update)
|
@@ -17,7 +17,7 @@ class WCJ_Products_XML extends WCJ_Module {
|
|
17 |
/**
|
18 |
* Constructor.
|
19 |
*
|
20 |
-
* @version 3.
|
21 |
* @since 2.5.7
|
22 |
*/
|
23 |
function __construct() {
|
@@ -32,8 +32,9 @@ class WCJ_Products_XML extends WCJ_Module {
|
|
32 |
add_action( 'init', array( $this, 'schedule_the_events' ) );
|
33 |
add_action( 'admin_init', array( $this, 'schedule_the_events' ) );
|
34 |
add_action( 'admin_init', array( $this, 'wcj_create_products_xml' ) );
|
|
|
35 |
add_filter( 'cron_schedules', array( $this, 'cron_add_custom_intervals' ) );
|
36 |
-
$total_number = apply_filters( '
|
37 |
for ( $i = 1; $i <= $total_number; $i++ ) {
|
38 |
add_action( 'wcj_create_products_xml_hook_' . $i, array( $this, 'create_products_xml_cron' ), PHP_INT_MAX, 2 );
|
39 |
}
|
@@ -54,11 +55,11 @@ class WCJ_Products_XML extends WCJ_Module {
|
|
54 |
'daily',
|
55 |
'weekly',
|
56 |
);
|
57 |
-
$total_number = apply_filters( '
|
58 |
for ( $i = 1; $i <= $total_number; $i++ ) {
|
59 |
$event_hook = 'wcj_create_products_xml_hook_' . $i;
|
60 |
if ( 'yes' === get_option( 'wcj_products_xml_enabled_' . $i, 'yes' ) ) {
|
61 |
-
$selected_interval = apply_filters( '
|
62 |
foreach ( $update_intervals as $interval ) {
|
63 |
$event_timestamp = wp_next_scheduled( $event_hook, array( $interval, $i ) );
|
64 |
if ( $selected_interval === $interval ) {
|
@@ -101,39 +102,39 @@ class WCJ_Products_XML extends WCJ_Module {
|
|
101 |
}
|
102 |
|
103 |
/**
|
104 |
-
*
|
105 |
-
*
|
106 |
-
* @version 2.5.7
|
107 |
-
* @since 2.5.7
|
108 |
-
*/
|
109 |
-
function admin_notice__success() {
|
110 |
-
echo '<div class="notice notice-success is-dismissible"><p>' . __( 'Products XML file created successfully.', 'woocommerce-jetpack' ) . '</p></div>';
|
111 |
-
}
|
112 |
-
|
113 |
-
/**
|
114 |
-
* admin_notice__error.
|
115 |
*
|
116 |
-
* @version
|
117 |
* @since 2.5.7
|
118 |
*/
|
119 |
-
function
|
120 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
121 |
}
|
122 |
|
123 |
/**
|
124 |
* wcj_create_products_xml.
|
125 |
*
|
126 |
-
* @version
|
127 |
* @since 2.5.7
|
128 |
*/
|
129 |
function wcj_create_products_xml() {
|
130 |
if ( isset( $_GET['wcj_create_products_xml'] ) ) {
|
131 |
$file_num = $_GET['wcj_create_products_xml'];
|
132 |
$result = $this->create_products_xml( $file_num );
|
133 |
-
add_action( 'admin_notices', array( $this, ( ( false !== $result ) ? 'admin_notice__success' : 'admin_notice__error' ) ) );
|
134 |
if ( false !== $result ) {
|
135 |
update_option( 'wcj_products_time_file_created_' . $file_num, current_time( 'timestamp' ) );
|
136 |
}
|
|
|
|
|
137 |
}
|
138 |
}
|
139 |
|
@@ -156,6 +157,7 @@ class WCJ_Products_XML extends WCJ_Module {
|
|
156 |
*
|
157 |
* @version 3.2.4
|
158 |
* @since 2.5.7
|
|
|
159 |
*/
|
160 |
function create_products_xml( $file_num ) {
|
161 |
$xml_items = '';
|
@@ -253,7 +255,7 @@ class WCJ_Products_XML extends WCJ_Module {
|
|
253 |
}
|
254 |
while ( $loop->have_posts() ) {
|
255 |
$loop->the_post();
|
256 |
-
$xml_items .= str_replace( '&', '&', html_entity_decode( do_shortcode( $xml_item_template ) ) );
|
257 |
}
|
258 |
$offset += $block_size;
|
259 |
}
|
2 |
/**
|
3 |
* Booster for WooCommerce - Module - Products XML
|
4 |
*
|
5 |
+
* @version 3.3.0
|
6 |
* @since 2.5.7
|
7 |
* @author Algoritmika Ltd.
|
8 |
* @todo create all files at once (manually and synchronize update)
|
17 |
/**
|
18 |
* Constructor.
|
19 |
*
|
20 |
+
* @version 3.3.0
|
21 |
* @since 2.5.7
|
22 |
*/
|
23 |
function __construct() {
|
32 |
add_action( 'init', array( $this, 'schedule_the_events' ) );
|
33 |
add_action( 'admin_init', array( $this, 'schedule_the_events' ) );
|
34 |
add_action( 'admin_init', array( $this, 'wcj_create_products_xml' ) );
|
35 |
+
add_action( 'admin_notices', array( $this, 'admin_notices' ) );
|
36 |
add_filter( 'cron_schedules', array( $this, 'cron_add_custom_intervals' ) );
|
37 |
+
$total_number = apply_filters( 'booster_option', 1, get_option( 'wcj_products_xml_total_files', 1 ) );
|
38 |
for ( $i = 1; $i <= $total_number; $i++ ) {
|
39 |
add_action( 'wcj_create_products_xml_hook_' . $i, array( $this, 'create_products_xml_cron' ), PHP_INT_MAX, 2 );
|
40 |
}
|
55 |
'daily',
|
56 |
'weekly',
|
57 |
);
|
58 |
+
$total_number = apply_filters( 'booster_option', 1, get_option( 'wcj_products_xml_total_files', 1 ) );
|
59 |
for ( $i = 1; $i <= $total_number; $i++ ) {
|
60 |
$event_hook = 'wcj_create_products_xml_hook_' . $i;
|
61 |
if ( 'yes' === get_option( 'wcj_products_xml_enabled_' . $i, 'yes' ) ) {
|
62 |
+
$selected_interval = apply_filters( 'booster_option', 'weekly', get_option( 'wcj_create_products_xml_period_' . $i, 'weekly' ) );
|
63 |
foreach ( $update_intervals as $interval ) {
|
64 |
$event_timestamp = wp_next_scheduled( $event_hook, array( $interval, $i ) );
|
65 |
if ( $selected_interval === $interval ) {
|
102 |
}
|
103 |
|
104 |
/**
|
105 |
+
* admin_notices.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
106 |
*
|
107 |
+
* @version 3.3.0
|
108 |
* @since 2.5.7
|
109 |
*/
|
110 |
+
function admin_notices() {
|
111 |
+
if ( isset( $_GET['wcj_create_products_xml_result'] ) ) {
|
112 |
+
if ( 0 == $_GET['wcj_create_products_xml_result'] ) {
|
113 |
+
$class = 'notice notice-error';
|
114 |
+
$message = __( 'An error has occurred while creating products XML file.', 'woocommerce-jetpack' );
|
115 |
+
} else {
|
116 |
+
$class = 'notice notice-success is-dismissible';
|
117 |
+
$message = sprintf( __( 'Products XML file #%s created successfully.', 'woocommerce-jetpack' ), $_GET['wcj_create_products_xml_result'] );
|
118 |
+
}
|
119 |
+
echo '<div class="' . $class . '"><p>' . $message . '</p></div>';
|
120 |
+
}
|
121 |
}
|
122 |
|
123 |
/**
|
124 |
* wcj_create_products_xml.
|
125 |
*
|
126 |
+
* @version 3.3.0
|
127 |
* @since 2.5.7
|
128 |
*/
|
129 |
function wcj_create_products_xml() {
|
130 |
if ( isset( $_GET['wcj_create_products_xml'] ) ) {
|
131 |
$file_num = $_GET['wcj_create_products_xml'];
|
132 |
$result = $this->create_products_xml( $file_num );
|
|
|
133 |
if ( false !== $result ) {
|
134 |
update_option( 'wcj_products_time_file_created_' . $file_num, current_time( 'timestamp' ) );
|
135 |
}
|
136 |
+
wp_safe_redirect( add_query_arg( 'wcj_create_products_xml_result', ( false === $result ? 0 : $file_num ), remove_query_arg( 'wcj_create_products_xml' ) ) );
|
137 |
+
exit;
|
138 |
}
|
139 |
}
|
140 |
|
157 |
*
|
158 |
* @version 3.2.4
|
159 |
* @since 2.5.7
|
160 |
+
* @todo check the `str_replace` and `html_entity_decode` part
|
161 |
*/
|
162 |
function create_products_xml( $file_num ) {
|
163 |
$xml_items = '';
|
255 |
}
|
256 |
while ( $loop->have_posts() ) {
|
257 |
$loop->the_post();
|
258 |
+
$xml_items .= str_replace( '&', '&', html_entity_decode( do_shortcode( $xml_item_template ) ) );
|
259 |
}
|
260 |
$offset += $block_size;
|
261 |
}
|
includes/class-wcj-purchase-data.php
CHANGED
@@ -20,6 +20,7 @@ class WCJ_Purchase_Data extends WCJ_Module {
|
|
20 |
* @todo (maybe) pre-calculate profit for orders
|
21 |
* @todo (maybe) "Apply costs to orders that do not have costs set"
|
22 |
* @todo (maybe) "Apply costs to all orders, overriding previous costs"
|
|
|
23 |
*/
|
24 |
function __construct() {
|
25 |
|
@@ -53,8 +54,8 @@ class WCJ_Purchase_Data extends WCJ_Module {
|
|
53 |
|
54 |
// Products columns
|
55 |
if (
|
56 |
-
'yes' === apply_filters( '
|
57 |
-
'yes' === apply_filters( '
|
58 |
) {
|
59 |
add_filter( 'manage_edit-product_columns', array( $this, 'add_product_columns' ), PHP_INT_MAX );
|
60 |
add_action( 'manage_product_posts_custom_column', array( $this, 'render_product_columns' ), PHP_INT_MAX );
|
@@ -110,10 +111,10 @@ class WCJ_Purchase_Data extends WCJ_Module {
|
|
110 |
* @todo (maybe) output columns immediately after standard "Price"
|
111 |
*/
|
112 |
function add_product_columns( $columns ) {
|
113 |
-
if ( 'yes' === apply_filters( '
|
114 |
$columns['purchase_cost'] = __( 'Cost', 'woocommerce-jetpack' );
|
115 |
}
|
116 |
-
if ( 'yes' === apply_filters( '
|
117 |
$columns['profit'] = __( 'Profit', 'woocommerce-jetpack' );
|
118 |
}
|
119 |
return $columns;
|
@@ -161,7 +162,8 @@ class WCJ_Purchase_Data extends WCJ_Module {
|
|
161 |
* @param string $column
|
162 |
* @version 2.7.0
|
163 |
* @since 2.2.4
|
164 |
-
* @todo forecasted profit
|
|
|
165 |
*/
|
166 |
function render_order_columns( $column ) {
|
167 |
if ( 'profit' === $column || 'purchase_cost' === $column ) {
|
@@ -171,12 +173,10 @@ class WCJ_Purchase_Data extends WCJ_Module {
|
|
171 |
$is_forecasted = false;
|
172 |
foreach ( $the_order->get_items() as $item_id => $item ) {
|
173 |
$value = 0;
|
174 |
-
$product_id = ( isset( $item['variation_id'] ) && 0 != $item['variation_id'] && 'no' === get_option( 'wcj_purchase_data_variable_as_simple_enabled', 'no' )
|
175 |
-
? $item['variation_id']
|
176 |
-
: $item['product_id'];
|
177 |
if ( 0 != ( $purchase_price = wc_get_product_purchase_price( $product_id ) ) ) {
|
178 |
if ( 'profit' === $column ) {
|
179 |
-
// $line_total = ( 'yes' === get_option('woocommerce_prices_include_tax') ) ? ( $item['line_total'] + $item['line_tax'] ) : $item['line_total'];
|
180 |
$_order_prices_include_tax = ( WCJ_IS_WC_VERSION_BELOW_3 ? $the_order->prices_include_tax : $the_order->get_prices_include_tax() );
|
181 |
$line_total = ( $_order_prices_include_tax ) ? ( $item['line_total'] + $item['line_tax'] ) : $item['line_total'];
|
182 |
$value = $line_total - $purchase_price * $item['qty'];
|
@@ -184,16 +184,19 @@ class WCJ_Purchase_Data extends WCJ_Module {
|
|
184 |
$value = $purchase_price * $item['qty'];
|
185 |
}
|
186 |
} else {
|
187 |
-
// $value = ( $item['line_total'] + $item['line_tax'] ) * $average_profit_margin;
|
188 |
$is_forecasted = true;
|
189 |
}
|
190 |
$total += $value;
|
191 |
}
|
192 |
}
|
193 |
if ( 0 != $total ) {
|
194 |
-
if ( ! $is_forecasted )
|
|
|
|
|
195 |
echo wc_price( $total );
|
196 |
-
if ( ! $is_forecasted )
|
|
|
|
|
197 |
}
|
198 |
}
|
199 |
}
|
@@ -203,7 +206,7 @@ class WCJ_Purchase_Data extends WCJ_Module {
|
|
203 |
*
|
204 |
* @version 2.7.0
|
205 |
* @since 2.4.5
|
206 |
-
* @todo min_profit
|
207 |
*/
|
208 |
function create_meta_box() {
|
209 |
|
@@ -234,11 +237,6 @@ class WCJ_Purchase_Data extends WCJ_Module {
|
|
234 |
$table_data[] = array( __( 'Buying', 'woocommerce-jetpack' ), wc_price( $purchase_price ) );
|
235 |
$table_data[] = array( __( 'Profit', 'woocommerce-jetpack' ), wc_price( $the_profit )
|
236 |
. sprintf( ' (%0.2f %%)', ( $the_profit / $purchase_price * 100 ) ) );
|
237 |
-
// . sprintf( ' (%0.2f %%)', ( $the_profit / $the_price * 100 ) ) );
|
238 |
-
/* $the_min_profit = $purchase_price * 0.25;
|
239 |
-
$the_min_price = $purchase_price * 1.25;
|
240 |
-
$html .= __( 'Min Profit', 'woocommerce-jetpack' );
|
241 |
-
$html .= wc_price( $the_min_profit ) . ' ' . __( 'at', 'woocommerce-jetpack' ) . ' ' . wc_price( $the_min_price ); */
|
242 |
$html = '';
|
243 |
$html .= '<h5>' . __( 'Report', 'woocommerce-jetpack' ) . $desc . '</h5>';
|
244 |
$html .= wcj_get_table_html( $table_data, array(
|
@@ -253,13 +251,6 @@ class WCJ_Purchase_Data extends WCJ_Module {
|
|
253 |
}
|
254 |
}
|
255 |
|
256 |
-
/**
|
257 |
-
* calculate_all_products_profit.
|
258 |
-
*
|
259 |
-
* @todo
|
260 |
-
*/
|
261 |
-
/* function calculate_all_products_profit() { } */
|
262 |
-
|
263 |
}
|
264 |
|
265 |
endif;
|
20 |
* @todo (maybe) pre-calculate profit for orders
|
21 |
* @todo (maybe) "Apply costs to orders that do not have costs set"
|
22 |
* @todo (maybe) "Apply costs to all orders, overriding previous costs"
|
23 |
+
* @todo (maybe) `calculate_all_products_profit()`
|
24 |
*/
|
25 |
function __construct() {
|
26 |
|
54 |
|
55 |
// Products columns
|
56 |
if (
|
57 |
+
'yes' === apply_filters( 'booster_option', 'no', get_option( 'wcj_purchase_data_custom_products_columns_purchase_cost', 'no' ) ) ||
|
58 |
+
'yes' === apply_filters( 'booster_option', 'no', get_option( 'wcj_purchase_data_custom_products_columns_profit', 'no' ) )
|
59 |
) {
|
60 |
add_filter( 'manage_edit-product_columns', array( $this, 'add_product_columns' ), PHP_INT_MAX );
|
61 |
add_action( 'manage_product_posts_custom_column', array( $this, 'render_product_columns' ), PHP_INT_MAX );
|
111 |
* @todo (maybe) output columns immediately after standard "Price"
|
112 |
*/
|
113 |
function add_product_columns( $columns ) {
|
114 |
+
if ( 'yes' === apply_filters( 'booster_option', 'no', get_option( 'wcj_purchase_data_custom_products_columns_purchase_cost', 'no' ) ) ) {
|
115 |
$columns['purchase_cost'] = __( 'Cost', 'woocommerce-jetpack' );
|
116 |
}
|
117 |
+
if ( 'yes' === apply_filters( 'booster_option', 'no', get_option( 'wcj_purchase_data_custom_products_columns_profit', 'no' ) ) ) {
|
118 |
$columns['profit'] = __( 'Profit', 'woocommerce-jetpack' );
|
119 |
}
|
120 |
return $columns;
|
162 |
* @param string $column
|
163 |
* @version 2.7.0
|
164 |
* @since 2.2.4
|
165 |
+
* @todo forecasted profit `$value = $line_total * $average_profit_margin`
|
166 |
+
* @todo (maybe) use `[wcj_order_profit]` and `[wcj_order_items_cost]`
|
167 |
*/
|
168 |
function render_order_columns( $column ) {
|
169 |
if ( 'profit' === $column || 'purchase_cost' === $column ) {
|
173 |
$is_forecasted = false;
|
174 |
foreach ( $the_order->get_items() as $item_id => $item ) {
|
175 |
$value = 0;
|
176 |
+
$product_id = ( isset( $item['variation_id'] ) && 0 != $item['variation_id'] && 'no' === get_option( 'wcj_purchase_data_variable_as_simple_enabled', 'no' )
|
177 |
+
? $item['variation_id'] : $item['product_id'] );
|
|
|
178 |
if ( 0 != ( $purchase_price = wc_get_product_purchase_price( $product_id ) ) ) {
|
179 |
if ( 'profit' === $column ) {
|
|
|
180 |
$_order_prices_include_tax = ( WCJ_IS_WC_VERSION_BELOW_3 ? $the_order->prices_include_tax : $the_order->get_prices_include_tax() );
|
181 |
$line_total = ( $_order_prices_include_tax ) ? ( $item['line_total'] + $item['line_tax'] ) : $item['line_total'];
|
182 |
$value = $line_total - $purchase_price * $item['qty'];
|
184 |
$value = $purchase_price * $item['qty'];
|
185 |
}
|
186 |
} else {
|
|
|
187 |
$is_forecasted = true;
|
188 |
}
|
189 |
$total += $value;
|
190 |
}
|
191 |
}
|
192 |
if ( 0 != $total ) {
|
193 |
+
if ( ! $is_forecasted ) {
|
194 |
+
echo '<span style="color:green;">';
|
195 |
+
}
|
196 |
echo wc_price( $total );
|
197 |
+
if ( ! $is_forecasted ) {
|
198 |
+
echo '</span>';
|
199 |
+
}
|
200 |
}
|
201 |
}
|
202 |
}
|
206 |
*
|
207 |
* @version 2.7.0
|
208 |
* @since 2.4.5
|
209 |
+
* @todo (maybe) min_profit
|
210 |
*/
|
211 |
function create_meta_box() {
|
212 |
|
237 |
$table_data[] = array( __( 'Buying', 'woocommerce-jetpack' ), wc_price( $purchase_price ) );
|
238 |
$table_data[] = array( __( 'Profit', 'woocommerce-jetpack' ), wc_price( $the_profit )
|
239 |
. sprintf( ' (%0.2f %%)', ( $the_profit / $purchase_price * 100 ) ) );
|
|
|
|
|
|
|
|
|
|
|
240 |
$html = '';
|
241 |
$html .= '<h5>' . __( 'Report', 'woocommerce-jetpack' ) . $desc . '</h5>';
|
242 |
$html .= wcj_get_table_html( $table_data, array(
|
251 |
}
|
252 |
}
|
253 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
254 |
}
|
255 |
|
256 |
endif;
|
includes/class-wcj-related-products.php
CHANGED
@@ -50,7 +50,7 @@ class WCJ_Related_Products extends WCJ_Module {
|
|
50 |
if ( $this->is_enabled() ) {
|
51 |
|
52 |
// Related per Product
|
53 |
-
if ( 'yes' === apply_filters( '
|
54 |
add_action( 'add_meta_boxes', array( $this, 'add_meta_box' ) );
|
55 |
add_action( 'save_post_product', array( $this, 'save_meta_box' ), PHP_INT_MAX, 2 );
|
56 |
}
|
@@ -181,7 +181,7 @@ class WCJ_Related_Products extends WCJ_Module {
|
|
181 |
function get_related_products_ids_wc3( $product_id ) {
|
182 |
$include_ids = array();
|
183 |
// Change Related Products
|
184 |
-
if ( 'yes' === apply_filters( '
|
185 |
// Relate per Product (Manual)
|
186 |
$related_per_product = get_post_meta( get_the_ID(), '_' . 'wcj_product_info_related_products_ids', true );
|
187 |
if ( '' != $related_per_product ) {
|
@@ -329,7 +329,7 @@ class WCJ_Related_Products extends WCJ_Module {
|
|
329 |
if ( 'yes' === get_option( 'wcj_product_info_related_products_by_attribute_enabled', 'no' ) ) {
|
330 |
$do_fix = true;
|
331 |
} elseif (
|
332 |
-
'yes' === apply_filters( '
|
333 |
'yes' === get_post_meta( $product_id, '_' . 'wcj_product_info_related_products_enabled', true ) &&
|
334 |
'' != get_post_meta( $product_id, '_' . 'wcj_product_info_related_products_ids', true )
|
335 |
) {
|
@@ -414,7 +414,7 @@ class WCJ_Related_Products extends WCJ_Module {
|
|
414 |
$args['order'] = get_option( 'wcj_product_info_related_products_order', 'desc' );
|
415 |
}
|
416 |
// Change Related Products
|
417 |
-
if ( 'yes' === apply_filters( '
|
418 |
// Relate per Product (Manual)
|
419 |
$related_per_product = get_post_meta( get_the_ID(), '_' . 'wcj_product_info_related_products_ids', true );
|
420 |
if ( '' != $related_per_product ) {
|
50 |
if ( $this->is_enabled() ) {
|
51 |
|
52 |
// Related per Product
|
53 |
+
if ( 'yes' === apply_filters( 'booster_option', 'no', get_option( 'wcj_product_info_related_products_per_product', 'no' ) ) ) {
|
54 |
add_action( 'add_meta_boxes', array( $this, 'add_meta_box' ) );
|
55 |
add_action( 'save_post_product', array( $this, 'save_meta_box' ), PHP_INT_MAX, 2 );
|
56 |
}
|
181 |
function get_related_products_ids_wc3( $product_id ) {
|
182 |
$include_ids = array();
|
183 |
// Change Related Products
|
184 |
+
if ( 'yes' === apply_filters( 'booster_option', 'no', get_option( 'wcj_product_info_related_products_per_product', 'no' ) ) && 'yes' === get_post_meta( get_the_ID(), '_' . 'wcj_product_info_related_products_enabled', true ) ) {
|
185 |
// Relate per Product (Manual)
|
186 |
$related_per_product = get_post_meta( get_the_ID(), '_' . 'wcj_product_info_related_products_ids', true );
|
187 |
if ( '' != $related_per_product ) {
|
329 |
if ( 'yes' === get_option( 'wcj_product_info_related_products_by_attribute_enabled', 'no' ) ) {
|
330 |
$do_fix = true;
|
331 |
} elseif (
|
332 |
+
'yes' === apply_filters( 'booster_option', 'no', get_option( 'wcj_product_info_related_products_per_product', 'no' ) ) &&
|
333 |
'yes' === get_post_meta( $product_id, '_' . 'wcj_product_info_related_products_enabled', true ) &&
|
334 |
'' != get_post_meta( $product_id, '_' . 'wcj_product_info_related_products_ids', true )
|
335 |
) {
|
414 |
$args['order'] = get_option( 'wcj_product_info_related_products_order', 'desc' );
|
415 |
}
|
416 |
// Change Related Products
|
417 |
+
if ( 'yes' === apply_filters( 'booster_option', 'no', get_option( 'wcj_product_info_related_products_per_product', 'no' ) ) && 'yes' === get_post_meta( get_the_ID(), '_' . 'wcj_product_info_related_products_enabled', true ) ) {
|
418 |
// Relate per Product (Manual)
|
419 |
$related_per_product = get_post_meta( get_the_ID(), '_' . 'wcj_product_info_related_products_ids', true );
|
420 |
if ( '' != $related_per_product ) {
|
includes/class-wcj-sale-flash.php
CHANGED
@@ -32,9 +32,9 @@ class WCJ_Sale_Flash extends WCJ_Module {
|
|
32 |
|
33 |
if ( $this->is_enabled() ) {
|
34 |
$this->globally_enabled = ( 'yes' === get_option( 'wcj_product_images_sale_flash_enabled', 'no' ) );
|
35 |
-
$this->per_product_enabled = ( 'yes' === apply_filters( '
|
36 |
-
$this->per_category_enabled = ( 'yes' === apply_filters( '
|
37 |
-
$this->per_tag_enabled = ( 'yes' === apply_filters( '
|
38 |
add_filter( 'woocommerce_sale_flash', array( $this, 'customize_sale_flash' ), PHP_INT_MAX, 3 );
|
39 |
if ( $this->per_product_enabled ) {
|
40 |
add_action( 'add_meta_boxes', array( $this, 'add_meta_box' ) );
|
32 |
|
33 |
if ( $this->is_enabled() ) {
|
34 |
$this->globally_enabled = ( 'yes' === get_option( 'wcj_product_images_sale_flash_enabled', 'no' ) );
|
35 |
+
$this->per_product_enabled = ( 'yes' === apply_filters( 'booster_option', 'no', get_option( 'wcj_sale_flash_per_product_enabled', 'no' ) ) );
|
36 |
+
$this->per_category_enabled = ( 'yes' === apply_filters( 'booster_option', 'no', get_option( 'wcj_sale_flash_per_' . 'product_cat' . '_enabled', 'no' ) ) );
|
37 |
+
$this->per_tag_enabled = ( 'yes' === apply_filters( 'booster_option', 'no', get_option( 'wcj_sale_flash_per_' . 'product_tag' . '_enabled', 'no' ) ) );
|
38 |
add_filter( 'woocommerce_sale_flash', array( $this, 'customize_sale_flash' ), PHP_INT_MAX, 3 );
|
39 |
if ( $this->per_product_enabled ) {
|
40 |
add_action( 'add_meta_boxes', array( $this, 'add_meta_box' ) );
|
includes/class-wcj-shipping-by-order-amount.php
CHANGED
@@ -38,7 +38,7 @@ class WCJ_Shipping_By_Order_Amount extends WCJ_Module {
|
|
38 |
*
|
39 |
* @version 3.2.1
|
40 |
* @since 3.2.1
|
41 |
-
* @todo apply_filters( '
|
42 |
* @todo (maybe) add option to include or exclude taxes when calculating cart total
|
43 |
*/
|
44 |
function available_shipping_methods( $rates, $package ) {
|
38 |
*
|
39 |
* @version 3.2.1
|
40 |
* @since 3.2.1
|
41 |
+
* @todo apply_filters( 'booster_option' )
|
42 |
* @todo (maybe) add option to include or exclude taxes when calculating cart total
|
43 |
*/
|
44 |
function available_shipping_methods( $rates, $package ) {
|
includes/class-wcj-shipping-calculator.php
CHANGED
@@ -29,7 +29,7 @@ class WCJ_Shipping_Calculator extends WCJ_Module {
|
|
29 |
add_filter( 'woocommerce_shipping_calculator_enable_city' , array( $this, 'enable_city' ) );
|
30 |
add_filter( 'woocommerce_shipping_calculator_enable_postcode', array( $this, 'enable_postcode' ) );
|
31 |
add_action( 'wp_head', array( $this, 'add_custom_styles' ) );
|
32 |
-
if ( 'yes' === apply_filters( '
|
33 |
add_action( 'wp_enqueue_scripts', array( $this, 'change_labels' ) );
|
34 |
}
|
35 |
}
|
29 |
add_filter( 'woocommerce_shipping_calculator_enable_city' , array( $this, 'enable_city' ) );
|
30 |
add_filter( 'woocommerce_shipping_calculator_enable_postcode', array( $this, 'enable_postcode' ) );
|
31 |
add_action( 'wp_head', array( $this, 'add_custom_styles' ) );
|
32 |
+
if ( 'yes' === apply_filters( 'booster_option', 'no', get_option( 'wcj_shipping_calculator_labels_enabled', 'no' ) ) ) {
|
33 |
add_action( 'wp_enqueue_scripts', array( $this, 'change_labels' ) );
|
34 |
}
|
35 |
}
|
includes/class-wcj-shipping-options.php
CHANGED
@@ -18,6 +18,8 @@ class WCJ_Shipping_Options extends WCJ_Module {
|
|
18 |
*
|
19 |
* @version 3.2.4
|
20 |
* @since 2.9.0
|
|
|
|
|
21 |
*/
|
22 |
function __construct() {
|
23 |
|
@@ -67,7 +69,7 @@ class WCJ_Shipping_Options extends WCJ_Module {
|
|
67 |
if ( empty( $free_shipping_granting_products ) ) {
|
68 |
return $is_available;
|
69 |
}
|
70 |
-
$free_shipping_granting_products_type = apply_filters( '
|
71 |
$package_grants_free_shipping = false;
|
72 |
foreach( $package['contents'] as $item ) {
|
73 |
if ( in_array( $item['product_id'], $free_shipping_granting_products ) ) {
|
@@ -92,7 +94,7 @@ class WCJ_Shipping_Options extends WCJ_Module {
|
|
92 |
* @since 2.5.6
|
93 |
*/
|
94 |
function shipping_icon( $label, $method ) {
|
95 |
-
$shipping_icons_visibility = apply_filters( '
|
96 |
if ( 'checkout_only' === $shipping_icons_visibility && is_cart() ) {
|
97 |
return $label;
|
98 |
}
|
@@ -114,7 +116,7 @@ class WCJ_Shipping_Options extends WCJ_Module {
|
|
114 |
* @since 2.5.6
|
115 |
*/
|
116 |
function shipping_description( $label, $method ) {
|
117 |
-
$shipping_descriptions_visibility = apply_filters( '
|
118 |
if ( 'checkout_only' === $shipping_descriptions_visibility && is_cart() ) {
|
119 |
return $label;
|
120 |
}
|
@@ -141,12 +143,12 @@ class WCJ_Shipping_Options extends WCJ_Module {
|
|
141 |
$free_shipping_rates[ $rate_key ] = $rate;
|
142 |
} else {
|
143 |
if (
|
144 |
-
'except_local_pickup' === apply_filters( '
|
145 |
false !== strpos( $rate_key, 'local_pickup' )
|
146 |
) {
|
147 |
$free_shipping_rates[ $rate_key ] = $rate;
|
148 |
} elseif (
|
149 |
-
'flat_rate_only' === apply_filters( '
|
150 |
false === strpos( $rate_key, 'flat_rate' )
|
151 |
) {
|
152 |
$free_shipping_rates[ $rate_key ] = $rate;
|
@@ -185,8 +187,8 @@ class WCJ_Shipping_Options extends WCJ_Module {
|
|
185 |
'except_local_pickup' => __( 'Hide all except "Local Pickup"', 'woocommerce-jetpack' ),
|
186 |
'flat_rate_only' => __( 'Hide "Flat Rate" only', 'woocommerce-jetpack' ),
|
187 |
),
|
188 |
-
'desc' => apply_filters( '
|
189 |
-
'custom_attributes' => apply_filters( '
|
190 |
),
|
191 |
) );
|
192 |
}
|
18 |
*
|
19 |
* @version 3.2.4
|
20 |
* @since 2.9.0
|
21 |
+
* @todo (maybe) move "Display radio buttons instead of drop box for variable products" to new module(s)
|
22 |
+
* @todo (maybe) remove (or at least mark ass deprecated) "Grant free shipping on per product basis" (offer to use "Shipping Methods by Products" module instead)
|
23 |
*/
|
24 |
function __construct() {
|
25 |
|
69 |
if ( empty( $free_shipping_granting_products ) ) {
|
70 |
return $is_available;
|
71 |
}
|
72 |
+
$free_shipping_granting_products_type = apply_filters( 'booster_option', 'all', get_option( 'wcj_shipping_free_shipping_by_product_type', 'all' ) );
|
73 |
$package_grants_free_shipping = false;
|
74 |
foreach( $package['contents'] as $item ) {
|
75 |
if ( in_array( $item['product_id'], $free_shipping_granting_products ) ) {
|
94 |
* @since 2.5.6
|
95 |
*/
|
96 |
function shipping_icon( $label, $method ) {
|
97 |
+
$shipping_icons_visibility = apply_filters( 'booster_option', 'both', get_option( 'wcj_shipping_icons_visibility', 'both' ) );
|
98 |
if ( 'checkout_only' === $shipping_icons_visibility && is_cart() ) {
|
99 |
return $label;
|
100 |
}
|
116 |
* @since 2.5.6
|
117 |
*/
|
118 |
function shipping_description( $label, $method ) {
|
119 |
+
$shipping_descriptions_visibility = apply_filters( 'booster_option', 'both', get_option( 'wcj_shipping_descriptions_visibility', 'both' ) );
|
120 |
if ( 'checkout_only' === $shipping_descriptions_visibility && is_cart() ) {
|
121 |
return $label;
|
122 |
}
|
143 |
$free_shipping_rates[ $rate_key ] = $rate;
|
144 |
} else {
|
145 |
if (
|
146 |
+
'except_local_pickup' === apply_filters( 'booster_option', 'hide_all', get_option( 'wcj_shipping_hide_if_free_available_type', 'hide_all' ) ) &&
|
147 |
false !== strpos( $rate_key, 'local_pickup' )
|
148 |
) {
|
149 |
$free_shipping_rates[ $rate_key ] = $rate;
|
150 |
} elseif (
|
151 |
+
'flat_rate_only' === apply_filters( 'booster_option', 'hide_all', get_option( 'wcj_shipping_hide_if_free_available_type', 'hide_all' ) ) &&
|
152 |
false === strpos( $rate_key, 'flat_rate' )
|
153 |
) {
|
154 |
$free_shipping_rates[ $rate_key ] = $rate;
|
187 |
'except_local_pickup' => __( 'Hide all except "Local Pickup"', 'woocommerce-jetpack' ),
|
188 |
'flat_rate_only' => __( 'Hide "Flat Rate" only', 'woocommerce-jetpack' ),
|
189 |
),
|
190 |
+
'desc' => apply_filters( 'booster_message', '', 'desc' ),
|
191 |
+
'custom_attributes' => apply_filters( 'booster_message', '', 'disabled' ),
|
192 |
),
|
193 |
) );
|
194 |
}
|
includes/class-wcj-sku.php
CHANGED
@@ -115,12 +115,12 @@ class WCJ_SKU extends WCJ_Module {
|
|
115 |
*/
|
116 |
function set_sku_with_variable( $product_id, $is_preview ) {
|
117 |
|
118 |
-
/* if ( 'random' === apply_filters( '
|
119 |
$sku_number = rand();
|
120 |
} */
|
121 |
-
if ( 'sequential' === apply_filters( '
|
122 |
$sku_number = $this->get_sequential_counter( $product_id );
|
123 |
-
} elseif ( 'hash_crc32' === apply_filters( '
|
124 |
$sku_number = sprintf( "%u", crc32( $product_id ) );
|
125 |
} else { // if 'product_id'
|
126 |
$sku_number = $product_id;
|
@@ -131,7 +131,7 @@ class WCJ_SKU extends WCJ_Module {
|
|
131 |
$this->set_sku( $product_id, $sku_number, '', $is_preview, $product_id, $product );
|
132 |
|
133 |
// Handling variable products
|
134 |
-
$variation_handling = apply_filters( '
|
135 |
if ( $product->is_type( 'variable' ) ) {
|
136 |
$variations = $this->get_all_variations( $product );
|
137 |
if ( 'as_variable' === $variation_handling ) {
|
@@ -140,9 +140,9 @@ class WCJ_SKU extends WCJ_Module {
|
|
140 |
}
|
141 |
} elseif ( 'as_variation' === $variation_handling ) {
|
142 |
foreach ( $variations as $variation ) {
|
143 |
-
if ( 'sequential' === apply_filters( '
|
144 |
$sku_number = $this->get_sequential_counter( $product_id );
|
145 |
-
} elseif ( 'hash_crc32' === apply_filters( '
|
146 |
$sku_number = sprintf( "%u", crc32( $variation['variation_id'] ) );
|
147 |
} else { // if 'product_id'
|
148 |
$sku_number = $variation['variation_id'];
|
@@ -189,7 +189,7 @@ class WCJ_SKU extends WCJ_Module {
|
|
189 |
$format_template = get_option( 'wcj_sku_template',
|
190 |
'{category_prefix}{prefix}{sku_number}{suffix}{category_suffix}{variation_suffix}' );
|
191 |
$replace_values = array(
|
192 |
-
'{category_prefix}' => apply_filters( '
|
193 |
// '{tag_prefix}' => $tag_prefix,
|
194 |
'{prefix}' => get_option( 'wcj_sku_prefix', '' ),
|
195 |
'{sku_number}' => sprintf( '%0' . get_option( 'wcj_sku_minimum_number_length', 0 ) . 's', $sku_number ),
|
@@ -221,8 +221,8 @@ class WCJ_SKU extends WCJ_Module {
|
|
221 |
* @since 2.9.0
|
222 |
*/
|
223 |
function maybe_get_sequential_counters() {
|
224 |
-
if ( 'sequential' === apply_filters( '
|
225 |
-
$this->sequential_counter = apply_filters( '
|
226 |
if ( 'yes' === get_option( 'wcj_sku_number_generation_sequential_by_cat', 'no' ) ) {
|
227 |
$this->product_categories = get_terms( 'product_cat', 'orderby=name&hide_empty=0' );
|
228 |
if ( ! empty( $this->product_categories ) && ! is_wp_error( $this->product_categories ) ) {
|
@@ -241,7 +241,7 @@ class WCJ_SKU extends WCJ_Module {
|
|
241 |
* @since 2.9.0
|
242 |
*/
|
243 |
function maybe_save_sequential_counters( $is_preview = false ) {
|
244 |
-
if ( 'sequential' === apply_filters( '
|
245 |
update_option( 'wcj_sku_number_generation_sequential', $this->sequential_counter );
|
246 |
if ( 'yes' === get_option( 'wcj_sku_number_generation_sequential_by_cat', 'no' ) ) {
|
247 |
if ( ! empty( $this->product_categories ) && ! is_wp_error( $this->product_categories ) ) {
|
115 |
*/
|
116 |
function set_sku_with_variable( $product_id, $is_preview ) {
|
117 |
|
118 |
+
/* if ( 'random' === apply_filters( 'booster_option', 'product_id', get_option( 'wcj_sku_number_generation', 'product_id' ) ) ) {
|
119 |
$sku_number = rand();
|
120 |
} */
|
121 |
+
if ( 'sequential' === apply_filters( 'booster_option', 'product_id', get_option( 'wcj_sku_number_generation', 'product_id' ) ) ) {
|
122 |
$sku_number = $this->get_sequential_counter( $product_id );
|
123 |
+
} elseif ( 'hash_crc32' === apply_filters( 'booster_option', 'product_id', get_option( 'wcj_sku_number_generation', 'product_id' ) ) ) {
|
124 |
$sku_number = sprintf( "%u", crc32( $product_id ) );
|
125 |
} else { // if 'product_id'
|
126 |
$sku_number = $product_id;
|
131 |
$this->set_sku( $product_id, $sku_number, '', $is_preview, $product_id, $product );
|
132 |
|
133 |
// Handling variable products
|
134 |
+
$variation_handling = apply_filters( 'booster_option', 'as_variable', get_option( 'wcj_sku_variations_handling', 'as_variable' ) );
|
135 |
if ( $product->is_type( 'variable' ) ) {
|
136 |
$variations = $this->get_all_variations( $product );
|
137 |
if ( 'as_variable' === $variation_handling ) {
|
140 |
}
|
141 |
} elseif ( 'as_variation' === $variation_handling ) {
|
142 |
foreach ( $variations as $variation ) {
|
143 |
+
if ( 'sequential' === apply_filters( 'booster_option', 'product_id', get_option( 'wcj_sku_number_generation', 'product_id' ) ) ) {
|
144 |
$sku_number = $this->get_sequential_counter( $product_id );
|
145 |
+
} elseif ( 'hash_crc32' === apply_filters( 'booster_option', 'product_id', get_option( 'wcj_sku_number_generation', 'product_id' ) ) ) {
|
146 |
$sku_number = sprintf( "%u", crc32( $variation['variation_id'] ) );
|
147 |
} else { // if 'product_id'
|
148 |
$sku_number = $variation['variation_id'];
|
189 |
$format_template = get_option( 'wcj_sku_template',
|
190 |
'{category_prefix}{prefix}{sku_number}{suffix}{category_suffix}{variation_suffix}' );
|
191 |
$replace_values = array(
|
192 |
+
'{category_prefix}' => apply_filters( 'booster_option', '', $category_prefix ),
|
193 |
// '{tag_prefix}' => $tag_prefix,
|
194 |
'{prefix}' => get_option( 'wcj_sku_prefix', '' ),
|
195 |
'{sku_number}' => sprintf( '%0' . get_option( 'wcj_sku_minimum_number_length', 0 ) . 's', $sku_number ),
|
221 |
* @since 2.9.0
|
222 |
*/
|
223 |
function maybe_get_sequential_counters() {
|
224 |
+
if ( 'sequential' === apply_filters( 'booster_option', 'product_id', get_option( 'wcj_sku_number_generation', 'product_id' ) ) ) {
|
225 |
+
$this->sequential_counter = apply_filters( 'booster_option', 1, get_option( 'wcj_sku_number_generation_sequential', 1 ) );
|
226 |
if ( 'yes' === get_option( 'wcj_sku_number_generation_sequential_by_cat', 'no' ) ) {
|
227 |
$this->product_categories = get_terms( 'product_cat', 'orderby=name&hide_empty=0' );
|
228 |
if ( ! empty( $this->product_categories ) && ! is_wp_error( $this->product_categories ) ) {
|
241 |
* @since 2.9.0
|
242 |
*/
|
243 |
function maybe_save_sequential_counters( $is_preview = false ) {
|
244 |
+
if ( 'sequential' === apply_filters( 'booster_option', 'product_id', get_option( 'wcj_sku_number_generation', 'product_id' ) ) && ! $is_preview ) {
|
245 |
update_option( 'wcj_sku_number_generation_sequential', $this->sequential_counter );
|
246 |
if ( 'yes' === get_option( 'wcj_sku_number_generation_sequential_by_cat', 'no' ) ) {
|
247 |
if ( ! empty( $this->product_categories ) && ! is_wp_error( $this->product_categories ) ) {
|
includes/class-wcj-sorting.php
CHANGED
@@ -28,7 +28,7 @@ class WCJ_Sorting extends WCJ_Module {
|
|
28 |
|
29 |
if ( $this->is_enabled() ) {
|
30 |
|
31 |
-
if ( 'yes' === apply_filters( '
|
32 |
// Remove All Sorting
|
33 |
add_action( 'wp_loaded', array( $this, 'remove_sorting' ), PHP_INT_MAX );
|
34 |
add_filter( 'wc_get_template', array( $this, 'remove_sorting_template' ), PHP_INT_MAX, 5 );
|
@@ -43,7 +43,7 @@ class WCJ_Sorting extends WCJ_Module {
|
|
43 |
}
|
44 |
|
45 |
// Remove or Rename Default Sorting
|
46 |
-
if ( 'yes' === apply_filters( '
|
47 |
add_filter( 'woocommerce_catalog_orderby', array( $this, 'remove_default_sortings' ), PHP_INT_MAX );
|
48 |
add_filter( 'woocommerce_catalog_orderby', array( $this, 'rename_default_sortings' ), PHP_INT_MAX );
|
49 |
add_filter( 'woocommerce_default_catalog_orderby_options', array( $this, 'remove_default_sortings' ), PHP_INT_MAX );
|
@@ -107,7 +107,7 @@ class WCJ_Sorting extends WCJ_Module {
|
|
107 |
$default_sortings = $this->get_woocommerce_default_sortings();
|
108 |
foreach ( $default_sortings as $sorting_key => $sorting_desc ) {
|
109 |
$option_key = str_replace( '-', '_', $sorting_key );
|
110 |
-
if ( 'yes' === apply_filters( '
|
111 |
unset( $sortby[ $sorting_key ] );
|
112 |
}
|
113 |
}
|
@@ -125,7 +125,7 @@ class WCJ_Sorting extends WCJ_Module {
|
|
125 |
foreach ( $default_sortings as $sorting_key => $sorting_desc ) {
|
126 |
$option_key = str_replace( '-', '_', $sorting_key );
|
127 |
if ( isset( $sortby[ $sorting_key ] ) ) {
|
128 |
-
$sortby[ $sorting_key ] = apply_filters( '
|
129 |
get_option( 'wcj_sorting_default_sorting_' . $option_key, $sorting_desc ) );
|
130 |
}
|
131 |
}
|
@@ -242,13 +242,13 @@ class WCJ_Sorting extends WCJ_Module {
|
|
242 |
$args['meta_key'] = '';
|
243 |
break;
|
244 |
case 'sku_asc':
|
245 |
-
$args['orderby'] = ( 'no' === apply_filters( '
|
246 |
'meta_value' : 'meta_value_num';
|
247 |
$args['order'] = 'asc';
|
248 |
$args['meta_key'] = '_sku';
|
249 |
break;
|
250 |
case 'sku_desc':
|
251 |
-
$args['orderby'] = ( 'no' === apply_filters( '
|
252 |
'meta_value' : 'meta_value_num';
|
253 |
$args['order'] = 'desc';
|
254 |
$args['meta_key'] = '_sku';
|
28 |
|
29 |
if ( $this->is_enabled() ) {
|
30 |
|
31 |
+
if ( 'yes' === apply_filters( 'booster_option', 'no', get_option( 'wcj_sorting_remove_all_enabled', 'no' ) ) ) {
|
32 |
// Remove All Sorting
|
33 |
add_action( 'wp_loaded', array( $this, 'remove_sorting' ), PHP_INT_MAX );
|
34 |
add_filter( 'wc_get_template', array( $this, 'remove_sorting_template' ), PHP_INT_MAX, 5 );
|
43 |
}
|
44 |
|
45 |
// Remove or Rename Default Sorting
|
46 |
+
if ( 'yes' === apply_filters( 'booster_option', 'no', get_option( 'wcj_sorting_default_sorting_enabled', 'no' ) ) ) {
|
47 |
add_filter( 'woocommerce_catalog_orderby', array( $this, 'remove_default_sortings' ), PHP_INT_MAX );
|
48 |
add_filter( 'woocommerce_catalog_orderby', array( $this, 'rename_default_sortings' ), PHP_INT_MAX );
|
49 |
add_filter( 'woocommerce_default_catalog_orderby_options', array( $this, 'remove_default_sortings' ), PHP_INT_MAX );
|
107 |
$default_sortings = $this->get_woocommerce_default_sortings();
|
108 |
foreach ( $default_sortings as $sorting_key => $sorting_desc ) {
|
109 |
$option_key = str_replace( '-', '_', $sorting_key );
|
110 |
+
if ( 'yes' === apply_filters( 'booster_option', 'no', get_option( 'wcj_sorting_default_sorting_' . $option_key . '_disable', 'no' ) ) ) {
|
111 |
unset( $sortby[ $sorting_key ] );
|
112 |
}
|
113 |
}
|
125 |
foreach ( $default_sortings as $sorting_key => $sorting_desc ) {
|
126 |
$option_key = str_replace( '-', '_', $sorting_key );
|
127 |
if ( isset( $sortby[ $sorting_key ] ) ) {
|
128 |
+
$sortby[ $sorting_key ] = apply_filters( 'booster_option', $sorting_desc,
|
129 |
get_option( 'wcj_sorting_default_sorting_' . $option_key, $sorting_desc ) );
|
130 |
}
|
131 |
}
|
242 |
$args['meta_key'] = '';
|
243 |
break;
|
244 |
case 'sku_asc':
|
245 |
+
$args['orderby'] = ( 'no' === apply_filters( 'booster_option', 'no', get_option( 'wcj_sorting_by_sku_num_enabled', 'no' ) ) ) ?
|
246 |
'meta_value' : 'meta_value_num';
|
247 |
$args['order'] = 'asc';
|
248 |
$args['meta_key'] = '_sku';
|
249 |
break;
|
250 |
case 'sku_desc':
|
251 |
+
$args['orderby'] = ( 'no' === apply_filters( 'booster_option', 'no', get_option( 'wcj_sorting_by_sku_num_enabled', 'no' ) ) ) ?
|
252 |
'meta_value' : 'meta_value_num';
|
253 |
$args['order'] = 'desc';
|
254 |
$args['meta_key'] = '_sku';
|
includes/class-wcj-track-users.php
CHANGED
@@ -48,7 +48,7 @@ class WCJ_User_Tracking extends WCJ_Module {
|
|
48 |
add_action( 'admin_init', array( $this, 'track_users_update_county_stats' ) );
|
49 |
}
|
50 |
// Order tracking
|
51 |
-
if ( 'yes' === apply_filters( '
|
52 |
add_action( 'woocommerce_new_order', array( $this, 'add_http_referer_to_order' ) );
|
53 |
add_action( 'add_meta_boxes', array( $this, 'add_http_referer_order_meta_box' ) );
|
54 |
}
|
48 |
add_action( 'admin_init', array( $this, 'track_users_update_county_stats' ) );
|
49 |
}
|
50 |
// Order tracking
|
51 |
+
if ( 'yes' === apply_filters( 'booster_option', 'no', get_option( 'wcj_track_users_save_order_http_referer_enabled', 'no' ) ) ) {
|
52 |
add_action( 'woocommerce_new_order', array( $this, 'add_http_referer_to_order' ) );
|
53 |
add_action( 'add_meta_boxes', array( $this, 'add_http_referer_order_meta_box' ) );
|
54 |
}
|
includes/class-wcj-url-coupons.php
CHANGED
@@ -61,7 +61,7 @@ class WCJ_URL_Coupons extends WCJ_Module {
|
|
61 |
* @since 2.9.1
|
62 |
*/
|
63 |
function get_redirect_url( $arg_key ) {
|
64 |
-
switch ( apply_filters( '
|
65 |
case 'cart':
|
66 |
return wc_get_cart_url();
|
67 |
case 'checkout':
|
@@ -81,7 +81,7 @@ class WCJ_URL_Coupons extends WCJ_Module {
|
|
81 |
* @todo (maybe) check if coupon is valid
|
82 |
*/
|
83 |
function maybe_add_products_to_cart( $coupon_code ) {
|
84 |
-
if ( 'no' === apply_filters( '
|
85 |
return false;
|
86 |
}
|
87 |
// Coupons are globally disabled.
|
61 |
* @since 2.9.1
|
62 |
*/
|
63 |
function get_redirect_url( $arg_key ) {
|
64 |
+
switch ( apply_filters( 'booster_option', 'no', get_option( 'wcj_url_coupons_redirect', 'no' ) ) ) {
|
65 |
case 'cart':
|
66 |
return wc_get_cart_url();
|
67 |
case 'checkout':
|
81 |
* @todo (maybe) check if coupon is valid
|
82 |
*/
|
83 |
function maybe_add_products_to_cart( $coupon_code ) {
|
84 |
+
if ( 'no' === apply_filters( 'booster_option', 'no', get_option( 'wcj_url_coupons_fixed_product_discount_add_products', 'no' ) ) ) {
|
85 |
return false;
|
86 |
}
|
87 |
// Coupons are globally disabled.
|
includes/class-wcj-wholesale-price.php
CHANGED
@@ -2,7 +2,7 @@
|
|
2 |
/**
|
3 |
* Booster for WooCommerce - Module - Wholesale Price
|
4 |
*
|
5 |
-
* @version 3.
|
6 |
* @since 2.2.0
|
7 |
* @author Algoritmika Ltd.
|
8 |
* @todo per variation
|
@@ -116,7 +116,7 @@ class WCJ_Wholesale_Price extends WCJ_Module {
|
|
116 |
$max_qty_level = 1;
|
117 |
$discount = 0;
|
118 |
if ( wcj_is_product_wholesale_enabled_per_product( $product_id ) ) {
|
119 |
-
for ( $i = 1; $i <= apply_filters( '
|
120 |
$level_qty = get_post_meta( $product_id, '_' . 'wcj_wholesale_price_level_min_qty' . $role_option_name_addon . '_' . $i, true );
|
121 |
if ( $quantity >= $level_qty && $level_qty >= $max_qty_level ) {
|
122 |
$max_qty_level = $level_qty;
|
@@ -124,7 +124,7 @@ class WCJ_Wholesale_Price extends WCJ_Module {
|
|
124 |
}
|
125 |
}
|
126 |
} else {
|
127 |
-
for ( $i = 1; $i <= apply_filters( '
|
128 |
$level_qty = get_option( 'wcj_wholesale_price_level_min_qty' . $role_option_name_addon . '_' . $i, PHP_INT_MAX );
|
129 |
if ( $quantity >= $level_qty && $level_qty >= $max_qty_level ) {
|
130 |
$max_qty_level = $level_qty;
|
@@ -173,8 +173,9 @@ class WCJ_Wholesale_Price extends WCJ_Module {
|
|
173 |
/**
|
174 |
* calculate_totals.
|
175 |
*
|
176 |
-
* @version 3.
|
177 |
* @since 2.5.0
|
|
|
178 |
*/
|
179 |
function calculate_totals( $cart ) {
|
180 |
|
@@ -212,12 +213,13 @@ class WCJ_Wholesale_Price extends WCJ_Module {
|
|
212 |
: $item['quantity'];
|
213 |
if ( $the_quantity > 0 ) {
|
214 |
$wholesale_price = $this->get_wholesale_price( $price, $the_quantity, wcj_get_product_id_or_variation_parent_id( $_product ) );
|
|
|
|
|
|
|
215 |
if ( $wholesale_price != $price ) {
|
216 |
// Setting wholesale price
|
217 |
-
$
|
218 |
-
$wcj_wholesale_price
|
219 |
-
WC()->cart->cart_contents[ $item_key ]['data']->wcj_wholesale_price = $wcj_wholesale_price;
|
220 |
-
WC()->cart->cart_contents[ $item_key ]['wcj_wholesale_price'] = $wcj_wholesale_price;
|
221 |
WC()->cart->cart_contents[ $item_key ]['wcj_wholesale_price_old'] = $price_old;
|
222 |
}
|
223 |
}
|
2 |
/**
|
3 |
* Booster for WooCommerce - Module - Wholesale Price
|
4 |
*
|
5 |
+
* @version 3.3.0
|
6 |
* @since 2.2.0
|
7 |
* @author Algoritmika Ltd.
|
8 |
* @todo per variation
|
116 |
$max_qty_level = 1;
|
117 |
$discount = 0;
|
118 |
if ( wcj_is_product_wholesale_enabled_per_product( $product_id ) ) {
|
119 |
+
for ( $i = 1; $i <= apply_filters( 'booster_option', 1, get_post_meta( $product_id, '_' . 'wcj_wholesale_price_levels_number' . $role_option_name_addon, true ) ); $i++ ) {
|
120 |
$level_qty = get_post_meta( $product_id, '_' . 'wcj_wholesale_price_level_min_qty' . $role_option_name_addon . '_' . $i, true );
|
121 |
if ( $quantity >= $level_qty && $level_qty >= $max_qty_level ) {
|
122 |
$max_qty_level = $level_qty;
|
124 |
}
|
125 |
}
|
126 |
} else {
|
127 |
+
for ( $i = 1; $i <= apply_filters( 'booster_option', 1, get_option( 'wcj_wholesale_price_levels_number' . $role_option_name_addon, 1 ) ); $i++ ) {
|
128 |
$level_qty = get_option( 'wcj_wholesale_price_level_min_qty' . $role_option_name_addon . '_' . $i, PHP_INT_MAX );
|
129 |
if ( $quantity >= $level_qty && $level_qty >= $max_qty_level ) {
|
130 |
$max_qty_level = $level_qty;
|
173 |
/**
|
174 |
* calculate_totals.
|
175 |
*
|
176 |
+
* @version 3.3.0
|
177 |
* @since 2.5.0
|
178 |
+
* @todo `$price_old` must be price to display *in cart* (now it's *in shop*)
|
179 |
*/
|
180 |
function calculate_totals( $cart ) {
|
181 |
|
213 |
: $item['quantity'];
|
214 |
if ( $the_quantity > 0 ) {
|
215 |
$wholesale_price = $this->get_wholesale_price( $price, $the_quantity, wcj_get_product_id_or_variation_parent_id( $_product ) );
|
216 |
+
if ( 'yes' === get_option( 'wcj_wholesale_price_rounding_enabled', 'yes' ) ) {
|
217 |
+
$wholesale_price = round( $wholesale_price, get_option( 'woocommerce_price_num_decimals', 2 ) );
|
218 |
+
}
|
219 |
if ( $wholesale_price != $price ) {
|
220 |
// Setting wholesale price
|
221 |
+
WC()->cart->cart_contents[ $item_key ]['data']->wcj_wholesale_price = $wholesale_price;
|
222 |
+
WC()->cart->cart_contents[ $item_key ]['wcj_wholesale_price'] = $wholesale_price;
|
|
|
|
|
223 |
WC()->cart->cart_contents[ $item_key ]['wcj_wholesale_price_old'] = $price_old;
|
224 |
}
|
225 |
}
|
includes/classes/class-wcj-module-shipping-by-condition.php
CHANGED
@@ -33,7 +33,7 @@ class WCJ_Module_Shipping_By_Condition extends WCJ_Module {
|
|
33 |
*
|
34 |
* @version 3.2.1
|
35 |
* @since 3.2.0
|
36 |
-
* @todo apply_filters( '
|
37 |
*/
|
38 |
function available_shipping_methods( $rates, $package ) {
|
39 |
foreach ( $rates as $rate_key => $rate ) {
|
33 |
*
|
34 |
* @version 3.2.1
|
35 |
* @since 3.2.0
|
36 |
+
* @todo apply_filters( 'booster_option' )
|
37 |
*/
|
38 |
function available_shipping_methods( $rates, $package ) {
|
39 |
foreach ( $rates as $rate_key => $rate ) {
|
includes/classes/class-wcj-module.php
CHANGED
@@ -2,7 +2,7 @@
|
|
2 |
/**
|
3 |
* Booster for WooCommerce Module
|
4 |
*
|
5 |
-
* @version 3.
|
6 |
* @since 2.2.0
|
7 |
* @author Algoritmika Ltd.
|
8 |
*/
|
@@ -43,7 +43,7 @@ if ( ! class_exists( 'WCJ_Module' ) ) :
|
|
43 |
* @since 2.9.1
|
44 |
*/
|
45 |
function save_meta_box_validate_value( $option_value, $option_name, $module_id ) {
|
46 |
-
if ( true === apply_filters( '
|
47 |
return $option_value;
|
48 |
}
|
49 |
if ( 'no' === $option_value ) {
|
@@ -165,7 +165,7 @@ if ( ! class_exists( 'WCJ_Module' ) ) :
|
|
165 |
* @since 2.5.3
|
166 |
*/
|
167 |
function save_meta_box_value( $option_value, $option_name, $module_id ) {
|
168 |
-
if ( true === apply_filters( '
|
169 |
return $option_value;
|
170 |
}
|
171 |
if ( 'no' === $option_value ) {
|
@@ -303,7 +303,7 @@ if ( ! class_exists( 'WCJ_Module' ) ) :
|
|
303 |
/**
|
304 |
* create_meta_box.
|
305 |
*
|
306 |
-
* @version 3.
|
307 |
* @todo `placeholder` for textarea
|
308 |
* @todo `class` for all types (now only for select)
|
309 |
* @todo `show_value` for all types (now only for multiple select)
|
@@ -317,7 +317,7 @@ if ( ! class_exists( 'WCJ_Module' ) ) :
|
|
317 |
if ( $is_enabled ) {
|
318 |
if ( 'title' === $option['type'] ) {
|
319 |
$html .= '<tr>';
|
320 |
-
$html .= '<th colspan="3" style="text-align:left;font-weight:bold;">' . $option['title'] . '</th>';
|
321 |
$html .= '</tr>';
|
322 |
} else {
|
323 |
$custom_attributes = '';
|
@@ -390,7 +390,7 @@ if ( ! class_exists( 'WCJ_Module' ) ) :
|
|
390 |
break;
|
391 |
}
|
392 |
$html .= '<tr>';
|
393 |
-
$maybe_tooltip = ( isset( $option['tooltip'] ) && '' != $option['tooltip'] ) ? wc_help_tip( $option['tooltip'], true ) : '';
|
394 |
$html .= '<th style="text-align:left;width:25%;font-weight:bold;">' . $option['title'] . $maybe_tooltip . '</th>';
|
395 |
if ( isset( $option['desc'] ) && '' != $option['desc'] ) {
|
396 |
$html .= '<td style="font-style:italic;width:25%;">' . $option['desc'] . '</td>';
|
@@ -408,11 +408,10 @@ if ( ! class_exists( 'WCJ_Module' ) ) :
|
|
408 |
/**
|
409 |
* is_enabled.
|
410 |
*
|
411 |
-
* @version 3.
|
412 |
*/
|
413 |
function is_enabled() {
|
414 |
-
|
415 |
-
return ( 'yes' === get_option( 'wcj_' . $the_id . '_enabled', 'no' ) );
|
416 |
}
|
417 |
|
418 |
/**
|
2 |
/**
|
3 |
* Booster for WooCommerce Module
|
4 |
*
|
5 |
+
* @version 3.3.0
|
6 |
* @since 2.2.0
|
7 |
* @author Algoritmika Ltd.
|
8 |
*/
|
43 |
* @since 2.9.1
|
44 |
*/
|
45 |
function save_meta_box_validate_value( $option_value, $option_name, $module_id ) {
|
46 |
+
if ( true === apply_filters( 'booster_option', false, true ) ) {
|
47 |
return $option_value;
|
48 |
}
|
49 |
if ( 'no' === $option_value ) {
|
165 |
* @since 2.5.3
|
166 |
*/
|
167 |
function save_meta_box_value( $option_value, $option_name, $module_id ) {
|
168 |
+
if ( true === apply_filters( 'booster_option', false, true ) ) {
|
169 |
return $option_value;
|
170 |
}
|
171 |
if ( 'no' === $option_value ) {
|
303 |
/**
|
304 |
* create_meta_box.
|
305 |
*
|
306 |
+
* @version 3.3.0
|
307 |
* @todo `placeholder` for textarea
|
308 |
* @todo `class` for all types (now only for select)
|
309 |
* @todo `show_value` for all types (now only for multiple select)
|
317 |
if ( $is_enabled ) {
|
318 |
if ( 'title' === $option['type'] ) {
|
319 |
$html .= '<tr>';
|
320 |
+
$html .= '<th colspan="3" style="' . ( isset( $option['css'] ) ? $option['css'] : 'text-align:left;font-weight:bold;' ) . '">' . $option['title'] . '</th>';
|
321 |
$html .= '</tr>';
|
322 |
} else {
|
323 |
$custom_attributes = '';
|
390 |
break;
|
391 |
}
|
392 |
$html .= '<tr>';
|
393 |
+
$maybe_tooltip = ( isset( $option['tooltip'] ) && '' != $option['tooltip'] ) ? '<span style="float:right;">' . wc_help_tip( $option['tooltip'], true ) . '</span>' : '';
|
394 |
$html .= '<th style="text-align:left;width:25%;font-weight:bold;">' . $option['title'] . $maybe_tooltip . '</th>';
|
395 |
if ( isset( $option['desc'] ) && '' != $option['desc'] ) {
|
396 |
$html .= '<td style="font-style:italic;width:25%;">' . $option['desc'] . '</td>';
|
408 |
/**
|
409 |
* is_enabled.
|
410 |
*
|
411 |
+
* @version 3.3.0
|
412 |
*/
|
413 |
function is_enabled() {
|
414 |
+
return wcj_is_module_enabled( ( 'module' === $this->type ? $this->id : $this->parent_id ) );
|
|
|
415 |
}
|
416 |
|
417 |
/**
|
includes/core/class-wcj-admin.php
CHANGED
@@ -2,7 +2,7 @@
|
|
2 |
/**
|
3 |
* Booster for WooCommerce - Core - Admin
|
4 |
*
|
5 |
-
* @version 3.
|
6 |
* @since 3.2.4
|
7 |
* @author Algoritmika Ltd.
|
8 |
*/
|
@@ -21,7 +21,7 @@ class WCJ_Admin {
|
|
21 |
*/
|
22 |
function __construct() {
|
23 |
if ( is_admin() ) {
|
24 |
-
add_filter( '
|
25 |
add_filter( 'woocommerce_get_settings_pages', array( $this, 'add_wcj_settings_tab' ), 1 );
|
26 |
add_filter( 'plugin_action_links_' . plugin_basename( WCJ_PLUGIN_FILE ), array( $this, 'action_links' ) );
|
27 |
add_action( 'admin_menu', array( $this, 'booster_menu' ), 100 );
|
@@ -35,16 +35,16 @@ class WCJ_Admin {
|
|
35 |
/**
|
36 |
* check_plus_version.
|
37 |
*
|
38 |
-
* @version 3.
|
39 |
* @since 2.5.9
|
|
|
40 |
*/
|
41 |
function check_plus_version() {
|
42 |
if ( ! is_admin() ) {
|
43 |
return;
|
44 |
}
|
45 |
// Check if Plus is installed and activated
|
46 |
-
$
|
47 |
-
$is_plus_v3_active = false;
|
48 |
$active_plugins = apply_filters( 'active_plugins', get_option( 'active_plugins', array() ) );
|
49 |
if ( is_multisite() ) {
|
50 |
$active_plugins = array_merge( $active_plugins, array_keys( get_site_option( 'active_sitewide_plugins', array() ) ) );
|
@@ -53,33 +53,25 @@ class WCJ_Admin {
|
|
53 |
$active_plugin = explode( '/', $active_plugin );
|
54 |
if ( isset( $active_plugin[1] ) ) {
|
55 |
if ( 'booster-plus-for-woocommerce.php' === $active_plugin[1] ) {
|
56 |
-
|
57 |
-
break;
|
58 |
} elseif ( 'woocommerce-jetpack-plus.php' === $active_plugin[1] || 'woocommerce-booster-plus.php' === $active_plugin[1] ) {
|
59 |
-
$
|
60 |
}
|
61 |
}
|
62 |
}
|
63 |
// Check Plus version
|
64 |
-
if (
|
65 |
-
$
|
66 |
-
$
|
67 |
-
|
68 |
-
|
69 |
-
|
70 |
-
|
71 |
-
|
72 |
-
|
73 |
-
|
74 |
-
'https://booster.io/my-account/?utm_source=plus_update'
|
75 |
-
) :
|
76 |
-
sprintf(
|
77 |
-
__( 'There is new version of <strong>Booster Plus for WooCommerce</strong> plugin available. We recommend upgrading. Please visit <a target="_blank" href="%s">your account page</a> on booster.io to download the latest Booster Plus version.', 'woocommerce-jetpack' ),
|
78 |
-
'https://booster.io/my-account/?utm_source=plus_update'
|
79 |
-
)
|
80 |
);
|
81 |
-
|
82 |
-
}
|
83 |
}
|
84 |
}
|
85 |
|
@@ -120,7 +112,7 @@ class WCJ_Admin {
|
|
120 |
/**
|
121 |
* Show action links on the plugin screen
|
122 |
*
|
123 |
-
* @version 3.
|
124 |
* @param mixed $links
|
125 |
* @return array
|
126 |
*/
|
@@ -129,7 +121,7 @@ class WCJ_Admin {
|
|
129 |
'<a href="' . admin_url( 'admin.php?page=wc-settings&tab=jetpack' ) . '">' . __( 'Settings', 'woocommerce' ) . '</a>',
|
130 |
'<a href="' . esc_url( 'https://booster.io/' ) . '">' . __( 'Docs', 'woocommerce-jetpack' ) . '</a>',
|
131 |
);
|
132 |
-
if (
|
133 |
$custom_links[] = '<a href="' . esc_url( 'https://booster.io/plus/' ) . '">' . __( 'Unlock all', 'woocommerce-jetpack' ) . '</a>';
|
134 |
}
|
135 |
return array_merge( $custom_links, $links );
|
2 |
/**
|
3 |
* Booster for WooCommerce - Core - Admin
|
4 |
*
|
5 |
+
* @version 3.3.0
|
6 |
* @since 3.2.4
|
7 |
* @author Algoritmika Ltd.
|
8 |
*/
|
21 |
*/
|
22 |
function __construct() {
|
23 |
if ( is_admin() ) {
|
24 |
+
add_filter( 'booster_message', 'wcj_get_plus_message', 100, 3 );
|
25 |
add_filter( 'woocommerce_get_settings_pages', array( $this, 'add_wcj_settings_tab' ), 1 );
|
26 |
add_filter( 'plugin_action_links_' . plugin_basename( WCJ_PLUGIN_FILE ), array( $this, 'action_links' ) );
|
27 |
add_action( 'admin_menu', array( $this, 'booster_menu' ), 100 );
|
35 |
/**
|
36 |
* check_plus_version.
|
37 |
*
|
38 |
+
* @version 3.3.0
|
39 |
* @since 2.5.9
|
40 |
+
* @todo (maybe) expand "Please upgrade ..." message
|
41 |
*/
|
42 |
function check_plus_version() {
|
43 |
if ( ! is_admin() ) {
|
44 |
return;
|
45 |
}
|
46 |
// Check if Plus is installed and activated
|
47 |
+
$is_deprecated_plus_active = false;
|
|
|
48 |
$active_plugins = apply_filters( 'active_plugins', get_option( 'active_plugins', array() ) );
|
49 |
if ( is_multisite() ) {
|
50 |
$active_plugins = array_merge( $active_plugins, array_keys( get_site_option( 'active_sitewide_plugins', array() ) ) );
|
53 |
$active_plugin = explode( '/', $active_plugin );
|
54 |
if ( isset( $active_plugin[1] ) ) {
|
55 |
if ( 'booster-plus-for-woocommerce.php' === $active_plugin[1] ) {
|
56 |
+
return;
|
|
|
57 |
} elseif ( 'woocommerce-jetpack-plus.php' === $active_plugin[1] || 'woocommerce-booster-plus.php' === $active_plugin[1] ) {
|
58 |
+
$is_deprecated_plus_active = true;
|
59 |
}
|
60 |
}
|
61 |
}
|
62 |
// Check Plus version
|
63 |
+
if ( $is_deprecated_plus_active ) {
|
64 |
+
$class = 'notice notice-error';
|
65 |
+
$message = __( 'Please update <strong>Booster Plus for WooCommerce</strong> plugin.', 'woocommerce-jetpack' ) . ' ' .
|
66 |
+
sprintf(
|
67 |
+
__( 'Visit <a target="_blank" href="%s">your account page</a> on booster.io to download the latest Booster Plus version.', 'woocommerce-jetpack' ),
|
68 |
+
'https://booster.io/my-account/?utm_source=plus_update'
|
69 |
+
) . ' ' .
|
70 |
+
sprintf(
|
71 |
+
__( 'Click <a target="_blank" href="%s">here</a> for more info.', 'woocommerce-jetpack' ),
|
72 |
+
'https://booster.io/booster-plus-for-woocommerce-update/'
|
|
|
|
|
|
|
|
|
|
|
|
|
73 |
);
|
74 |
+
echo '<div class="' . $class . '"><p>' . $message . '</p></div>';
|
|
|
75 |
}
|
76 |
}
|
77 |
|
112 |
/**
|
113 |
* Show action links on the plugin screen
|
114 |
*
|
115 |
+
* @version 3.3.0
|
116 |
* @param mixed $links
|
117 |
* @return array
|
118 |
*/
|
121 |
'<a href="' . admin_url( 'admin.php?page=wc-settings&tab=jetpack' ) . '">' . __( 'Settings', 'woocommerce' ) . '</a>',
|
122 |
'<a href="' . esc_url( 'https://booster.io/' ) . '">' . __( 'Docs', 'woocommerce-jetpack' ) . '</a>',
|
123 |
);
|
124 |
+
if ( 'woocommerce-jetpack.php' === basename( WCJ_PLUGIN_FILE ) ) {
|
125 |
$custom_links[] = '<a href="' . esc_url( 'https://booster.io/plus/' ) . '">' . __( 'Unlock all', 'woocommerce-jetpack' ) . '</a>';
|
126 |
}
|
127 |
return array_merge( $custom_links, $links );
|
includes/{constants → core}/wcj-constants.php
RENAMED
@@ -2,7 +2,7 @@
|
|
2 |
/**
|
3 |
* Booster for WooCommerce Constants
|
4 |
*
|
5 |
-
* @version 3.
|
6 |
* @since 2.7.0
|
7 |
* @author Algoritmika Ltd.
|
8 |
*/
|
@@ -78,3 +78,14 @@ if ( ! defined( 'WCJ_SESSION_TYPE' ) ) {
|
|
78 |
*/
|
79 |
define( 'WCJ_SESSION_TYPE', ( 'yes' === get_option( 'wcj_general_enabled', 'no' ) ? get_option( 'wcj_general_advanced_session_type', 'standard' ) : 'standard' ) );
|
80 |
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2 |
/**
|
3 |
* Booster for WooCommerce Constants
|
4 |
*
|
5 |
+
* @version 3.3.0
|
6 |
* @since 2.7.0
|
7 |
* @author Algoritmika Ltd.
|
8 |
*/
|
78 |
*/
|
79 |
define( 'WCJ_SESSION_TYPE', ( 'yes' === get_option( 'wcj_general_enabled', 'no' ) ? get_option( 'wcj_general_advanced_session_type', 'standard' ) : 'standard' ) );
|
80 |
}
|
81 |
+
|
82 |
+
if ( ! defined( 'WCJ_VERSION_OPTION' ) ) {
|
83 |
+
/**
|
84 |
+
* Booster version option name.
|
85 |
+
*
|
86 |
+
* @version 3.3.0
|
87 |
+
* @since 3.3.0
|
88 |
+
* @todo (maybe) option should have `wcj_` prefix (however it will be deleted during "Reset", and "Booster was updated to v..." message will show up)
|
89 |
+
*/
|
90 |
+
define( 'WCJ_VERSION_OPTION', ( 'woocommerce-jetpack.php' === basename( WCJ_PLUGIN_FILE ) ? 'booster_for_woocommerce_version' : 'booster_plus_for_woocommerce_version' ) );
|
91 |
+
}
|
includes/core/wcj-functions.php
CHANGED
@@ -2,7 +2,7 @@
|
|
2 |
/**
|
3 |
* Booster for WooCommerce - Functions
|
4 |
*
|
5 |
-
* @version 3.
|
6 |
* @since 3.2.4
|
7 |
* @author Algoritmika Ltd.
|
8 |
*/
|
@@ -10,7 +10,7 @@
|
|
10 |
if ( ! defined( 'ABSPATH' ) ) exit;
|
11 |
|
12 |
$wcj_function_files = array(
|
13 |
-
'wcj-functions-core.php',
|
14 |
'wcj-functions-debug.php',
|
15 |
'wcj-functions-admin.php',
|
16 |
'wcj-functions-general.php',
|
2 |
/**
|
3 |
* Booster for WooCommerce - Functions
|
4 |
*
|
5 |
+
* @version 3.3.0
|
6 |
* @since 3.2.4
|
7 |
* @author Algoritmika Ltd.
|
8 |
*/
|
10 |
if ( ! defined( 'ABSPATH' ) ) exit;
|
11 |
|
12 |
$wcj_function_files = array(
|
13 |
+
'wcj-functions-booster-core.php',
|
14 |
'wcj-functions-debug.php',
|
15 |
'wcj-functions-admin.php',
|
16 |
'wcj-functions-general.php',
|
includes/core/wcj-loader.php
CHANGED
@@ -2,7 +2,7 @@
|
|
2 |
/**
|
3 |
* Booster for WooCommerce - Core - Loader
|
4 |
*
|
5 |
-
* @version 3.
|
6 |
* @since 3.2.4
|
7 |
* @author Algoritmika Ltd.
|
8 |
*/
|
@@ -27,7 +27,7 @@ load_plugin_textdomain( 'woocommerce-jetpack', false, dirname( plugin_basename(
|
|
27 |
// Include required core files used in admin and on the frontend
|
28 |
|
29 |
// Constants
|
30 |
-
require_once(
|
31 |
|
32 |
// Functions
|
33 |
require_once( 'wcj-functions.php' );
|
2 |
/**
|
3 |
* Booster for WooCommerce - Core - Loader
|
4 |
*
|
5 |
+
* @version 3.3.0
|
6 |
* @since 3.2.4
|
7 |
* @author Algoritmika Ltd.
|
8 |
*/
|
27 |
// Include required core files used in admin and on the frontend
|
28 |
|
29 |
// Constants
|
30 |
+
require_once( 'wcj-constants.php' );
|
31 |
|
32 |
// Functions
|
33 |
require_once( 'wcj-functions.php' );
|
includes/core/wcj-modules.php
CHANGED
@@ -2,7 +2,7 @@
|
|
2 |
/**
|
3 |
* Booster for WooCommerce - Modules
|
4 |
*
|
5 |
-
* @version 3.
|
6 |
* @since 3.2.4
|
7 |
* @author Algoritmika Ltd.
|
8 |
*/
|
@@ -22,6 +22,7 @@ $wcj_module_files = array(
|
|
22 |
'class-wcj-product-custom-info.php',
|
23 |
'class-wcj-product-info.php',
|
24 |
'class-wcj-product-add-to-cart.php',
|
|
|
25 |
'class-wcj-related-products.php',
|
26 |
'class-wcj-sku.php',
|
27 |
'class-wcj-stock.php',
|
@@ -109,6 +110,7 @@ $wcj_module_files = array(
|
|
109 |
'class-wcj-old-slugs.php',
|
110 |
'class-wcj-reports.php',
|
111 |
'class-wcj-wpml.php',
|
|
|
112 |
'pdf-invoices/submodules/class-wcj-pdf-invoicing-numbering.php',
|
113 |
'pdf-invoices/submodules/class-wcj-pdf-invoicing-templates.php',
|
114 |
'pdf-invoices/submodules/class-wcj-pdf-invoicing-styling.php',
|
@@ -117,6 +119,7 @@ $wcj_module_files = array(
|
|
117 |
'pdf-invoices/submodules/class-wcj-pdf-invoicing-page.php',
|
118 |
'pdf-invoices/submodules/class-wcj-pdf-invoicing-emails.php',
|
119 |
'pdf-invoices/submodules/class-wcj-pdf-invoicing-display.php',
|
|
|
120 |
);
|
121 |
|
122 |
$this->modules = array();
|
2 |
/**
|
3 |
* Booster for WooCommerce - Modules
|
4 |
*
|
5 |
+
* @version 3.3.0
|
6 |
* @since 3.2.4
|
7 |
* @author Algoritmika Ltd.
|
8 |
*/
|
22 |
'class-wcj-product-custom-info.php',
|
23 |
'class-wcj-product-info.php',
|
24 |
'class-wcj-product-add-to-cart.php',
|
25 |
+
'class-wcj-add-to-cart-button-visibility.php',
|
26 |
'class-wcj-related-products.php',
|
27 |
'class-wcj-sku.php',
|
28 |
'class-wcj-stock.php',
|
110 |
'class-wcj-old-slugs.php',
|
111 |
'class-wcj-reports.php',
|
112 |
'class-wcj-wpml.php',
|
113 |
+
'class-wcj-modules-by-user-roles.php',
|
114 |
'pdf-invoices/submodules/class-wcj-pdf-invoicing-numbering.php',
|
115 |
'pdf-invoices/submodules/class-wcj-pdf-invoicing-templates.php',
|
116 |
'pdf-invoices/submodules/class-wcj-pdf-invoicing-styling.php',
|
119 |
'pdf-invoices/submodules/class-wcj-pdf-invoicing-page.php',
|
120 |
'pdf-invoices/submodules/class-wcj-pdf-invoicing-emails.php',
|
121 |
'pdf-invoices/submodules/class-wcj-pdf-invoicing-display.php',
|
122 |
+
'pdf-invoices/submodules/class-wcj-pdf-invoicing-advanced.php',
|
123 |
);
|
124 |
|
125 |
$this->modules = array();
|
includes/core/wcj-options.php
CHANGED
@@ -2,7 +2,7 @@
|
|
2 |
/**
|
3 |
* Booster for WooCommerce - Core - Options
|
4 |
*
|
5 |
-
* @version 3.
|
6 |
* @since 3.2.4
|
7 |
* @author Algoritmika Ltd.
|
8 |
* @todo (maybe) this only loads Enable, Tools and Reset settings for each module
|
@@ -11,23 +11,13 @@
|
|
11 |
if ( ! defined( 'ABSPATH' ) ) exit;
|
12 |
|
13 |
if ( is_admin() ) {
|
14 |
-
// Modules statuses
|
15 |
-
$submodules_classes = array(
|
16 |
-
'WCJ_PDF_Invoicing_Display',
|
17 |
-
'WCJ_PDF_Invoicing_Emails',
|
18 |
-
'WCJ_PDF_Invoicing_Footer',
|
19 |
-
'WCJ_PDF_Invoicing_Header',
|
20 |
-
'WCJ_PDF_Invoicing_Numbering',
|
21 |
-
'WCJ_PDF_Invoicing_Page',
|
22 |
-
'WCJ_PDF_Invoicing_Styling',
|
23 |
-
'WCJ_PDF_Invoicing_Templates',
|
24 |
-
);
|
25 |
foreach ( $this->modules as $module ) {
|
26 |
-
|
|
|
27 |
$status_settings = $module->add_enable_module_setting( array() );
|
28 |
$this->module_statuses[] = $status_settings[1];
|
29 |
}
|
30 |
-
if ( get_option(
|
31 |
continue;
|
32 |
}
|
33 |
$values = $module->get_settings();
|
@@ -43,8 +33,8 @@ if ( is_admin() ) {
|
|
43 |
}
|
44 |
}
|
45 |
}
|
46 |
-
if ( get_option(
|
47 |
-
update_option(
|
48 |
add_action( 'admin_notices', 'wcj_admin_notices_version_updated' );
|
49 |
}
|
50 |
}
|
2 |
/**
|
3 |
* Booster for WooCommerce - Core - Options
|
4 |
*
|
5 |
+
* @version 3.3.0
|
6 |
* @since 3.2.4
|
7 |
* @author Algoritmika Ltd.
|
8 |
* @todo (maybe) this only loads Enable, Tools and Reset settings for each module
|
11 |
if ( ! defined( 'ABSPATH' ) ) exit;
|
12 |
|
13 |
if ( is_admin() ) {
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
14 |
foreach ( $this->modules as $module ) {
|
15 |
+
// Modules statuses
|
16 |
+
if ( '' == $module->parent_id ) { // i.e. not submodule
|
17 |
$status_settings = $module->add_enable_module_setting( array() );
|
18 |
$this->module_statuses[] = $status_settings[1];
|
19 |
}
|
20 |
+
if ( get_option( WCJ_VERSION_OPTION ) === $this->version ) {
|
21 |
continue;
|
22 |
}
|
23 |
$values = $module->get_settings();
|
33 |
}
|
34 |
}
|
35 |
}
|
36 |
+
if ( get_option( WCJ_VERSION_OPTION ) !== $this->version ) {
|
37 |
+
update_option( WCJ_VERSION_OPTION, $this->version );
|
38 |
add_action( 'admin_notices', 'wcj_admin_notices_version_updated' );
|
39 |
}
|
40 |
}
|
includes/core/wcj-shortcodes.php
CHANGED
@@ -2,7 +2,7 @@
|
|
2 |
/**
|
3 |
* Booster for WooCommerce - Shortcodes
|
4 |
*
|
5 |
-
* @version 3.
|
6 |
* @since 3.2.4
|
7 |
* @author Algoritmika Ltd.
|
8 |
*/
|
@@ -14,19 +14,19 @@ if ( ! wcj_is_module_enabled( 'general' ) || ( wcj_is_module_enabled( 'general'
|
|
14 |
include_once( WCJ_PLUGIN_PATH . '/includes/classes/class-wcj-shortcodes.php' );
|
15 |
|
16 |
$wcj_shortcodes_files = array(
|
17 |
-
'class-wcj-shortcodes-general.php',
|
18 |
-
'class-wcj-shortcodes-invoices.php',
|
19 |
-
'class-wcj-shortcodes-orders.php',
|
20 |
-
'class-wcj-shortcodes-order-items.php',
|
21 |
-
'class-wcj-shortcodes-products.php',
|
22 |
-
'class-wcj-shortcodes-products-crowdfunding.php',
|
23 |
-
'class-wcj-shortcodes-products-add-form.php',
|
24 |
-
'class-wcj-shortcodes-input-field.php',
|
25 |
);
|
26 |
|
27 |
$wcj_shortcodes_dir = WCJ_PLUGIN_PATH . '/includes/shortcodes/';
|
28 |
-
foreach ( $wcj_shortcodes_files as $wcj_shortcodes_file ) {
|
29 |
-
include_once( $wcj_shortcodes_dir . $wcj_shortcodes_file );
|
30 |
}
|
31 |
|
32 |
}
|
2 |
/**
|
3 |
* Booster for WooCommerce - Shortcodes
|
4 |
*
|
5 |
+
* @version 3.3.0
|
6 |
* @since 3.2.4
|
7 |
* @author Algoritmika Ltd.
|
8 |
*/
|
14 |
include_once( WCJ_PLUGIN_PATH . '/includes/classes/class-wcj-shortcodes.php' );
|
15 |
|
16 |
$wcj_shortcodes_files = array(
|
17 |
+
'general' => 'class-wcj-shortcodes-general.php',
|
18 |
+
'invoices' => 'class-wcj-shortcodes-invoices.php',
|
19 |
+
'orders' => 'class-wcj-shortcodes-orders.php',
|
20 |
+
'order_items' => 'class-wcj-shortcodes-order-items.php',
|
21 |
+
'products' => 'class-wcj-shortcodes-products.php',
|
22 |
+
'products_crowdfunding' => 'class-wcj-shortcodes-products-crowdfunding.php',
|
23 |
+
'products_add_form' => 'class-wcj-shortcodes-products-add-form.php',
|
24 |
+
'input_field' => 'class-wcj-shortcodes-input-field.php',
|
25 |
);
|
26 |
|
27 |
$wcj_shortcodes_dir = WCJ_PLUGIN_PATH . '/includes/shortcodes/';
|
28 |
+
foreach ( $wcj_shortcodes_files as $wcj_shortcodes_file_id => $wcj_shortcodes_file ) {
|
29 |
+
$this->shortcodes[ $wcj_shortcodes_file_id ] = include_once( $wcj_shortcodes_dir . $wcj_shortcodes_file );
|
30 |
}
|
31 |
|
32 |
}
|
includes/exchange-rates/class-wcj-exchange-rates-crons.php
CHANGED
@@ -86,8 +86,8 @@ class WCJ_Exchange_Rates_Crons {
|
|
86 |
|
87 |
if ( wcj_is_module_enabled( 'price_by_country' ) ) {
|
88 |
// Currency Pairs - Preparation - Price by Country
|
89 |
-
if ( 'manual' != apply_filters( '
|
90 |
-
for ( $i = 1; $i <= apply_filters( '
|
91 |
$currency_to = get_option( 'wcj_price_by_country_exchange_rate_currency_group_' . $i );
|
92 |
$currency_pairs = $this->get_currency_pair( $currency_pairs, $currency_to, 'wcj_price_by_country_exchange_rate_group_' . $i );
|
93 |
}
|
@@ -96,8 +96,8 @@ class WCJ_Exchange_Rates_Crons {
|
|
96 |
|
97 |
if ( wcj_is_module_enabled( 'multicurrency' ) ) {
|
98 |
// Currency Pairs - Preparation - Multicurrency
|
99 |
-
if ( 'manual' != apply_filters( '
|
100 |
-
for ( $i = 1; $i <= apply_filters( '
|
101 |
$currency_to = get_option( 'wcj_multicurrency_currency_' . $i );
|
102 |
$currency_pairs = $this->get_currency_pair( $currency_pairs, $currency_to, 'wcj_multicurrency_exchange_rate_' . $i );
|
103 |
}
|
@@ -106,8 +106,8 @@ class WCJ_Exchange_Rates_Crons {
|
|
106 |
|
107 |
if ( wcj_is_module_enabled( 'multicurrency_base_price' ) ) {
|
108 |
// Currency Pairs - Preparation - Multicurrency Product Base Price
|
109 |
-
if ( 'manual' != apply_filters( '
|
110 |
-
for ( $i = 1; $i <= apply_filters( '
|
111 |
$currency_to = get_option( 'wcj_multicurrency_base_price_currency_' . $i );
|
112 |
$currency_pairs = $this->get_currency_pair( $currency_pairs, $currency_to, 'wcj_multicurrency_base_price_exchange_rate_' . $i );
|
113 |
}
|
@@ -116,8 +116,8 @@ class WCJ_Exchange_Rates_Crons {
|
|
116 |
|
117 |
if ( wcj_is_module_enabled( 'currency_per_product' ) ) {
|
118 |
// Currency Pairs - Preparation - Currency per Product
|
119 |
-
if ( 'manual' != apply_filters( '
|
120 |
-
for ( $i = 1; $i <= apply_filters( '
|
121 |
$currency_to = get_option( 'wcj_currency_per_product_currency_' . $i );
|
122 |
$currency_pairs = $this->get_currency_pair( $currency_pairs, $currency_to, 'wcj_currency_per_product_exchange_rate_' . $i );
|
123 |
}
|
@@ -126,7 +126,7 @@ class WCJ_Exchange_Rates_Crons {
|
|
126 |
|
127 |
if ( wcj_is_module_enabled( 'payment_gateways_currency' ) ) {
|
128 |
// Currency Pairs - Preparation - Gateway Currency
|
129 |
-
if ( 'manual' != apply_filters( '
|
130 |
global $woocommerce;
|
131 |
$available_gateways = $woocommerce->payment_gateways->payment_gateways();
|
132 |
foreach ( $available_gateways as $key => $gateway ) {
|
@@ -145,7 +145,7 @@ class WCJ_Exchange_Rates_Crons {
|
|
145 |
}
|
146 |
|
147 |
// Additional currencies (via custom currencies section)
|
148 |
-
$total_number = apply_filters( '
|
149 |
for ( $i = 1; $i <= $total_number; $i++ ) {
|
150 |
if ( 'disabled' != ( $additional_currency = get_option( 'wcj_currency_exchange_custom_currencies_' . $i, 'disabled' ) ) ) {
|
151 |
$currency_pairs = $this->get_currency_pair( $currency_pairs, $additional_currency, false );
|
86 |
|
87 |
if ( wcj_is_module_enabled( 'price_by_country' ) ) {
|
88 |
// Currency Pairs - Preparation - Price by Country
|
89 |
+
if ( 'manual' != apply_filters( 'booster_option', 'manual', get_option( 'wcj_price_by_country_auto_exchange_rates', 'manual' ) ) ) {
|
90 |
+
for ( $i = 1; $i <= apply_filters( 'booster_option', 1, get_option( 'wcj_price_by_country_total_groups_number', 1 ) ); $i++ ) {
|
91 |
$currency_to = get_option( 'wcj_price_by_country_exchange_rate_currency_group_' . $i );
|
92 |
$currency_pairs = $this->get_currency_pair( $currency_pairs, $currency_to, 'wcj_price_by_country_exchange_rate_group_' . $i );
|
93 |
}
|
96 |
|
97 |
if ( wcj_is_module_enabled( 'multicurrency' ) ) {
|
98 |
// Currency Pairs - Preparation - Multicurrency
|
99 |
+
if ( 'manual' != apply_filters( 'booster_option', 'manual', get_option( 'wcj_multicurrency_exchange_rate_update_auto', 'manual' ) ) ) {
|
100 |
+
for ( $i = 1; $i <= apply_filters( 'booster_option', 2, get_option( 'wcj_multicurrency_total_number', 2 ) ); $i++ ) {
|
101 |
$currency_to = get_option( 'wcj_multicurrency_currency_' . $i );
|
102 |
$currency_pairs = $this->get_currency_pair( $currency_pairs, $currency_to, 'wcj_multicurrency_exchange_rate_' . $i );
|
103 |
}
|
106 |
|
107 |
if ( wcj_is_module_enabled( 'multicurrency_base_price' ) ) {
|
108 |
// Currency Pairs - Preparation - Multicurrency Product Base Price
|
109 |
+
if ( 'manual' != apply_filters( 'booster_option', 'manual', get_option( 'wcj_multicurrency_base_price_exchange_rate_update', 'manual' ) ) ) {
|
110 |
+
for ( $i = 1; $i <= apply_filters( 'booster_option', 1, get_option( 'wcj_multicurrency_base_price_total_number', 1 ) ); $i++ ) {
|
111 |
$currency_to = get_option( 'wcj_multicurrency_base_price_currency_' . $i );
|
112 |
$currency_pairs = $this->get_currency_pair( $currency_pairs, $currency_to, 'wcj_multicurrency_base_price_exchange_rate_' . $i );
|
113 |
}
|
116 |
|
117 |
if ( wcj_is_module_enabled( 'currency_per_product' ) ) {
|
118 |
// Currency Pairs - Preparation - Currency per Product
|
119 |
+
if ( 'manual' != apply_filters( 'booster_option', 'manual', get_option( 'wcj_currency_per_product_exchange_rate_update', 'manual' ) ) ) {
|
120 |
+
for ( $i = 1; $i <= apply_filters( 'booster_option', 1, get_option( 'wcj_currency_per_product_total_number', 1 ) ); $i++ ) {
|
121 |
$currency_to = get_option( 'wcj_currency_per_product_currency_' . $i );
|
122 |
$currency_pairs = $this->get_currency_pair( $currency_pairs, $currency_to, 'wcj_currency_per_product_exchange_rate_' . $i );
|
123 |
}
|
126 |
|
127 |
if ( wcj_is_module_enabled( 'payment_gateways_currency' ) ) {
|
128 |
// Currency Pairs - Preparation - Gateway Currency
|
129 |
+
if ( 'manual' != apply_filters( 'booster_option', 'manual', get_option( 'wcj_gateways_currency_exchange_rate_update_auto', 'manual' ) ) ) {
|
130 |
global $woocommerce;
|
131 |
$available_gateways = $woocommerce->payment_gateways->payment_gateways();
|
132 |
foreach ( $available_gateways as $key => $gateway ) {
|
145 |
}
|
146 |
|
147 |
// Additional currencies (via custom currencies section)
|
148 |
+
$total_number = apply_filters( 'booster_option', 1, get_option( 'wcj_currency_exchange_custom_currencies_total_number', 1 ) );
|
149 |
for ( $i = 1; $i <= $total_number; $i++ ) {
|
150 |
if ( 'disabled' != ( $additional_currency = get_option( 'wcj_currency_exchange_custom_currencies_' . $i, 'disabled' ) ) ) {
|
151 |
$currency_pairs = $this->get_currency_pair( $currency_pairs, $additional_currency, false );
|
includes/export/class-wcj-exporter-orders.php
CHANGED
@@ -201,7 +201,7 @@ class WCJ_Exporter_Orders {
|
|
201 |
}
|
202 |
|
203 |
// Additional Fields
|
204 |
-
$total_number = apply_filters( '
|
205 |
for ( $i = 1; $i <= $total_number; $i++ ) {
|
206 |
if ( 'yes' === get_option( 'wcj_export_orders_fields_additional_enabled_' . $i, 'no' ) ) {
|
207 |
$titles[] = get_option( 'wcj_export_orders_fields_additional_title_' . $i, '' );
|
@@ -272,7 +272,7 @@ class WCJ_Exporter_Orders {
|
|
272 |
$row = $this->get_export_orders_row( $fields_ids, $order_id, $order, $items, $items_product_input_fields, null, null );
|
273 |
|
274 |
// Additional Fields
|
275 |
-
$total_number = apply_filters( '
|
276 |
for ( $i = 1; $i <= $total_number; $i++ ) {
|
277 |
if ( 'yes' === get_option( 'wcj_export_orders_fields_additional_enabled_' . $i, 'no' ) ) {
|
278 |
if ( '' != ( $additional_field_value = get_option( 'wcj_export_orders_fields_additional_value_' . $i, '' ) ) ) {
|
@@ -315,7 +315,7 @@ class WCJ_Exporter_Orders {
|
|
315 |
}
|
316 |
|
317 |
// Additional Fields
|
318 |
-
$total_number = apply_filters( '
|
319 |
for ( $i = 1; $i <= $total_number; $i++ ) {
|
320 |
if ( 'yes' === get_option( 'wcj_export_orders_items_fields_additional_enabled_' . $i, 'no' ) ) {
|
321 |
$titles[] = get_option( 'wcj_export_orders_items_fields_additional_title_' . $i, '' );
|
@@ -355,7 +355,7 @@ class WCJ_Exporter_Orders {
|
|
355 |
$row = $this->get_export_orders_row( $fields_ids, $order_id, $order, null, null, $item, $item_id );
|
356 |
|
357 |
// Additional Fields
|
358 |
-
$total_number = apply_filters( '
|
359 |
for ( $i = 1; $i <= $total_number; $i++ ) {
|
360 |
if ( 'yes' === get_option( 'wcj_export_orders_items_fields_additional_enabled_' . $i, 'no' ) ) {
|
361 |
if ( '' != ( $additional_field_value = get_option( 'wcj_export_orders_items_fields_additional_value_' . $i, '' ) ) ) {
|
201 |
}
|
202 |
|
203 |
// Additional Fields
|
204 |
+
$total_number = apply_filters( 'booster_option', 1, get_option( 'wcj_export_orders_fields_additional_total_number', 1 ) );
|
205 |
for ( $i = 1; $i <= $total_number; $i++ ) {
|
206 |
if ( 'yes' === get_option( 'wcj_export_orders_fields_additional_enabled_' . $i, 'no' ) ) {
|
207 |
$titles[] = get_option( 'wcj_export_orders_fields_additional_title_' . $i, '' );
|
272 |
$row = $this->get_export_orders_row( $fields_ids, $order_id, $order, $items, $items_product_input_fields, null, null );
|
273 |
|
274 |
// Additional Fields
|
275 |
+
$total_number = apply_filters( 'booster_option', 1, get_option( 'wcj_export_orders_fields_additional_total_number', 1 ) );
|
276 |
for ( $i = 1; $i <= $total_number; $i++ ) {
|
277 |
if ( 'yes' === get_option( 'wcj_export_orders_fields_additional_enabled_' . $i, 'no' ) ) {
|
278 |
if ( '' != ( $additional_field_value = get_option( 'wcj_export_orders_fields_additional_value_' . $i, '' ) ) ) {
|
315 |
}
|
316 |
|
317 |
// Additional Fields
|
318 |
+
$total_number = apply_filters( 'booster_option', 1, get_option( 'wcj_export_orders_items_fields_additional_total_number', 1 ) );
|
319 |
for ( $i = 1; $i <= $total_number; $i++ ) {
|
320 |
if ( 'yes' === get_option( 'wcj_export_orders_items_fields_additional_enabled_' . $i, 'no' ) ) {
|
321 |
$titles[] = get_option( 'wcj_export_orders_items_fields_additional_title_' . $i, '' );
|
355 |
$row = $this->get_export_orders_row( $fields_ids, $order_id, $order, null, null, $item, $item_id );
|
356 |
|
357 |
// Additional Fields
|
358 |
+
$total_number = apply_filters( 'booster_option', 1, get_option( 'wcj_export_orders_items_fields_additional_total_number', 1 ) );
|
359 |
for ( $i = 1; $i <= $total_number; $i++ ) {
|
360 |
if ( 'yes' === get_option( 'wcj_export_orders_items_fields_additional_enabled_' . $i, 'no' ) ) {
|
361 |
if ( '' != ( $additional_field_value = get_option( 'wcj_export_orders_items_fields_additional_value_' . $i, '' ) ) ) {
|
includes/export/class-wcj-exporter-products.php
CHANGED
@@ -72,7 +72,7 @@ class WCJ_Exporter_Products {
|
|
72 |
}
|
73 |
|
74 |
// Additional Fields
|
75 |
-
$total_number = apply_filters( '
|
76 |
for ( $i = 1; $i <= $total_number; $i++ ) {
|
77 |
if ( 'yes' === get_option( 'wcj_export_products_fields_additional_enabled_' . $i, 'no' ) ) {
|
78 |
$titles[] = get_option( 'wcj_export_products_fields_additional_title_' . $i, '' );
|
@@ -261,7 +261,7 @@ class WCJ_Exporter_Products {
|
|
261 |
}
|
262 |
|
263 |
// Additional Fields
|
264 |
-
$total_number = apply_filters( '
|
265 |
for ( $i = 1; $i <= $total_number; $i++ ) {
|
266 |
if ( 'yes' === get_option( 'wcj_export_products_fields_additional_enabled_' . $i, 'no' ) ) {
|
267 |
if ( '' != ( $additional_field_value = get_option( 'wcj_export_products_fields_additional_value_' . $i, '' ) ) ) {
|
72 |
}
|
73 |
|
74 |
// Additional Fields
|
75 |
+
$total_number = apply_filters( 'booster_option', 1, get_option( 'wcj_export_products_fields_additional_total_number', 1 ) );
|
76 |
for ( $i = 1; $i <= $total_number; $i++ ) {
|
77 |
if ( 'yes' === get_option( 'wcj_export_products_fields_additional_enabled_' . $i, 'no' ) ) {
|
78 |
$titles[] = get_option( 'wcj_export_products_fields_additional_title_' . $i, '' );
|
261 |
}
|
262 |
|
263 |
// Additional Fields
|
264 |
+
$total_number = apply_filters( 'booster_option', 1, get_option( 'wcj_export_products_fields_additional_total_number', 1 ) );
|
265 |
for ( $i = 1; $i <= $total_number; $i++ ) {
|
266 |
if ( 'yes' === get_option( 'wcj_export_products_fields_additional_enabled_' . $i, 'no' ) ) {
|
267 |
if ( '' != ( $additional_field_value = get_option( 'wcj_export_products_fields_additional_value_' . $i, '' ) ) ) {
|
includes/functions/wcj-functions-admin.php
CHANGED
@@ -2,13 +2,76 @@
|
|
2 |
/**
|
3 |
* Booster for WooCommerce - Functions - Admin
|
4 |
*
|
5 |
-
* @version 3.
|
6 |
* @since 2.9.0
|
7 |
* @author Algoritmika Ltd.
|
8 |
*/
|
9 |
|
10 |
if ( ! defined( 'ABSPATH' ) ) exit;
|
11 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
12 |
if ( ! function_exists( 'wcj_is_admin_product_edit_page' ) ) {
|
13 |
/**
|
14 |
* wcj_is_admin_product_edit_page.
|
@@ -28,11 +91,11 @@ if ( ! function_exists( 'wcj_admin_notices_version_updated' ) ) {
|
|
28 |
/**
|
29 |
* wcj_admin_notices_version_updated.
|
30 |
*
|
31 |
-
* @version 3.
|
32 |
* @since 2.8.0
|
33 |
*/
|
34 |
function wcj_admin_notices_version_updated() {
|
35 |
-
if ( get_option(
|
36 |
$class = 'notice notice-success is-dismissible';
|
37 |
$message = sprintf( __( '<strong>Booster for WooCommerce</strong> plugin was successfully updated to version <strong>%s</strong>.', 'woocommerce-jetpack' ), WCJ()->version );
|
38 |
echo sprintf( '<div class="%1$s"><p>%2$s</p></div>', $class, $message );
|
2 |
/**
|
3 |
* Booster for WooCommerce - Functions - Admin
|
4 |
*
|
5 |
+
* @version 3.3.0
|
6 |
* @since 2.9.0
|
7 |
* @author Algoritmika Ltd.
|
8 |
*/
|
9 |
|
10 |
if ( ! defined( 'ABSPATH' ) ) exit;
|
11 |
|
12 |
+
if ( ! function_exists( 'wcj_get_module_settings_admin_url' ) ) {
|
13 |
+
/**
|
14 |
+
* wcj_get_module_settings_admin_url.
|
15 |
+
*
|
16 |
+
* @version 3.3.0
|
17 |
+
* @since 3.3.0
|
18 |
+
* @todo use this function where needed
|
19 |
+
*/
|
20 |
+
function wcj_get_module_settings_admin_url( $module_id ) {
|
21 |
+
return admin_url( 'admin.php?page=wc-settings&tab=jetpack&wcj-cat=' . wcj_get_module_category( $module_id ) . '§ion=' . $module_id );
|
22 |
+
}
|
23 |
+
}
|
24 |
+
|
25 |
+
if ( ! function_exists( 'wcj_get_module_category' ) ) {
|
26 |
+
/**
|
27 |
+
* wcj_get_module_category.
|
28 |
+
*
|
29 |
+
* @version 3.3.0
|
30 |
+
* @since 3.3.0
|
31 |
+
* @todo better solution for `global $wcj_modules_cats`
|
32 |
+
* @todo use this function where needed (e.g. in `class-wc-settings-jetpack.php`)
|
33 |
+
*/
|
34 |
+
function wcj_get_module_category( $module_id ) {
|
35 |
+
global $wcj_modules_cats;
|
36 |
+
if ( ! isset( $wcj_modules_cats ) ) {
|
37 |
+
$wcj_modules_cats = include( WCJ_PLUGIN_PATH . '/includes/admin/wcj-modules-cats.php' );
|
38 |
+
}
|
39 |
+
foreach ( $wcj_modules_cats as $cat_id => $cat_data ) {
|
40 |
+
if ( ! empty( $cat_data['all_cat_ids'] ) && in_array( $module_id, $cat_data['all_cat_ids'] ) ) {
|
41 |
+
return $cat_id;
|
42 |
+
}
|
43 |
+
}
|
44 |
+
return '';
|
45 |
+
}
|
46 |
+
}
|
47 |
+
|
48 |
+
if ( ! function_exists( 'wcj_get_product_ids_for_meta_box_options' ) ) {
|
49 |
+
/**
|
50 |
+
* wcj_get_product_ids_for_meta_box_options.
|
51 |
+
*
|
52 |
+
* @version 3.3.0
|
53 |
+
* @since 3.3.0
|
54 |
+
* @todo use this function where needed
|
55 |
+
*/
|
56 |
+
function wcj_get_product_ids_for_meta_box_options( $main_product_id ) {
|
57 |
+
$_product = wc_get_product( $main_product_id );
|
58 |
+
if ( ! $_product ) {
|
59 |
+
return array();
|
60 |
+
}
|
61 |
+
$products = array();
|
62 |
+
if ( $_product->is_type( 'variable' ) ) {
|
63 |
+
$available_variations = $_product->get_available_variations();
|
64 |
+
foreach ( $available_variations as $variation ) {
|
65 |
+
$variation_product = wc_get_product( $variation['variation_id'] );
|
66 |
+
$products[ $variation['variation_id'] ] = ' (' . wcj_get_product_formatted_variation( $variation_product, true ) . ')';
|
67 |
+
}
|
68 |
+
} else {
|
69 |
+
$products[ $main_product_id ] = '';
|
70 |
+
}
|
71 |
+
return $products;
|
72 |
+
}
|
73 |
+
}
|
74 |
+
|
75 |
if ( ! function_exists( 'wcj_is_admin_product_edit_page' ) ) {
|
76 |
/**
|
77 |
* wcj_is_admin_product_edit_page.
|
91 |
/**
|
92 |
* wcj_admin_notices_version_updated.
|
93 |
*
|
94 |
+
* @version 3.3.0
|
95 |
* @since 2.8.0
|
96 |
*/
|
97 |
function wcj_admin_notices_version_updated() {
|
98 |
+
if ( get_option( WCJ_VERSION_OPTION ) === WCJ()->version ) {
|
99 |
$class = 'notice notice-success is-dismissible';
|
100 |
$message = sprintf( __( '<strong>Booster for WooCommerce</strong> plugin was successfully updated to version <strong>%s</strong>.', 'woocommerce-jetpack' ), WCJ()->version );
|
101 |
echo sprintf( '<div class="%1$s"><p>%2$s</p></div>', $class, $message );
|
includes/functions/wcj-functions-booster-core.php
ADDED
@@ -0,0 +1,67 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?php
|
2 |
+
/**
|
3 |
+
* Booster for WooCommerce - Functions - Booster Core
|
4 |
+
*
|
5 |
+
* @version 3.3.0
|
6 |
+
* @since 2.9.0
|
7 |
+
* @author Algoritmika Ltd.
|
8 |
+
*/
|
9 |
+
|
10 |
+
if ( ! defined( 'ABSPATH' ) ) exit;
|
11 |
+
|
12 |
+
if ( ! function_exists( 'wcj_plugin_url' ) ) {
|
13 |
+
/**
|
14 |
+
* wcj_plugin_url.
|
15 |
+
*
|
16 |
+
* @version 2.3.0
|
17 |
+
* @todo (maybe) add `WCJ_PLUGIN_URL` constant instead
|
18 |
+
*/
|
19 |
+
function wcj_plugin_url() {
|
20 |
+
return untrailingslashit( plugin_dir_url( realpath( dirname( __FILE__ ) . '/..' ) ) );
|
21 |
+
}
|
22 |
+
}
|
23 |
+
|
24 |
+
if ( ! function_exists( 'wcj_plugin_path' ) ) {
|
25 |
+
/**
|
26 |
+
* Get the plugin path.
|
27 |
+
*
|
28 |
+
* @return string
|
29 |
+
* @todo use `WCJ_PLUGIN_PATH` constant instead
|
30 |
+
*/
|
31 |
+
function wcj_plugin_path() {
|
32 |
+
return untrailingslashit( realpath( plugin_dir_path( __FILE__ ) . '/../..' ) );
|
33 |
+
}
|
34 |
+
}
|
35 |
+
|
36 |
+
if ( ! function_exists( 'wcj_is_module_enabled' ) ) {
|
37 |
+
/*
|
38 |
+
* wcj_is_module_enabled.
|
39 |
+
*
|
40 |
+
* @version 3.3.0
|
41 |
+
* @since 2.4.0
|
42 |
+
* @return boolean
|
43 |
+
*/
|
44 |
+
function wcj_is_module_enabled( $module_id ) {
|
45 |
+
if ( 'modules_by_user_roles' != $module_id && wcj_is_module_enabled( 'modules_by_user_roles' ) ) {
|
46 |
+
global $wcj_modules_by_user_roles_data;
|
47 |
+
if ( ! isset( $wcj_modules_by_user_roles_data ) ) {
|
48 |
+
if( ! function_exists( 'wp_get_current_user' ) ) {
|
49 |
+
require_once( ABSPATH . 'wp-includes/pluggable.php' );
|
50 |
+
}
|
51 |
+
$current_user = wp_get_current_user();
|
52 |
+
$wcj_modules_by_user_roles_data['role'] = ( isset( $current_user->roles ) && is_array( $current_user->roles ) && ! empty( $current_user->roles ) ?
|
53 |
+
reset( $current_user->roles ) : 'guest' );
|
54 |
+
$wcj_modules_by_user_roles_data['role'] = ( '' != $wcj_modules_by_user_roles_data['role'] ? $wcj_modules_by_user_roles_data['role'] : 'guest' );
|
55 |
+
$wcj_modules_by_user_roles_data['modules_incl'] = get_option( 'wcj_modules_by_user_roles_incl_' . $wcj_modules_by_user_roles_data['role'], '' );
|
56 |
+
$wcj_modules_by_user_roles_data['modules_excl'] = get_option( 'wcj_modules_by_user_roles_excl_' . $wcj_modules_by_user_roles_data['role'], '' );
|
57 |
+
}
|
58 |
+
if ( ! empty( $wcj_modules_by_user_roles_data['modules_incl'] ) && ! in_array( $module_id, $wcj_modules_by_user_roles_data['modules_incl'] ) ) {
|
59 |
+
return false;
|
60 |
+
}
|
61 |
+
if ( ! empty( $wcj_modules_by_user_roles_data['modules_excl'] ) && in_array( $module_id, $wcj_modules_by_user_roles_data['modules_excl'] ) ) {
|
62 |
+
return false;
|
63 |
+
}
|
64 |
+
}
|
65 |
+
return ( 'yes' === get_option( 'wcj_' . $module_id . '_enabled', 'no' ) );
|
66 |
+
}
|
67 |
+
}
|
includes/functions/wcj-functions-core.php
CHANGED
@@ -2,45 +2,26 @@
|
|
2 |
/**
|
3 |
* Booster for WooCommerce - Functions - Core
|
4 |
*
|
5 |
-
* @version
|
6 |
-
* @since
|
7 |
* @author Algoritmika Ltd.
|
8 |
*/
|
9 |
|
10 |
if ( ! defined( 'ABSPATH' ) ) exit;
|
11 |
|
12 |
-
if ( ! function_exists( '
|
13 |
/**
|
14 |
-
*
|
15 |
*
|
16 |
-
* @version 2.
|
|
|
|
|
|
|
17 |
*/
|
18 |
-
function
|
19 |
-
return
|
20 |
-
|
21 |
-
|
22 |
-
|
23 |
-
if ( ! function_exists( 'wcj_plugin_path' ) ) {
|
24 |
-
/**
|
25 |
-
* Get the plugin path.
|
26 |
-
*
|
27 |
-
* @return string
|
28 |
-
* @todo use `WCJ_PLUGIN_PATH` constant instead
|
29 |
-
*/
|
30 |
-
function wcj_plugin_path() {
|
31 |
-
return untrailingslashit( realpath( plugin_dir_path( __FILE__ ) . '/../..' ) );
|
32 |
-
}
|
33 |
-
}
|
34 |
-
|
35 |
-
if ( ! function_exists( 'wcj_is_module_enabled' ) ) {
|
36 |
-
/*
|
37 |
-
* wcj_is_module_enabled.
|
38 |
-
*
|
39 |
-
* @version 2.9.0
|
40 |
-
* @since 2.4.0
|
41 |
-
* @return boolean
|
42 |
-
*/
|
43 |
-
function wcj_is_module_enabled( $module_id ) {
|
44 |
-
return ( 'yes' === get_option( 'wcj_' . $module_id . '_enabled', 'no' ) );
|
45 |
}
|
46 |
}
|
2 |
/**
|
3 |
* Booster for WooCommerce - Functions - Core
|
4 |
*
|
5 |
+
* @version 3.3.0
|
6 |
+
* @since 3.3.0
|
7 |
* @author Algoritmika Ltd.
|
8 |
*/
|
9 |
|
10 |
if ( ! defined( 'ABSPATH' ) ) exit;
|
11 |
|
12 |
+
if ( ! function_exists( 'wcj_is_plugin_active' ) ) {
|
13 |
/**
|
14 |
+
* wcj_is_plugin_active.
|
15 |
*
|
16 |
+
* @version 2.8.0
|
17 |
+
* @since 2.8.0
|
18 |
+
* @return bool
|
19 |
+
* @todo (maybe) check `.php` file only (i.e. no folder)
|
20 |
*/
|
21 |
+
function wcj_is_plugin_active( $plugin ) {
|
22 |
+
return (
|
23 |
+
in_array( $plugin, apply_filters( 'active_plugins', get_option( 'active_plugins', array() ) ) ) ||
|
24 |
+
( is_multisite() && array_key_exists( $plugin, get_site_option( 'active_sitewide_plugins', array() ) ) )
|
25 |
+
);
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
26 |
}
|
27 |
}
|
includes/functions/wcj-functions-country.php
CHANGED
@@ -2,7 +2,7 @@
|
|
2 |
/**
|
3 |
* Booster for WooCommerce - Functions - Country
|
4 |
*
|
5 |
-
* @version 3.
|
6 |
* @author Algoritmika Ltd.
|
7 |
*/
|
8 |
|
@@ -400,7 +400,7 @@ if ( ! function_exists( 'wcj_get_currency_countries' ) ) {
|
|
400 |
* 158 currencies.
|
401 |
* Three-letter currency code (ISO 4217) => Two-letter countries codes (ISO 3166-1 alpha-2).
|
402 |
*
|
403 |
-
* @version
|
404 |
* @since 2.9.0
|
405 |
*/
|
406 |
function wcj_get_currency_countries() {
|
@@ -421,7 +421,7 @@ if ( ! function_exists( 'wcj_get_currency_countries' ) ) {
|
|
421 |
'BHD' => array( 'BH' ),
|
422 |
'BDT' => array( 'BD' ),
|
423 |
'BBD' => array( 'BB' ),
|
424 |
-
'
|
425 |
'BZD' => array( 'BZ' ),
|
426 |
'XOF' => array( 'SN', 'BJ', 'BF', 'ML', 'NE', 'TG' ),
|
427 |
'BMD' => array( 'BM' ),
|
2 |
/**
|
3 |
* Booster for WooCommerce - Functions - Country
|
4 |
*
|
5 |
+
* @version 3.3.0
|
6 |
* @author Algoritmika Ltd.
|
7 |
*/
|
8 |
|
400 |
* 158 currencies.
|
401 |
* Three-letter currency code (ISO 4217) => Two-letter countries codes (ISO 3166-1 alpha-2).
|
402 |
*
|
403 |
+
* @version 3.3.0
|
404 |
* @since 2.9.0
|
405 |
*/
|
406 |
function wcj_get_currency_countries() {
|
421 |
'BHD' => array( 'BH' ),
|
422 |
'BDT' => array( 'BD' ),
|
423 |
'BBD' => array( 'BB' ),
|
424 |
+
'BYN' => array( 'BY' ),
|
425 |
'BZD' => array( 'BZ' ),
|
426 |
'XOF' => array( 'SN', 'BJ', 'BF', 'ML', 'NE', 'TG' ),
|
427 |
'BMD' => array( 'BM' ),
|
includes/functions/wcj-functions-currencies.php
CHANGED
@@ -2,13 +2,15 @@
|
|
2 |
/**
|
3 |
* Booster for WooCommerce - Functions - Currencies
|
4 |
*
|
5 |
-
* @version 3.
|
6 |
* @author Algoritmika Ltd.
|
7 |
*/
|
8 |
|
9 |
if ( ! function_exists( 'wcj_get_currencies_array' ) ) {
|
10 |
/**
|
11 |
* wcj_get_currencies_array.
|
|
|
|
|
12 |
*/
|
13 |
function wcj_get_currencies_array() {
|
14 |
return array(
|
@@ -28,7 +30,7 @@ if ( ! function_exists( 'wcj_get_currencies_array' ) ) {
|
|
28 |
array( 'code' => 'BGN', 'symbol' => 'лв.', 'name' => __( 'Bulgarian Lev', 'woocommerce' ) ),
|
29 |
array( 'code' => 'BHD', 'symbol' => 'BHD', 'name' => __( 'Bahraini dinar', 'woocommerce-jetpack' ) ),
|
30 |
array( 'code' => 'BIF', 'symbol' => 'BIF', 'name' => __( 'Burundi franc', 'woocommerce-jetpack' ) ),
|
31 |
-
array( 'code' => '
|
32 |
array( 'code' => 'BND', 'symbol' => 'BND', 'name' => __( 'Brunei dollar', 'woocommerce-jetpack' ) ),
|
33 |
array( 'code' => 'BOB', 'symbol' => 'BOB', 'name' => __( 'Bolivian boliviano', 'woocommerce-jetpack' ) ),
|
34 |
array( 'code' => 'BRL', 'symbol' => 'R$', 'name' => __( 'Brazilian Real', 'woocommerce' ) ),
|
2 |
/**
|
3 |
* Booster for WooCommerce - Functions - Currencies
|
4 |
*
|
5 |
+
* @version 3.3.0
|
6 |
* @author Algoritmika Ltd.
|
7 |
*/
|
8 |
|
9 |
if ( ! function_exists( 'wcj_get_currencies_array' ) ) {
|
10 |
/**
|
11 |
* wcj_get_currencies_array.
|
12 |
+
*
|
13 |
+
* @version 3.3.0
|
14 |
*/
|
15 |
function wcj_get_currencies_array() {
|
16 |
return array(
|
30 |
array( 'code' => 'BGN', 'symbol' => 'лв.', 'name' => __( 'Bulgarian Lev', 'woocommerce' ) ),
|
31 |
array( 'code' => 'BHD', 'symbol' => 'BHD', 'name' => __( 'Bahraini dinar', 'woocommerce-jetpack' ) ),
|
32 |
array( 'code' => 'BIF', 'symbol' => 'BIF', 'name' => __( 'Burundi franc', 'woocommerce-jetpack' ) ),
|
33 |
+
array( 'code' => 'BYN', 'symbol' => 'BYN', 'name' => __( 'Belarusian ruble', 'woocommerce-jetpack' ) ),
|
34 |
array( 'code' => 'BND', 'symbol' => 'BND', 'name' => __( 'Brunei dollar', 'woocommerce-jetpack' ) ),
|
35 |
array( 'code' => 'BOB', 'symbol' => 'BOB', 'name' => __( 'Bolivian boliviano', 'woocommerce-jetpack' ) ),
|
36 |
array( 'code' => 'BRL', 'symbol' => 'R$', 'name' => __( 'Brazilian Real', 'woocommerce' ) ),
|
includes/functions/wcj-functions-debug.php
CHANGED
@@ -2,7 +2,7 @@
|
|
2 |
/**
|
3 |
* Booster for WooCommerce - Functions - Debug
|
4 |
*
|
5 |
-
* @version 3.
|
6 |
* @author Algoritmika Ltd.
|
7 |
*/
|
8 |
|
@@ -17,15 +17,12 @@ if ( ! function_exists( 'wcj_log' ) ) {
|
|
17 |
/**
|
18 |
* wcj_log.
|
19 |
*
|
20 |
-
* @version 3.
|
21 |
*/
|
22 |
function wcj_log( $message = '' ) {
|
23 |
if ( ! wcj_is_module_enabled( 'admin_tools' ) || ( 'no' === get_option( 'wcj_logging_enabled', 'no' ) && 'no' === get_option( 'wcj_wc_logging_enabled', 'no' ) ) ) {
|
24 |
return;
|
25 |
}
|
26 |
-
if ( '' == $message ) {
|
27 |
-
$message = 'CHECKPOINT';
|
28 |
-
}
|
29 |
if ( is_array( $message ) || is_object( $message ) ) {
|
30 |
$message = print_r( $message, true );
|
31 |
}
|
2 |
/**
|
3 |
* Booster for WooCommerce - Functions - Debug
|
4 |
*
|
5 |
+
* @version 3.3.0
|
6 |
* @author Algoritmika Ltd.
|
7 |
*/
|
8 |
|
17 |
/**
|
18 |
* wcj_log.
|
19 |
*
|
20 |
+
* @version 3.3.0
|
21 |
*/
|
22 |
function wcj_log( $message = '' ) {
|
23 |
if ( ! wcj_is_module_enabled( 'admin_tools' ) || ( 'no' === get_option( 'wcj_logging_enabled', 'no' ) && 'no' === get_option( 'wcj_wc_logging_enabled', 'no' ) ) ) {
|
24 |
return;
|
25 |
}
|
|
|
|
|
|
|
26 |
if ( is_array( $message ) || is_object( $message ) ) {
|
27 |
$message = print_r( $message, true );
|
28 |
}
|
includes/functions/wcj-functions-exchange-rates.php
CHANGED
@@ -2,7 +2,7 @@
|
|
2 |
/**
|
3 |
* Booster for WooCommerce - Functions - Exchange Rates
|
4 |
*
|
5 |
-
* @version 3.
|
6 |
* @since 2.7.0
|
7 |
* @author Algoritmika Ltd.
|
8 |
*/
|
@@ -13,11 +13,14 @@ if ( ! function_exists( 'wcj_get_saved_exchange_rate' ) ) {
|
|
13 |
/**
|
14 |
* wcj_get_saved_exchange_rate.
|
15 |
*
|
16 |
-
* @version 3.
|
17 |
* @since 3.2.4
|
18 |
-
* @todo
|
19 |
*/
|
20 |
function wcj_get_saved_exchange_rate( $from, $to ) {
|
|
|
|
|
|
|
21 |
// Preparing `active_currencies` array
|
22 |
if ( ! isset( WCJ()->modules['currency_exchange_rates']->active_currencies ) ) {
|
23 |
$active_currencies_settings = WCJ()->modules['currency_exchange_rates']->get_all_currencies_exchange_rates_settings();
|
2 |
/**
|
3 |
* Booster for WooCommerce - Functions - Exchange Rates
|
4 |
*
|
5 |
+
* @version 3.3.0
|
6 |
* @since 2.7.0
|
7 |
* @author Algoritmika Ltd.
|
8 |
*/
|
13 |
/**
|
14 |
* wcj_get_saved_exchange_rate.
|
15 |
*
|
16 |
+
* @version 3.3.0
|
17 |
* @since 3.2.4
|
18 |
+
* @todo (maybe) need to check if `currency_exchange_rates` module `is_enabled()`
|
19 |
*/
|
20 |
function wcj_get_saved_exchange_rate( $from, $to ) {
|
21 |
+
if ( $from == $to ) {
|
22 |
+
return 1;
|
23 |
+
}
|
24 |
// Preparing `active_currencies` array
|
25 |
if ( ! isset( WCJ()->modules['currency_exchange_rates']->active_currencies ) ) {
|
26 |
$active_currencies_settings = WCJ()->modules['currency_exchange_rates']->get_all_currencies_exchange_rates_settings();
|
includes/functions/wcj-functions-general.php
CHANGED
@@ -2,13 +2,129 @@
|
|
2 |
/**
|
3 |
* Booster for WooCommerce - Functions
|
4 |
*
|
5 |
-
* @version 3.
|
6 |
* @author Algoritmika Ltd.
|
7 |
* @todo add `wcj_add_actions()` and `wcj_add_filters()`
|
8 |
*/
|
9 |
|
10 |
if ( ! defined( 'ABSPATH' ) ) exit;
|
11 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
12 |
if ( ! function_exists( 'wcj_get_woocommerce_package_rates_module_filter_priority' ) ) {
|
13 |
/**
|
14 |
* wcj_get_woocommerce_package_rates_module_filter_priority.
|
@@ -350,11 +466,21 @@ if ( ! function_exists( 'wcj_get_left_to_free_shipping' ) ) {
|
|
350 |
/*
|
351 |
* wcj_get_left_to_free_shipping.
|
352 |
*
|
353 |
-
* @version 3.
|
354 |
* @since 2.4.4
|
355 |
* @return string
|
356 |
*/
|
357 |
function wcj_get_left_to_free_shipping( $content, $multiply_by = 1 ) {
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
358 |
if ( '' == $content ) {
|
359 |
$content = __( '%left_to_free% left to free shipping', 'woocommerce-jetpack' );
|
360 |
}
|
2 |
/**
|
3 |
* Booster for WooCommerce - Functions
|
4 |
*
|
5 |
+
* @version 3.3.0
|
6 |
* @author Algoritmika Ltd.
|
7 |
* @todo add `wcj_add_actions()` and `wcj_add_filters()`
|
8 |
*/
|
9 |
|
10 |
if ( ! defined( 'ABSPATH' ) ) exit;
|
11 |
|
12 |
+
if ( ! function_exists( 'wcj_get_js_confirmation' ) ) {
|
13 |
+
/**
|
14 |
+
* wcj_get_js_confirmation.
|
15 |
+
*
|
16 |
+
* @version 3.3.0
|
17 |
+
* @since 3.3.0
|
18 |
+
* @todo use where needed
|
19 |
+
*/
|
20 |
+
function wcj_get_js_confirmation() {
|
21 |
+
return ' onclick="return confirm(\'' . __( 'Are you sure?', 'woocommerce-jetpack' ) . '\')"';
|
22 |
+
}
|
23 |
+
}
|
24 |
+
|
25 |
+
if ( ! function_exists( 'wcj_tcpdf_barcode' ) ) {
|
26 |
+
/**
|
27 |
+
* wcj_tcpdf_barcode.
|
28 |
+
*
|
29 |
+
* @version 3.3.0
|
30 |
+
* @since 3.3.0
|
31 |
+
* @todo `color`
|
32 |
+
* @todo `align` (try 'T')
|
33 |
+
*/
|
34 |
+
function wcj_tcpdf_barcode( $atts ) {
|
35 |
+
if ( '' === $atts['code'] ) {
|
36 |
+
return '';
|
37 |
+
}
|
38 |
+
if ( '' === $atts['type'] ) {
|
39 |
+
$atts['type'] = ( '1D' === $atts['dimension'] ? 'C39' : 'PDF417' );
|
40 |
+
}
|
41 |
+
if ( 0 === $atts['width'] ) {
|
42 |
+
$atts['width'] = ( '1D' === $atts['dimension'] ? 80 : 80 );
|
43 |
+
}
|
44 |
+
if ( 0 === $atts['height'] ) {
|
45 |
+
$atts['height'] = ( '1D' === $atts['dimension'] ? 30 : 80 );
|
46 |
+
}
|
47 |
+
if ( '1D' === $atts['dimension'] ) {
|
48 |
+
$params = array(
|
49 |
+
$atts['code'],
|
50 |
+
$atts['type'],
|
51 |
+
'', // x
|
52 |
+
'', // y
|
53 |
+
$atts['width'],
|
54 |
+
$atts['height'],
|
55 |
+
0.4, // xres
|
56 |
+
array( // style
|
57 |
+
'position' => 'S',
|
58 |
+
'border' => false,
|
59 |
+
'padding' => 4,
|
60 |
+
'fgcolor' => array( 0, 0, 0 ),
|
61 |
+
'bgcolor' => array( 255, 255, 255 ),
|
62 |
+
'text' => false,
|
63 |
+
),
|
64 |
+
'N', // align
|
65 |
+
);
|
66 |
+
} else {
|
67 |
+
$params = array(
|
68 |
+
$atts['code'],
|
69 |
+
$atts['type'],
|
70 |
+
'', // x
|
71 |
+
'', // y
|
72 |
+
$atts['width'],
|
73 |
+
$atts['height'],
|
74 |
+
array( // style
|
75 |
+
'border' => false,
|
76 |
+
'vpadding' => 'auto',
|
77 |
+
'hpadding' => 'auto',
|
78 |
+
'fgcolor' => array( 0, 0, 0 ),
|
79 |
+
'bgcolor' => array( 255, 255, 255 ),
|
80 |
+
'module_width' => 1, // width of a single module in points
|
81 |
+
'module_height' => 1, // height of a single module in points
|
82 |
+
),
|
83 |
+
'N', // align
|
84 |
+
false, // distort
|
85 |
+
);
|
86 |
+
}
|
87 |
+
require_once( WCJ_PLUGIN_PATH . '/includes/lib/tcpdf_min/include/tcpdf_static.php' );
|
88 |
+
$params = TCPDF_STATIC::serializeTCPDFtagParameters( $params );
|
89 |
+
$method = ( '1D' === $atts['dimension'] ? 'write1DBarcode' : 'write2DBarcode' );
|
90 |
+
return '<tcpdf method="' . $method . '" params="' . $params . '" />';
|
91 |
+
}
|
92 |
+
}
|
93 |
+
|
94 |
+
if ( ! function_exists( 'wcj_barcode' ) ) {
|
95 |
+
/**
|
96 |
+
* wcj_barcode.
|
97 |
+
*
|
98 |
+
* @version 3.3.0
|
99 |
+
* @since 3.3.0
|
100 |
+
* @todo (maybe) "Barcodes" module
|
101 |
+
* @todo (maybe) `getBarcodePNG()`
|
102 |
+
*/
|
103 |
+
function wcj_barcode( $atts ) {
|
104 |
+
if ( '' === $atts['code'] ) {
|
105 |
+
return '';
|
106 |
+
}
|
107 |
+
if ( '' === $atts['type'] ) {
|
108 |
+
$atts['type'] = ( '1D' === $atts['dimension'] ? 'C39' : 'PDF417' );
|
109 |
+
}
|
110 |
+
if ( 0 === $atts['width'] ) {
|
111 |
+
$atts['width'] = ( '1D' === $atts['dimension'] ? 2 : 10 );
|
112 |
+
}
|
113 |
+
if ( 0 === $atts['height'] ) {
|
114 |
+
$atts['height'] = ( '1D' === $atts['dimension'] ? 30 : 10 );
|
115 |
+
}
|
116 |
+
if ( '1D' === $atts['dimension'] ) {
|
117 |
+
require_once( WCJ_PLUGIN_PATH . '/includes/lib/tcpdf_min/tcpdf_barcodes_1d.php' );
|
118 |
+
$barcode = new TCPDFBarcode( $atts['code'], $atts['type'] );
|
119 |
+
} else {
|
120 |
+
require_once( WCJ_PLUGIN_PATH . '/includes/lib/tcpdf_min/tcpdf_barcodes_2d.php' );
|
121 |
+
$barcode = new TCPDF2DBarcode( $atts['code'], $atts['type'] );
|
122 |
+
}
|
123 |
+
$barcode_array = $barcode->getBarcodeArray();
|
124 |
+
return ( ! empty( $barcode_array ) && is_array( $barcode_array ) ? $barcode->getBarcodeHTML( $atts['width'], $atts['height'], $atts['color'] ) : '' );
|
125 |
+
}
|
126 |
+
}
|
127 |
+
|
128 |
if ( ! function_exists( 'wcj_get_woocommerce_package_rates_module_filter_priority' ) ) {
|
129 |
/**
|
130 |
* wcj_get_woocommerce_package_rates_module_filter_priority.
|
466 |
/*
|
467 |
* wcj_get_left_to_free_shipping.
|
468 |
*
|
469 |
+
* @version 3.3.0
|
470 |
* @since 2.4.4
|
471 |
* @return string
|
472 |
*/
|
473 |
function wcj_get_left_to_free_shipping( $content, $multiply_by = 1 ) {
|
474 |
+
if ( function_exists( 'WC' ) && ( WC()->shipping ) && ( $packages = WC()->shipping->get_packages() ) ) {
|
475 |
+
foreach ( $packages as $i => $package ) {
|
476 |
+
$available_shipping_methods = $package['rates'];
|
477 |
+
foreach ( $available_shipping_methods as $available_shipping_method ) {
|
478 |
+
if ( 'free_shipping' === $available_shipping_method->get_method_id() ) {
|
479 |
+
return do_shortcode( get_option( 'wcj_shipping_left_to_free_info_content_reached', __( 'You have Free delivery', 'woocommerce-jetpack' ) ) );
|
480 |
+
}
|
481 |
+
}
|
482 |
+
}
|
483 |
+
}
|
484 |
if ( '' == $content ) {
|
485 |
$content = __( '%left_to_free% left to free shipping', 'woocommerce-jetpack' );
|
486 |
}
|
includes/functions/wcj-functions-html.php
CHANGED
@@ -2,7 +2,7 @@
|
|
2 |
/**
|
3 |
* Booster for WooCommerce - Functions - HTML Functions
|
4 |
*
|
5 |
-
* @version
|
6 |
* @author Algoritmika Ltd.
|
7 |
*/
|
8 |
|
@@ -23,7 +23,7 @@ if ( ! function_exists( 'wcj_get_table_html' ) ) {
|
|
23 |
'columns_classes' => array(),
|
24 |
'columns_styles' => array(),
|
25 |
);
|
26 |
-
|
27 |
$args = array_merge( $defaults, $args );
|
28 |
extract( $args );
|
29 |
$table_class = ( '' == $table_class ) ? '' : ' class="' . $table_class . '"';
|
@@ -54,6 +54,8 @@ if ( ! function_exists( 'wcj_get_table_html' ) ) {
|
|
54 |
if ( ! function_exists( 'wcj_get_option_html' ) ) {
|
55 |
/**
|
56 |
* wcj_get_option_html.
|
|
|
|
|
57 |
*/
|
58 |
function wcj_get_option_html( $option_type, $option_id, $option_value, $option_description, $option_class ) {
|
59 |
|
@@ -70,7 +72,7 @@ if ( ! function_exists( 'wcj_get_option_html' ) ) {
|
|
70 |
$html .= '<textarea class="' . $option_class . '" id="' . $option_id . '" name="' . $option_id . '">' . $option_value . '</textarea>';
|
71 |
break;
|
72 |
case 'checkbox':
|
73 |
-
$html .= '<input class="checkbox" type="checkbox" name="' . $option_id . '" id="' . $option_id . '" ' . $is_checked . ' />';
|
74 |
break;
|
75 |
case 'select':
|
76 |
$html .= '<select class="' . $option_class . '" id="' . $option_id . '" name="' . $option_id . '">' . $option_value . '</select>';
|
@@ -95,7 +97,7 @@ if ( ! function_exists( 'wcj_empty_cart_button_html' ) ) {
|
|
95 |
' onclick="return confirm(\'' . get_option( 'wcj_empty_cart_confirmation_text', __( 'Are you sure?', 'woocommerce-jetpack' ) ) . '\')"' : '';
|
96 |
return '<div style="' . get_option( 'wcj_empty_cart_div_style', 'float: right;' ) . '">' .
|
97 |
'<form action="" method="post"><input type="submit" class="button" name="wcj_empty_cart" value="' .
|
98 |
-
apply_filters( '
|
99 |
'</form>' .
|
100 |
'</div>';
|
101 |
}
|
2 |
/**
|
3 |
* Booster for WooCommerce - Functions - HTML Functions
|
4 |
*
|
5 |
+
* @version 3.3.0
|
6 |
* @author Algoritmika Ltd.
|
7 |
*/
|
8 |
|
23 |
'columns_classes' => array(),
|
24 |
'columns_styles' => array(),
|
25 |
);
|
26 |
+
// wp_parse_args( $args, $defaults );
|
27 |
$args = array_merge( $defaults, $args );
|
28 |
extract( $args );
|
29 |
$table_class = ( '' == $table_class ) ? '' : ' class="' . $table_class . '"';
|
54 |
if ( ! function_exists( 'wcj_get_option_html' ) ) {
|
55 |
/**
|
56 |
* wcj_get_option_html.
|
57 |
+
*
|
58 |
+
* @version 3.3.0
|
59 |
*/
|
60 |
function wcj_get_option_html( $option_type, $option_id, $option_value, $option_description, $option_class ) {
|
61 |
|
72 |
$html .= '<textarea class="' . $option_class . '" id="' . $option_id . '" name="' . $option_id . '">' . $option_value . '</textarea>';
|
73 |
break;
|
74 |
case 'checkbox':
|
75 |
+
$html .= '<input class="checkbox" style="margin-right:5px !important;" type="checkbox" name="' . $option_id . '" id="' . $option_id . '" ' . $is_checked . ' />';
|
76 |
break;
|
77 |
case 'select':
|
78 |
$html .= '<select class="' . $option_class . '" id="' . $option_id . '" name="' . $option_id . '">' . $option_value . '</select>';
|
97 |
' onclick="return confirm(\'' . get_option( 'wcj_empty_cart_confirmation_text', __( 'Are you sure?', 'woocommerce-jetpack' ) ) . '\')"' : '';
|
98 |
return '<div style="' . get_option( 'wcj_empty_cart_div_style', 'float: right;' ) . '">' .
|
99 |
'<form action="" method="post"><input type="submit" class="button" name="wcj_empty_cart" value="' .
|
100 |
+
apply_filters( 'booster_option', 'Empty Cart', get_option( 'wcj_empty_cart_text', 'Empty Cart' ) ) . '"' . $confirmation_html . '>' .
|
101 |
'</form>' .
|
102 |
'</div>';
|
103 |
}
|
includes/functions/wcj-functions-invoicing.php
CHANGED
@@ -286,7 +286,7 @@ if ( ! function_exists( 'wcj_get_enabled_invoice_types' ) ) {
|
|
286 |
$invoice_types = wcj_get_invoice_types();
|
287 |
$enabled_invoice_types = array();
|
288 |
foreach ( $invoice_types as $k => $invoice_type ) {
|
289 |
-
$z = ( 0 === $k ) ? wcj_get_invoice_create_on( $invoice_type['id'] ) : apply_filters( '
|
290 |
if ( empty( $z ) ) {
|
291 |
continue;
|
292 |
}
|
286 |
$invoice_types = wcj_get_invoice_types();
|
287 |
$enabled_invoice_types = array();
|
288 |
foreach ( $invoice_types as $k => $invoice_type ) {
|
289 |
+
$z = ( 0 === $k ) ? wcj_get_invoice_create_on( $invoice_type['id'] ) : apply_filters( 'booster_option', '', wcj_get_invoice_create_on( $invoice_type['id'] ) );
|
290 |
if ( empty( $z ) ) {
|
291 |
continue;
|
292 |
}
|
includes/functions/wcj-functions-price-currency.php
CHANGED
@@ -2,7 +2,7 @@
|
|
2 |
/**
|
3 |
* Booster for WooCommerce - Functions - Price and Currency
|
4 |
*
|
5 |
-
* @version 3.
|
6 |
* @since 2.7.0
|
7 |
* @author Algoritmika Ltd.
|
8 |
*/
|
@@ -146,7 +146,7 @@ if ( ! function_exists( 'wcj_get_currency_exchange_rate_product_base_currency' )
|
|
146 |
*/
|
147 |
function wcj_get_currency_exchange_rate_product_base_currency( $currency_code ) {
|
148 |
$currency_exchange_rate = 1;
|
149 |
-
$total_number = apply_filters( '
|
150 |
for ( $i = 1; $i <= $total_number; $i++ ) {
|
151 |
if ( $currency_code === get_option( 'wcj_multicurrency_base_price_currency_' . $i ) ) {
|
152 |
$currency_exchange_rate = get_option( 'wcj_multicurrency_base_price_exchange_rate_' . $i );
|
@@ -161,7 +161,7 @@ if ( ! function_exists( 'wcj_price_by_product_base_currency' ) ) {
|
|
161 |
/**
|
162 |
* wcj_price_by_product_base_currency.
|
163 |
*
|
164 |
-
* @version 3.
|
165 |
* @since 2.5.6
|
166 |
*/
|
167 |
function wcj_price_by_product_base_currency( $price, $product_id ) {
|
@@ -180,7 +180,7 @@ if ( ! function_exists( 'wcj_price_by_product_base_currency' ) ) {
|
|
180 |
}
|
181 |
$multicurrency_base_price_currency = get_post_meta( $product_id, '_' . 'wcj_multicurrency_base_price_currency', true );
|
182 |
if ( '' != $multicurrency_base_price_currency ) {
|
183 |
-
if ( 1 != ( $currency_exchange_rate = wcj_get_currency_exchange_rate_product_base_currency( $multicurrency_base_price_currency ) ) ) {
|
184 |
$_price = $price / $currency_exchange_rate;
|
185 |
if ( 'yes' === get_option( 'wcj_multicurrency_base_price_round_enabled', 'no' ) ) {
|
186 |
$_price = round( $_price, get_option( 'wcj_multicurrency_base_price_round_precision', get_option( 'woocommerce_price_num_decimals' ) ) );
|
@@ -317,7 +317,7 @@ if ( ! function_exists( 'wcj_update_products_price_by_country_for_single_product
|
|
317 |
$_product = wc_get_product( $product_id );
|
318 |
if ( $_product->is_type( 'variable' ) ) {
|
319 |
$available_variations = $_product->get_available_variations();
|
320 |
-
for ( $i = 1; $i <= apply_filters( '
|
321 |
$min_variation_price = PHP_INT_MAX;
|
322 |
$max_variation_price = 0;
|
323 |
foreach ( $available_variations as $variation ) {
|
@@ -346,7 +346,7 @@ if ( ! function_exists( 'wcj_update_products_price_by_country_for_single_product
|
|
346 |
if ( wcj_is_module_enabled( 'multicurrency_base_price' ) ) {
|
347 |
$_old_price = wcj_price_by_product_base_currency( $_old_price, $product_id );
|
348 |
}
|
349 |
-
for ( $i = 1; $i <= apply_filters( '
|
350 |
$price_by_country = wcj_price_by_country( $_old_price, $product_id, $i, WCJ_PRODUCT_GET_PRICE_FILTER );
|
351 |
update_post_meta( $product_id, '_' . 'wcj_price_by_country_' . $i, $price_by_country );
|
352 |
}
|
@@ -412,7 +412,7 @@ if ( ! function_exists( 'wcj_get_currency_by_country' ) ) {
|
|
412 |
*/
|
413 |
function wcj_get_currency_by_country( $country_code ) {
|
414 |
$currency_code = '';
|
415 |
-
for ( $i = 1; $i <= apply_filters( '
|
416 |
switch ( get_option( 'wcj_price_by_country_selection', 'comma_list' ) ) {
|
417 |
case 'comma_list':
|
418 |
$country_exchange_rate_group = get_option( 'wcj_price_by_country_exchange_rate_countries_group_' . $i );
|
@@ -446,7 +446,7 @@ if ( ! function_exists( 'wcj_get_currency_exchange_rate' ) ) {
|
|
446 |
$currency_exchange_rate = 1;
|
447 |
if ( wcj_is_module_enabled( $module ) ) {
|
448 |
if ( 'multicurrency' === $module ) {
|
449 |
-
$total_number = apply_filters( '
|
450 |
for ( $i = 1; $i <= $total_number; $i++ ) {
|
451 |
if ( $currency_code === get_option( 'wcj_multicurrency_currency_' . $i ) ) {
|
452 |
$currency_exchange_rate = get_option( 'wcj_multicurrency_exchange_rate_' . $i );
|
@@ -479,7 +479,7 @@ if ( ! function_exists( 'wc_get_product_purchase_price' ) ) {
|
|
479 |
if ( 'yes' === get_option( 'wcj_purchase_price_affiliate_commission_enabled', 'no' ) ) {
|
480 |
$purchase_price += (float) get_post_meta( $product_id, '_' . 'wcj_purchase_price_affiliate_commission', true );
|
481 |
}
|
482 |
-
$total_number = apply_filters( '
|
483 |
for ( $i = 1; $i <= $total_number; $i++ ) {
|
484 |
if ( '' == get_option( 'wcj_purchase_data_custom_price_field_name_' . $i, '' ) ) {
|
485 |
continue;
|
@@ -522,7 +522,7 @@ if ( ! function_exists( 'wcj_get_currencies_names_and_symbols' ) ) {
|
|
522 |
}
|
523 |
if ( wcj_is_module_enabled( 'currency' ) && ( 'all' === $scope || 'custom_only' === $scope ) ) {
|
524 |
// Custom currencies
|
525 |
-
$custom_currency_total_number = apply_filters( '
|
526 |
for ( $i = 1; $i <= $custom_currency_total_number; $i++) {
|
527 |
$custom_currency_code = get_option( 'wcj_currency_custom_currency_code_' . $i );
|
528 |
$custom_currency_name = get_option( 'wcj_currency_custom_currency_name_' . $i );
|
@@ -557,7 +557,7 @@ if ( ! function_exists( 'wcj_get_currency_symbol' ) ) {
|
|
557 |
$currencies = wcj_get_currencies_names_and_symbols( 'symbols', 'no_custom' );
|
558 |
if ( isset( $currencies[ $currency_code ] ) ) {
|
559 |
if ( wcj_is_module_enabled( 'currency' ) ) {
|
560 |
-
$return = apply_filters( '
|
561 |
} else {
|
562 |
$return = $currencies[ $currency_code ];
|
563 |
}
|
2 |
/**
|
3 |
* Booster for WooCommerce - Functions - Price and Currency
|
4 |
*
|
5 |
+
* @version 3.3.0
|
6 |
* @since 2.7.0
|
7 |
* @author Algoritmika Ltd.
|
8 |
*/
|
146 |
*/
|
147 |
function wcj_get_currency_exchange_rate_product_base_currency( $currency_code ) {
|
148 |
$currency_exchange_rate = 1;
|
149 |
+
$total_number = apply_filters( 'booster_option', 1, get_option( 'wcj_multicurrency_base_price_total_number', 1 ) );
|
150 |
for ( $i = 1; $i <= $total_number; $i++ ) {
|
151 |
if ( $currency_code === get_option( 'wcj_multicurrency_base_price_currency_' . $i ) ) {
|
152 |
$currency_exchange_rate = get_option( 'wcj_multicurrency_base_price_exchange_rate_' . $i );
|
161 |
/**
|
162 |
* wcj_price_by_product_base_currency.
|
163 |
*
|
164 |
+
* @version 3.3.0
|
165 |
* @since 2.5.6
|
166 |
*/
|
167 |
function wcj_price_by_product_base_currency( $price, $product_id ) {
|
180 |
}
|
181 |
$multicurrency_base_price_currency = get_post_meta( $product_id, '_' . 'wcj_multicurrency_base_price_currency', true );
|
182 |
if ( '' != $multicurrency_base_price_currency ) {
|
183 |
+
if ( 1 != ( $currency_exchange_rate = wcj_get_currency_exchange_rate_product_base_currency( $multicurrency_base_price_currency ) ) && 0 != $currency_exchange_rate ) {
|
184 |
$_price = $price / $currency_exchange_rate;
|
185 |
if ( 'yes' === get_option( 'wcj_multicurrency_base_price_round_enabled', 'no' ) ) {
|
186 |
$_price = round( $_price, get_option( 'wcj_multicurrency_base_price_round_precision', get_option( 'woocommerce_price_num_decimals' ) ) );
|
317 |
$_product = wc_get_product( $product_id );
|
318 |
if ( $_product->is_type( 'variable' ) ) {
|
319 |
$available_variations = $_product->get_available_variations();
|
320 |
+
for ( $i = 1; $i <= apply_filters( 'booster_option', 1, get_option( 'wcj_price_by_country_total_groups_number', 1 ) ); $i++ ) {
|
321 |
$min_variation_price = PHP_INT_MAX;
|
322 |
$max_variation_price = 0;
|
323 |
foreach ( $available_variations as $variation ) {
|
346 |
if ( wcj_is_module_enabled( 'multicurrency_base_price' ) ) {
|
347 |
$_old_price = wcj_price_by_product_base_currency( $_old_price, $product_id );
|
348 |
}
|
349 |
+
for ( $i = 1; $i <= apply_filters( 'booster_option', 1, get_option( 'wcj_price_by_country_total_groups_number', 1 ) ); $i++ ) {
|
350 |
$price_by_country = wcj_price_by_country( $_old_price, $product_id, $i, WCJ_PRODUCT_GET_PRICE_FILTER );
|
351 |
update_post_meta( $product_id, '_' . 'wcj_price_by_country_' . $i, $price_by_country );
|
352 |
}
|
412 |
*/
|
413 |
function wcj_get_currency_by_country( $country_code ) {
|
414 |
$currency_code = '';
|
415 |
+
for ( $i = 1; $i <= apply_filters( 'booster_option', 1, get_option( 'wcj_price_by_country_total_groups_number', 1 ) ); $i++ ) {
|
416 |
switch ( get_option( 'wcj_price_by_country_selection', 'comma_list' ) ) {
|
417 |
case 'comma_list':
|
418 |
$country_exchange_rate_group = get_option( 'wcj_price_by_country_exchange_rate_countries_group_' . $i );
|
446 |
$currency_exchange_rate = 1;
|
447 |
if ( wcj_is_module_enabled( $module ) ) {
|
448 |
if ( 'multicurrency' === $module ) {
|
449 |
+
$total_number = apply_filters( 'booster_option', 2, get_option( 'wcj_multicurrency_total_number', 2 ) );
|
450 |
for ( $i = 1; $i <= $total_number; $i++ ) {
|
451 |
if ( $currency_code === get_option( 'wcj_multicurrency_currency_' . $i ) ) {
|
452 |
$currency_exchange_rate = get_option( 'wcj_multicurrency_exchange_rate_' . $i );
|
479 |
if ( 'yes' === get_option( 'wcj_purchase_price_affiliate_commission_enabled', 'no' ) ) {
|
480 |
$purchase_price += (float) get_post_meta( $product_id, '_' . 'wcj_purchase_price_affiliate_commission', true );
|
481 |
}
|
482 |
+
$total_number = apply_filters( 'booster_option', 1, get_option( 'wcj_purchase_data_custom_price_fields_total_number', 1 ) );
|
483 |
for ( $i = 1; $i <= $total_number; $i++ ) {
|
484 |
if ( '' == get_option( 'wcj_purchase_data_custom_price_field_name_' . $i, '' ) ) {
|
485 |
continue;
|
522 |
}
|
523 |
if ( wcj_is_module_enabled( 'currency' ) && ( 'all' === $scope || 'custom_only' === $scope ) ) {
|
524 |
// Custom currencies
|
525 |
+
$custom_currency_total_number = apply_filters( 'booster_option', 1, get_option( 'wcj_currency_custom_currency_total_number', 1 ) );
|
526 |
for ( $i = 1; $i <= $custom_currency_total_number; $i++) {
|
527 |
$custom_currency_code = get_option( 'wcj_currency_custom_currency_code_' . $i );
|
528 |
$custom_currency_name = get_option( 'wcj_currency_custom_currency_name_' . $i );
|
557 |
$currencies = wcj_get_currencies_names_and_symbols( 'symbols', 'no_custom' );
|
558 |
if ( isset( $currencies[ $currency_code ] ) ) {
|
559 |
if ( wcj_is_module_enabled( 'currency' ) ) {
|
560 |
+
$return = apply_filters( 'booster_option', $currencies[ $currency_code ], get_option( 'wcj_currency_' . $currency_code, $currencies[ $currency_code ] ) );
|
561 |
} else {
|
562 |
$return = $currencies[ $currency_code ];
|
563 |
}
|
includes/functions/wcj-functions-products.php
CHANGED
@@ -2,7 +2,7 @@
|
|
2 |
/**
|
3 |
* Booster for WooCommerce - Functions - Products
|
4 |
*
|
5 |
-
* @version 3.
|
6 |
* @since 2.9.0
|
7 |
* @author Algoritmika Ltd.
|
8 |
*/
|
@@ -354,14 +354,14 @@ if ( ! function_exists( 'wcj_is_product_wholesale_enabled_per_product' ) ) {
|
|
354 |
/**
|
355 |
* wcj_is_product_wholesale_enabled_per_product.
|
356 |
*
|
357 |
-
* @version
|
358 |
* @since 2.5.0
|
359 |
*/
|
360 |
function wcj_is_product_wholesale_enabled_per_product( $product_id ) {
|
361 |
return (
|
362 |
'yes' === get_option( 'wcj_wholesale_price_per_product_enable', 'yes' ) &&
|
363 |
'yes' === get_post_meta( $product_id, '_' . 'wcj_wholesale_price_per_product_enabled', true )
|
364 |
-
)
|
365 |
}
|
366 |
}
|
367 |
|
@@ -369,7 +369,7 @@ if ( ! function_exists( 'wcj_is_product_wholesale_enabled' ) ) {
|
|
369 |
/**
|
370 |
* wcj_is_product_wholesale_enabled.
|
371 |
*
|
372 |
-
* @version
|
373 |
*/
|
374 |
function wcj_is_product_wholesale_enabled( $product_id ) {
|
375 |
if ( wcj_is_module_enabled( 'wholesale_price' ) ) {
|
@@ -378,25 +378,13 @@ if ( ! function_exists( 'wcj_is_product_wholesale_enabled' ) ) {
|
|
378 |
} else {
|
379 |
$products_to_include_passed = false;
|
380 |
$products_to_include = get_option( 'wcj_wholesale_price_products_to_include', array() );
|
381 |
-
if ( empty ( $products_to_include ) ) {
|
382 |
$products_to_include_passed = true;
|
383 |
-
} else {
|
384 |
-
foreach ( $products_to_include as $id ) {
|
385 |
-
if ( $product_id == $id ) {
|
386 |
-
$products_to_include_passed = true;
|
387 |
-
}
|
388 |
-
}
|
389 |
}
|
390 |
$products_to_exclude_passed = false;
|
391 |
$products_to_exclude = get_option( 'wcj_wholesale_price_products_to_exclude', array() );
|
392 |
-
if ( empty ( $products_to_exclude ) ) {
|
393 |
$products_to_exclude_passed = true;
|
394 |
-
} else {
|
395 |
-
foreach ( $products_to_exclude as $id ) {
|
396 |
-
if ( $product_id == $id ) {
|
397 |
-
$products_to_exclude_passed = false;
|
398 |
-
}
|
399 |
-
}
|
400 |
}
|
401 |
return ( $products_to_include_passed && $products_to_exclude_passed );
|
402 |
}
|
2 |
/**
|
3 |
* Booster for WooCommerce - Functions - Products
|
4 |
*
|
5 |
+
* @version 3.3.0
|
6 |
* @since 2.9.0
|
7 |
* @author Algoritmika Ltd.
|
8 |
*/
|
354 |
/**
|
355 |
* wcj_is_product_wholesale_enabled_per_product.
|
356 |
*
|
357 |
+
* @version 3.3.0
|
358 |
* @since 2.5.0
|
359 |
*/
|
360 |
function wcj_is_product_wholesale_enabled_per_product( $product_id ) {
|
361 |
return (
|
362 |
'yes' === get_option( 'wcj_wholesale_price_per_product_enable', 'yes' ) &&
|
363 |
'yes' === get_post_meta( $product_id, '_' . 'wcj_wholesale_price_per_product_enabled', true )
|
364 |
+
);
|
365 |
}
|
366 |
}
|
367 |
|
369 |
/**
|
370 |
* wcj_is_product_wholesale_enabled.
|
371 |
*
|
372 |
+
* @version 3.3.0
|
373 |
*/
|
374 |
function wcj_is_product_wholesale_enabled( $product_id ) {
|
375 |
if ( wcj_is_module_enabled( 'wholesale_price' ) ) {
|
378 |
} else {
|
379 |
$products_to_include_passed = false;
|
380 |
$products_to_include = get_option( 'wcj_wholesale_price_products_to_include', array() );
|
381 |
+
if ( empty( $products_to_include ) || in_array( $product_id, $products_to_include ) ) {
|
382 |
$products_to_include_passed = true;
|
|
|
|
|
|
|
|
|
|
|
|
|
383 |
}
|
384 |
$products_to_exclude_passed = false;
|
385 |
$products_to_exclude = get_option( 'wcj_wholesale_price_products_to_exclude', array() );
|
386 |
+
if ( empty( $products_to_exclude ) || ! in_array( $product_id, $products_to_exclude ) ) {
|
387 |
$products_to_exclude_passed = true;
|
|
|
|
|
|
|
|
|
|
|
|
|
388 |
}
|
389 |
return ( $products_to_include_passed && $products_to_exclude_passed );
|
390 |
}
|
includes/functions/wcj-functions-users.php
CHANGED
@@ -75,7 +75,7 @@ if ( ! function_exists( 'wcj_is_booster_role_changer_enabled' ) ) {
|
|
75 |
*/
|
76 |
function wcj_is_booster_role_changer_enabled() {
|
77 |
return (
|
78 |
-
'yes' === apply_filters( '
|
79 |
wcj_is_user_logged_in() &&
|
80 |
wcj_is_user_role( get_option( 'wcj_general_user_role_changer_enabled_for', array( 'administrator', 'shop_manager' ) ) )
|
81 |
);
|
75 |
*/
|
76 |
function wcj_is_booster_role_changer_enabled() {
|
77 |
return (
|
78 |
+
'yes' === apply_filters( 'booster_option', 'no', get_option( 'wcj_general_user_role_changer_enabled', 'no' ) ) &&
|
79 |
wcj_is_user_logged_in() &&
|
80 |
wcj_is_user_role( get_option( 'wcj_general_user_role_changer_enabled_for', array( 'administrator', 'shop_manager' ) ) )
|
81 |
);
|
includes/gateways/class-wc-gateway-wcj-custom.php
CHANGED
@@ -109,8 +109,8 @@ if ( ! function_exists( 'init_wc_gateway_wcj_custom_class' ) ) {
|
|
109 |
'type' => 'number',
|
110 |
'desc_tip' => __( 'If you want to set minimum order amount (excluding fees) to show this gateway on frontend, enter a number here. Set to 0 to disable.', 'woocommerce-jetpack' ),
|
111 |
'default' => 0,
|
112 |
-
'description' => apply_filters( '
|
113 |
-
'custom_attributes' => apply_filters( '
|
114 |
),
|
115 |
|
116 |
'enable_for_methods' => array(
|
@@ -167,8 +167,8 @@ if ( ! function_exists( 'init_wc_gateway_wcj_custom_class' ) ) {
|
|
167 |
);
|
168 |
|
169 |
if ( 1 != $this->id_count ) {
|
170 |
-
$this->form_fields['enabled']['description'] = apply_filters( '
|
171 |
-
$this->form_fields['enabled']['custom_attributes'] = apply_filters( '
|
172 |
}
|
173 |
}
|
174 |
|
@@ -193,7 +193,7 @@ if ( ! function_exists( 'init_wc_gateway_wcj_custom_class' ) ) {
|
|
193 |
function is_available() {
|
194 |
|
195 |
// Check min amount
|
196 |
-
$min_amount = apply_filters( '
|
197 |
if ( $min_amount > 0 && isset( WC()->cart->total ) && '' != WC()->cart->total && isset( WC()->cart->fee_total ) ) {
|
198 |
$total_excluding_fees = WC()->cart->total - WC()->cart->fee_total;
|
199 |
if ( $total_excluding_fees < $min_amount )
|
@@ -389,7 +389,7 @@ if ( ! function_exists( 'init_wc_gateway_wcj_custom_class' ) ) {
|
|
389 |
* @version 2.5.6
|
390 |
*/
|
391 |
function add_wc_gateway_wcj_custom_classes( $methods ) {
|
392 |
-
$the_number = apply_filters( '
|
393 |
for ( $i = 1; $i <= $the_number; $i++ ) {
|
394 |
$the_method = new WC_Gateway_WCJ_Custom_Template();
|
395 |
$the_method->init( $i );
|
109 |
'type' => 'number',
|
110 |
'desc_tip' => __( 'If you want to set minimum order amount (excluding fees) to show this gateway on frontend, enter a number here. Set to 0 to disable.', 'woocommerce-jetpack' ),
|
111 |
'default' => 0,
|
112 |
+
'description' => apply_filters( 'booster_message', '', 'desc' ),
|
113 |
+
'custom_attributes' => apply_filters( 'booster_message', '', 'disabled' ),
|
114 |
),
|
115 |
|
116 |
'enable_for_methods' => array(
|
167 |
);
|
168 |
|
169 |
if ( 1 != $this->id_count ) {
|
170 |
+
$this->form_fields['enabled']['description'] = apply_filters( 'booster_message', '', 'desc' );
|
171 |
+
$this->form_fields['enabled']['custom_attributes'] = apply_filters( 'booster_message', '', 'disabled' );
|
172 |
}
|
173 |
}
|
174 |
|
193 |
function is_available() {
|
194 |
|
195 |
// Check min amount
|
196 |
+
$min_amount = apply_filters( 'booster_option', 0, $this->min_amount );
|
197 |
if ( $min_amount > 0 && isset( WC()->cart->total ) && '' != WC()->cart->total && isset( WC()->cart->fee_total ) ) {
|
198 |
$total_excluding_fees = WC()->cart->total - WC()->cart->fee_total;
|
199 |
if ( $total_excluding_fees < $min_amount )
|
389 |
* @version 2.5.6
|
390 |
*/
|
391 |
function add_wc_gateway_wcj_custom_classes( $methods ) {
|
392 |
+
$the_number = apply_filters( 'booster_option', 1, get_option( 'wcj_custom_payment_gateways_number', 1 ) );
|
393 |
for ( $i = 1; $i <= $the_number; $i++ ) {
|
394 |
$the_method = new WC_Gateway_WCJ_Custom_Template();
|
395 |
$the_method->init( $i );
|
includes/input-fields/class-wcj-product-input-fields-core.php
CHANGED
@@ -75,7 +75,7 @@ class WCJ_Product_Input_Fields_Core {
|
|
75 |
return;
|
76 |
|
77 |
// Save enabled, required, title etc.
|
78 |
-
$default_total_input_fields = apply_filters( '
|
79 |
$total_input_fields_before_saving = get_post_meta( $post_id, '_' . 'wcj_product_input_fields_local_total_number', true );
|
80 |
$total_input_fields_before_saving = ( '' != $total_input_fields_before_saving ) ? $total_input_fields_before_saving : $default_total_input_fields;
|
81 |
$options = $this->get_options();
|
@@ -128,15 +128,15 @@ class WCJ_Product_Input_Fields_Core {
|
|
128 |
$current_post_id = get_the_ID();
|
129 |
$option_name = 'wcj_' . $meta_box_id . '_local_total_number';
|
130 |
// If none total number set - check for the default
|
131 |
-
if ( ! ( $total_number = apply_filters( '
|
132 |
-
$total_number = apply_filters( '
|
133 |
|
134 |
// Start html
|
135 |
$html = '';
|
136 |
|
137 |
// Total number
|
138 |
-
$is_disabled = apply_filters( '
|
139 |
-
$is_disabled_message = apply_filters( '
|
140 |
$html .= '<table>';
|
141 |
$html .= '<tr>';
|
142 |
$html .= '<th>';
|
@@ -258,7 +258,7 @@ class WCJ_Product_Input_Fields_Core {
|
|
258 |
) {
|
259 |
foreach ( $order->get_items() as $item_key => $item ) {
|
260 |
$product_id = $item['product_id'];
|
261 |
-
$total_number = apply_filters( '
|
262 |
for ( $i = 1; $i <= $total_number; $i++ ) {
|
263 |
$meta_key = 'wcj_product_input_fields_' . $this->scope . '_' . $i;
|
264 |
if ( ! WCJ_IS_WC_VERSION_BELOW_3 ) {
|
@@ -287,7 +287,7 @@ class WCJ_Product_Input_Fields_Core {
|
|
287 |
function hide_custom_input_fields_default_output_in_admin_order( $hidden_metas ) {
|
288 |
$total_number = 0;
|
289 |
if ( 'global' === $this->scope ) {
|
290 |
-
$total_number = apply_filters( '
|
291 |
} else {
|
292 |
$max_number_of_fields_for_local = 100;
|
293 |
$total_number = $max_number_of_fields_for_local;
|
@@ -311,7 +311,7 @@ class WCJ_Product_Input_Fields_Core {
|
|
311 |
}
|
312 |
echo '<table cellspacing="0" class="display_meta">';
|
313 |
$_product_id = wcj_get_product_id_or_variation_parent_id( $_product );
|
314 |
-
$total_number = apply_filters( '
|
315 |
for ( $i = 1; $i <= $total_number; $i++ ) {
|
316 |
|
317 |
$the_nice_name = $this->get_value( 'wcj_product_input_fields_title_' . $this->scope . '_' . $i, $_product_id, '' );
|
@@ -353,7 +353,7 @@ class WCJ_Product_Input_Fields_Core {
|
|
353 |
* @version 3.1.0
|
354 |
*/
|
355 |
function validate_product_input_fields_on_add_to_cart( $passed, $product_id ) {
|
356 |
-
$total_number = apply_filters( '
|
357 |
for ( $i = 1; $i <= $total_number; $i++ ) {
|
358 |
|
359 |
if ( ! $this->is_enabled( $i, $product_id ) ) {
|
@@ -423,7 +423,7 @@ class WCJ_Product_Input_Fields_Core {
|
|
423 |
}
|
424 |
$_product_id = wcj_get_product_id_or_variation_parent_id( $product );
|
425 |
$fields = array();
|
426 |
-
$total_number = apply_filters( '
|
427 |
for ( $i = 1; $i <= $total_number; $i++ ) {
|
428 |
|
429 |
$type = $this->get_value( 'wcj_product_input_fields_type_' . $this->scope . '_' . $i, $_product_id, 'text' );
|
@@ -610,7 +610,7 @@ class WCJ_Product_Input_Fields_Core {
|
|
610 |
* @version 3.1.0
|
611 |
*/
|
612 |
function add_product_input_fields_to_cart_item_data( $cart_item_data, $product_id, $variation_id ) {
|
613 |
-
$total_number = apply_filters( '
|
614 |
for ( $i = 1; $i <= $total_number; $i++ ) {
|
615 |
if ( ! $this->is_enabled( $i, $product_id ) ) {
|
616 |
continue;
|
@@ -637,7 +637,7 @@ class WCJ_Product_Input_Fields_Core {
|
|
637 |
* get_cart_item_product_input_fields_from_session.
|
638 |
*/
|
639 |
function get_cart_item_product_input_fields_from_session( $item, $values, $key ) {
|
640 |
-
$total_number = apply_filters( '
|
641 |
for ( $i = 1; $i <= $total_number; $i++ ) {
|
642 |
if ( array_key_exists( 'wcj_product_input_fields_' . $this->scope . '_' . $i, $values ) )
|
643 |
$item[ 'wcj_product_input_fields_' . $this->scope . '_' . $i ] = $values[ 'wcj_product_input_fields_' . $this->scope . '_' . $i ];
|
@@ -651,7 +651,7 @@ class WCJ_Product_Input_Fields_Core {
|
|
651 |
* @version 3.1.0
|
652 |
*/
|
653 |
function add_product_input_fields_to_order_item_name( $name, $item, $is_cart = false ) {
|
654 |
-
$total_number = apply_filters( '
|
655 |
if ( $total_number < 1 ) {
|
656 |
return $name;
|
657 |
}
|
@@ -715,7 +715,7 @@ class WCJ_Product_Input_Fields_Core {
|
|
715 |
* @since 2.9.0
|
716 |
*/
|
717 |
function add_product_input_fields_to_cart_item_display_data( $item_data, $item ) {
|
718 |
-
$total_number = apply_filters( '
|
719 |
if ( $total_number < 1 ) {
|
720 |
return $item_data;
|
721 |
}
|
@@ -760,7 +760,7 @@ class WCJ_Product_Input_Fields_Core {
|
|
760 |
* @version 2.5.0
|
761 |
*/
|
762 |
function add_product_input_fields_to_order_item_meta( $item_id, $values, $cart_item_key ) {
|
763 |
-
$total_number = apply_filters( '
|
764 |
for ( $i = 1; $i <= $total_number; $i++ ) {
|
765 |
if ( array_key_exists( 'wcj_product_input_fields_' . $this->scope . '_' . $i , $values ) ) {
|
766 |
$type = $this->get_value( 'wcj_product_input_fields_type_' . $this->scope . '_' . $i, $values['product_id'], '' );
|
75 |
return;
|
76 |
|
77 |
// Save enabled, required, title etc.
|
78 |
+
$default_total_input_fields = apply_filters( 'booster_option', 1, get_option( 'wcj_product_input_fields_local_total_number_default', 1 ) );
|
79 |
$total_input_fields_before_saving = get_post_meta( $post_id, '_' . 'wcj_product_input_fields_local_total_number', true );
|
80 |
$total_input_fields_before_saving = ( '' != $total_input_fields_before_saving ) ? $total_input_fields_before_saving : $default_total_input_fields;
|
81 |
$options = $this->get_options();
|
128 |
$current_post_id = get_the_ID();
|
129 |
$option_name = 'wcj_' . $meta_box_id . '_local_total_number';
|
130 |
// If none total number set - check for the default
|
131 |
+
if ( ! ( $total_number = apply_filters( 'booster_option', 1, get_post_meta( $current_post_id, '_' . $option_name, true ) ) ) )
|
132 |
+
$total_number = apply_filters( 'booster_option', 1, get_option( 'wcj_' . $meta_box_id . '_local_total_number_default', 1 ) );
|
133 |
|
134 |
// Start html
|
135 |
$html = '';
|
136 |
|
137 |
// Total number
|
138 |
+
$is_disabled = apply_filters( 'booster_message', '', 'readonly_string' );
|
139 |
+
$is_disabled_message = apply_filters( 'booster_message', '', 'desc' );
|
140 |
$html .= '<table>';
|
141 |
$html .= '<tr>';
|
142 |
$html .= '<th>';
|
258 |
) {
|
259 |
foreach ( $order->get_items() as $item_key => $item ) {
|
260 |
$product_id = $item['product_id'];
|
261 |
+
$total_number = apply_filters( 'booster_option', 1, $this->get_value( 'wcj_' . 'product_input_fields' . '_' . $this->scope . '_total_number', $product_id, 1 ) );
|
262 |
for ( $i = 1; $i <= $total_number; $i++ ) {
|
263 |
$meta_key = 'wcj_product_input_fields_' . $this->scope . '_' . $i;
|
264 |
if ( ! WCJ_IS_WC_VERSION_BELOW_3 ) {
|
287 |
function hide_custom_input_fields_default_output_in_admin_order( $hidden_metas ) {
|
288 |
$total_number = 0;
|
289 |
if ( 'global' === $this->scope ) {
|
290 |
+
$total_number = apply_filters( 'booster_option', 1, $this->get_value( 'wcj_' . 'product_input_fields' . '_' . $this->scope . '_total_number', 0, 1 ) );
|
291 |
} else {
|
292 |
$max_number_of_fields_for_local = 100;
|
293 |
$total_number = $max_number_of_fields_for_local;
|
311 |
}
|
312 |
echo '<table cellspacing="0" class="display_meta">';
|
313 |
$_product_id = wcj_get_product_id_or_variation_parent_id( $_product );
|
314 |
+
$total_number = apply_filters( 'booster_option', 1, $this->get_value( 'wcj_' . 'product_input_fields' . '_' . $this->scope . '_total_number', $_product_id, 1 ) );
|
315 |
for ( $i = 1; $i <= $total_number; $i++ ) {
|
316 |
|
317 |
$the_nice_name = $this->get_value( 'wcj_product_input_fields_title_' . $this->scope . '_' . $i, $_product_id, '' );
|
353 |
* @version 3.1.0
|
354 |
*/
|
355 |
function validate_product_input_fields_on_add_to_cart( $passed, $product_id ) {
|
356 |
+
$total_number = apply_filters( 'booster_option', 1, $this->get_value( 'wcj_' . 'product_input_fields' . '_' . $this->scope . '_total_number', $product_id, 1 ) );
|
357 |
for ( $i = 1; $i <= $total_number; $i++ ) {
|
358 |
|
359 |
if ( ! $this->is_enabled( $i, $product_id ) ) {
|
423 |
}
|
424 |
$_product_id = wcj_get_product_id_or_variation_parent_id( $product );
|
425 |
$fields = array();
|
426 |
+
$total_number = apply_filters( 'booster_option', 1, $this->get_value( 'wcj_' . 'product_input_fields' . '_' . $this->scope . '_total_number', $_product_id, 1 ) );
|
427 |
for ( $i = 1; $i <= $total_number; $i++ ) {
|
428 |
|
429 |
$type = $this->get_value( 'wcj_product_input_fields_type_' . $this->scope . '_' . $i, $_product_id, 'text' );
|
610 |
* @version 3.1.0
|
611 |
*/
|
612 |
function add_product_input_fields_to_cart_item_data( $cart_item_data, $product_id, $variation_id ) {
|
613 |
+
$total_number = apply_filters( 'booster_option', 1, $this->get_value( 'wcj_' . 'product_input_fields' . '_' . $this->scope . '_total_number', $product_id, 1 ) );
|
614 |
for ( $i = 1; $i <= $total_number; $i++ ) {
|
615 |
if ( ! $this->is_enabled( $i, $product_id ) ) {
|
616 |
continue;
|
637 |
* get_cart_item_product_input_fields_from_session.
|
638 |
*/
|
639 |
function get_cart_item_product_input_fields_from_session( $item, $values, $key ) {
|
640 |
+
$total_number = apply_filters( 'booster_option', 1, $this->get_value( 'wcj_' . 'product_input_fields' . '_' . $this->scope . '_total_number', $item['product_id'], 1 ) );
|
641 |
for ( $i = 1; $i <= $total_number; $i++ ) {
|
642 |
if ( array_key_exists( 'wcj_product_input_fields_' . $this->scope . '_' . $i, $values ) )
|
643 |
$item[ 'wcj_product_input_fields_' . $this->scope . '_' . $i ] = $values[ 'wcj_product_input_fields_' . $this->scope . '_' . $i ];
|
651 |
* @version 3.1.0
|
652 |
*/
|
653 |
function add_product_input_fields_to_order_item_name( $name, $item, $is_cart = false ) {
|
654 |
+
$total_number = apply_filters( 'booster_option', 1, $this->get_value( 'wcj_' . 'product_input_fields' . '_' . $this->scope . '_total_number', $item['product_id'], 1 ) );
|
655 |
if ( $total_number < 1 ) {
|
656 |
return $name;
|
657 |
}
|
715 |
* @since 2.9.0
|
716 |
*/
|
717 |
function add_product_input_fields_to_cart_item_display_data( $item_data, $item ) {
|
718 |
+
$total_number = apply_filters( 'booster_option', 1, $this->get_value( 'wcj_' . 'product_input_fields' . '_' . $this->scope . '_total_number', $item['product_id'], 1 ) );
|
719 |
if ( $total_number < 1 ) {
|
720 |
return $item_data;
|
721 |
}
|
760 |
* @version 2.5.0
|
761 |
*/
|
762 |
function add_product_input_fields_to_order_item_meta( $item_id, $values, $cart_item_key ) {
|
763 |
+
$total_number = apply_filters( 'booster_option', 1, $this->get_value( 'wcj_' . 'product_input_fields' . '_' . $this->scope . '_total_number', $values['product_id'], 1 ) );
|
764 |
for ( $i = 1; $i <= $total_number; $i++ ) {
|
765 |
if ( array_key_exists( 'wcj_product_input_fields_' . $this->scope . '_' . $i , $values ) ) {
|
766 |
$type = $this->get_value( 'wcj_product_input_fields_type_' . $this->scope . '_' . $i, $values['product_id'], '' );
|
includes/lib/tcpdf_min/include/barcodes/pdf417.php
CHANGED
@@ -744,6 +744,12 @@ class PDF417 {
|
|
744 |
$maxecl = 8; // starting error level
|
745 |
$maxerrsize = (928 - $numcw); // available codewords for error
|
746 |
while ($maxecl > 0) {
|
|
|
|
|
|
|
|
|
|
|
|
|
747 |
$errsize = (2 << $ecl);
|
748 |
if ($maxerrsize >= $errsize) {
|
749 |
break;
|
744 |
$maxecl = 8; // starting error level
|
745 |
$maxerrsize = (928 - $numcw); // available codewords for error
|
746 |
while ($maxecl > 0) {
|
747 |
+
/////////////////////////////
|
748 |
+
// Algoritmika
|
749 |
+
if ( version_compare( PHP_VERSION, '7.0.0' ) >= 0 && $ecl < 0 ) {
|
750 |
+
$ecl = 0;
|
751 |
+
}
|
752 |
+
/////////////////////////////
|
753 |
$errsize = (2 << $ecl);
|
754 |
if ($maxerrsize >= $errsize) {
|
755 |
break;
|
includes/pdf-invoices/class-wcj-pdf-invoicing-report-tool.php
CHANGED
@@ -2,7 +2,7 @@
|
|
2 |
/**
|
3 |
* Booster for WooCommerce - PDF Invoicing - Report Tool
|
4 |
*
|
5 |
-
* @version 3.
|
6 |
* @since 2.2.1
|
7 |
* @author Algoritmika Ltd.
|
8 |
*/
|
@@ -295,24 +295,15 @@ class WCJ_PDF_Invoicing_Report_Tool {
|
|
295 |
/**
|
296 |
* Invoices Report Data function.
|
297 |
*
|
298 |
-
* @version 3.
|
299 |
* @since 2.5.7
|
300 |
*/
|
301 |
function get_invoices_report_data( $year, $month, $invoice_type_id ) {
|
302 |
-
|
303 |
-
|
304 |
-
|
305 |
-
|
306 |
-
|
307 |
-
__( 'Customer VAT ID', 'woocommerce-jetpack' ),
|
308 |
-
__( 'Tax %', 'woocommerce-jetpack' ),
|
309 |
-
__( 'Order Total Tax Excluding', 'woocommerce-jetpack' ),
|
310 |
-
__( 'Order Taxes', 'woocommerce-jetpack' ),
|
311 |
-
__( 'Order Total', 'woocommerce-jetpack' ),
|
312 |
-
__( 'Order Currency', 'woocommerce-jetpack' ),
|
313 |
-
__( 'Payment Gateway', 'woocommerce-jetpack' ),
|
314 |
-
__( 'Refunds', 'woocommerce-jetpack' ),
|
315 |
-
);
|
316 |
|
317 |
$total_sum = 0;
|
318 |
$total_sum_excl_tax = 0;
|
@@ -321,6 +312,8 @@ class WCJ_PDF_Invoicing_Report_Tool {
|
|
321 |
$first_minute = mktime( 0, 0, 0, $month, 1, $year );
|
322 |
$last_minute = mktime( 23, 59, 59, $month, date( 't', $first_minute ), $year );
|
323 |
|
|
|
|
|
324 |
$data = array();
|
325 |
$offset = 0;
|
326 |
$block_size = 512;
|
@@ -364,36 +357,108 @@ class WCJ_PDF_Invoicing_Report_Tool {
|
|
364 |
$order_tax = apply_filters( 'wcj_order_total_tax', $the_order->get_total_tax(), $the_order );
|
365 |
$order_total_exlc_tax = $order_total - $order_tax;
|
366 |
$order_total_tax_not_rounded = $the_order->get_cart_tax() + $the_order->get_shipping_tax();
|
367 |
-
$order_tax_percent = ( 0 == $
|
368 |
|
369 |
$total_sum += $order_total;
|
370 |
$total_sum_excl_tax += $order_total_exlc_tax;
|
371 |
$total_tax += $order_tax;
|
372 |
|
373 |
-
$
|
374 |
-
|
375 |
-
$
|
376 |
-
|
377 |
-
|
378 |
-
|
379 |
-
|
380 |
-
|
381 |
-
|
382 |
-
|
383 |
-
|
384 |
-
|
385 |
-
|
386 |
-
|
387 |
-
|
388 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
389 |
}
|
390 |
}
|
391 |
$offset += $block_size;
|
392 |
}
|
393 |
|
|
|
|
|
394 |
return ( ! empty( $data ) ? array_merge( array( $headers ), $data ) : array() );
|
395 |
}
|
396 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
397 |
}
|
398 |
|
399 |
endif;
|
2 |
/**
|
3 |
* Booster for WooCommerce - PDF Invoicing - Report Tool
|
4 |
*
|
5 |
+
* @version 3.3.0
|
6 |
* @since 2.2.1
|
7 |
* @author Algoritmika Ltd.
|
8 |
*/
|
295 |
/**
|
296 |
* Invoices Report Data function.
|
297 |
*
|
298 |
+
* @version 3.3.0
|
299 |
* @since 2.5.7
|
300 |
*/
|
301 |
function get_invoices_report_data( $year, $month, $invoice_type_id ) {
|
302 |
+
|
303 |
+
$columns = get_option( 'wcj_pdf_invoicing_report_tool_columns', '' );
|
304 |
+
if ( empty( $columns ) ) {
|
305 |
+
$columns = array_keys( WCJ()->modules['pdf_invoicing_advanced']->get_report_columns() );
|
306 |
+
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
307 |
|
308 |
$total_sum = 0;
|
309 |
$total_sum_excl_tax = 0;
|
312 |
$first_minute = mktime( 0, 0, 0, $month, 1, $year );
|
313 |
$last_minute = mktime( 23, 59, 59, $month, date( 't', $first_minute ), $year );
|
314 |
|
315 |
+
$tax_percent_format = '%.' . get_option( 'wcj_pdf_invoicing_report_tool_tax_percent_precision', 0 ) . 'f %%';
|
316 |
+
|
317 |
$data = array();
|
318 |
$offset = 0;
|
319 |
$block_size = 512;
|
357 |
$order_tax = apply_filters( 'wcj_order_total_tax', $the_order->get_total_tax(), $the_order );
|
358 |
$order_total_exlc_tax = $order_total - $order_tax;
|
359 |
$order_total_tax_not_rounded = $the_order->get_cart_tax() + $the_order->get_shipping_tax();
|
360 |
+
$order_tax_percent = ( 0 == $order_total_exlc_tax ? 0 : $order_total_tax_not_rounded / $order_total_exlc_tax );
|
361 |
|
362 |
$total_sum += $order_total;
|
363 |
$total_sum_excl_tax += $order_total_exlc_tax;
|
364 |
$total_tax += $order_tax;
|
365 |
|
366 |
+
$order_cart_tax = $the_order->get_cart_tax();
|
367 |
+
$order_shipping_tax = $the_order->get_shipping_tax();
|
368 |
+
$order_cart_total_excl_tax = 0;
|
369 |
+
foreach ( $the_order->get_items() as $item ) {
|
370 |
+
$order_cart_total_excl_tax += $item->get_total();
|
371 |
+
}
|
372 |
+
$order_shipping_total_excl_tax = $the_order->get_shipping_total();
|
373 |
+
$order_cart_tax_percent = ( 0 == $order_cart_total_excl_tax ? 0 : $order_cart_tax / $order_cart_total_excl_tax );
|
374 |
+
$order_shipping_tax_percent = ( 0 == $order_shipping_total_excl_tax ? 0 : $order_shipping_tax / $order_shipping_total_excl_tax );
|
375 |
+
|
376 |
+
$row = array();
|
377 |
+
foreach ( $columns as $column ) {
|
378 |
+
switch ( $column ) {
|
379 |
+
case 'document_number':
|
380 |
+
$row[] = wcj_get_invoice_number( $order_id, $invoice_type_id );
|
381 |
+
break;
|
382 |
+
case 'document_date':
|
383 |
+
$row[] = wcj_get_invoice_date( $order_id, $invoice_type_id, 0, get_option( 'date_format' ) );
|
384 |
+
break;
|
385 |
+
case 'order_id':
|
386 |
+
$row[] = $order_id;
|
387 |
+
break;
|
388 |
+
case 'customer_country':
|
389 |
+
$row[] = $customer_country;
|
390 |
+
break;
|
391 |
+
case 'customer_vat_id':
|
392 |
+
$row[] = $customer_vat_id;
|
393 |
+
break;
|
394 |
+
case 'tax_percent':
|
395 |
+
$row[] = sprintf( $tax_percent_format, $order_tax_percent * 100 );
|
396 |
+
break;
|
397 |
+
case 'order_total_tax_excluding':
|
398 |
+
$row[] = sprintf( '%.2f', $order_total_exlc_tax );
|
399 |
+
break;
|
400 |
+
case 'order_taxes':
|
401 |
+
$row[] = sprintf( '%.2f', $order_tax );
|
402 |
+
break;
|
403 |
+
case 'order_cart_total_excl_tax':
|
404 |
+
$row[] = sprintf( '%.2f', $order_cart_total_excl_tax );
|
405 |
+
break;
|
406 |
+
case 'order_cart_tax':
|
407 |
+
$row[] = sprintf( '%.2f', $order_cart_tax );
|
408 |
+
break;
|
409 |
+
case 'order_cart_tax_percent':
|
410 |
+
$row[] = sprintf( $tax_percent_format, $order_cart_tax_percent * 100 );
|
411 |
+
break;
|
412 |
+
case 'order_shipping_total_excl_tax':
|
413 |
+
$row[] = sprintf( '%.2f', $order_shipping_total_excl_tax );
|
414 |
+
break;
|
415 |
+
case 'order_shipping_tax':
|
416 |
+
$row[] = sprintf( '%.2f', $order_shipping_tax );
|
417 |
+
break;
|
418 |
+
case 'order_shipping_tax_percent':
|
419 |
+
$row[] = sprintf( $tax_percent_format, $order_shipping_tax_percent * 100 );
|
420 |
+
break;
|
421 |
+
case 'order_total':
|
422 |
+
$row[] = sprintf( '%.2f', $order_total );
|
423 |
+
break;
|
424 |
+
case 'order_currency':
|
425 |
+
$row[] = wcj_get_order_currency( $the_order );
|
426 |
+
break;
|
427 |
+
case 'payment_gateway':
|
428 |
+
$row[] = get_post_meta( $order_id, '_payment_method_title', true );
|
429 |
+
break;
|
430 |
+
case 'refunds':
|
431 |
+
$row[] = $the_order->get_total_refunded();
|
432 |
+
break;
|
433 |
+
}
|
434 |
+
}
|
435 |
+
$data[] = $row;
|
436 |
}
|
437 |
}
|
438 |
$offset += $block_size;
|
439 |
}
|
440 |
|
441 |
+
$headers = $this->get_headers( $columns );
|
442 |
+
|
443 |
return ( ! empty( $data ) ? array_merge( array( $headers ), $data ) : array() );
|
444 |
}
|
445 |
|
446 |
+
/**
|
447 |
+
* get_headers.
|
448 |
+
*
|
449 |
+
* @version 3.3.0
|
450 |
+
* @since 3.3.0
|
451 |
+
*/
|
452 |
+
function get_headers( $columns ) {
|
453 |
+
$headers = array();
|
454 |
+
$all_headers = WCJ()->modules['pdf_invoicing_advanced']->get_report_columns();
|
455 |
+
foreach ( $columns as $column ) {
|
456 |
+
$headers[] = $all_headers[ $column ];
|
457 |
+
}
|
458 |
+
return $headers;
|
459 |
+
}
|
460 |
+
|
461 |
+
|
462 |
}
|
463 |
|
464 |
endif;
|
includes/pdf-invoices/submodules/class-wcj-pdf-invoicing-advanced.php
ADDED
@@ -0,0 +1,87 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?php
|
2 |
+
/**
|
3 |
+
* Booster for WooCommerce - PDF Invoicing - Advanced
|
4 |
+
*
|
5 |
+
* @version 3.3.0
|
6 |
+
* @since 3.3.0
|
7 |
+
* @author Algoritmika Ltd.
|
8 |
+
*/
|
9 |
+
|
10 |
+
if ( ! defined( 'ABSPATH' ) ) exit;
|
11 |
+
|
12 |
+
if ( ! class_exists( 'WCJ_PDF_Invoicing_Advanced' ) ) :
|
13 |
+
|
14 |
+
class WCJ_PDF_Invoicing_Advanced extends WCJ_Module {
|
15 |
+
|
16 |
+
/**
|
17 |
+
* Constructor.
|
18 |
+
*
|
19 |
+
* @version 3.3.0
|
20 |
+
* @since 3.3.0
|
21 |
+
*/
|
22 |
+
function __construct() {
|
23 |
+
$this->id = 'pdf_invoicing_advanced';
|
24 |
+
$this->parent_id = 'pdf_invoicing';
|
25 |
+
$this->short_desc = __( 'Advanced', 'woocommerce-jetpack' );
|
26 |
+
$this->desc = '';
|
27 |
+
parent::__construct( 'submodule' );
|
28 |
+
}
|
29 |
+
|
30 |
+
/**
|
31 |
+
* get_report_default_columns.
|
32 |
+
*
|
33 |
+
* @version 3.3.0
|
34 |
+
* @since 3.3.0
|
35 |
+
*/
|
36 |
+
function get_report_default_columns() {
|
37 |
+
return array_keys( array(
|
38 |
+
'document_number' => __( 'Document Number', 'woocommerce-jetpack' ),
|
39 |
+
'document_date' => __( 'Document Date', 'woocommerce-jetpack' ),
|
40 |
+
'order_id' => __( 'Order ID', 'woocommerce-jetpack' ),
|
41 |
+
'customer_country' => __( 'Customer Country', 'woocommerce-jetpack' ),
|
42 |
+
'customer_vat_id' => __( 'Customer VAT ID', 'woocommerce-jetpack' ),
|
43 |
+
'tax_percent' => __( 'Tax %', 'woocommerce-jetpack' ),
|
44 |
+
'order_total_tax_excluding' => __( 'Order Total Excl. Tax', 'woocommerce-jetpack' ),
|
45 |
+
'order_taxes' => __( 'Order Taxes', 'woocommerce-jetpack' ),
|
46 |
+
'order_total' => __( 'Order Total', 'woocommerce-jetpack' ),
|
47 |
+
'order_currency' => __( 'Order Currency', 'woocommerce-jetpack' ),
|
48 |
+
'payment_gateway' => __( 'Payment Gateway', 'woocommerce-jetpack' ),
|
49 |
+
'refunds' => __( 'Refunds', 'woocommerce-jetpack' ),
|
50 |
+
) );
|
51 |
+
}
|
52 |
+
|
53 |
+
/**
|
54 |
+
* get_report_columns.
|
55 |
+
*
|
56 |
+
* @version 3.3.0
|
57 |
+
* @since 3.3.0
|
58 |
+
* @todo (maybe) `order_discount_tax`
|
59 |
+
*/
|
60 |
+
function get_report_columns() {
|
61 |
+
return array(
|
62 |
+
'document_number' => __( 'Document Number', 'woocommerce-jetpack' ),
|
63 |
+
'document_date' => __( 'Document Date', 'woocommerce-jetpack' ),
|
64 |
+
'order_id' => __( 'Order ID', 'woocommerce-jetpack' ),
|
65 |
+
'customer_country' => __( 'Customer Country', 'woocommerce-jetpack' ),
|
66 |
+
'customer_vat_id' => __( 'Customer VAT ID', 'woocommerce-jetpack' ),
|
67 |
+
'tax_percent' => __( 'Tax %', 'woocommerce-jetpack' ),
|
68 |
+
'order_total_tax_excluding' => __( 'Order Total Excl. Tax', 'woocommerce-jetpack' ),
|
69 |
+
'order_taxes' => __( 'Order Taxes', 'woocommerce-jetpack' ),
|
70 |
+
'order_cart_total_excl_tax' => __( 'Cart Total Excl. Tax', 'woocommerce-jetpack' ),
|
71 |
+
'order_cart_tax' => __( 'Cart Tax', 'woocommerce-jetpack' ),
|
72 |
+
'order_cart_tax_percent' => __( 'Cart Tax %', 'woocommerce-jetpack' ),
|
73 |
+
'order_shipping_total_excl_tax' => __( 'Shipping Total Excl. Tax', 'woocommerce-jetpack' ),
|
74 |
+
'order_shipping_tax' => __( 'Shipping Tax', 'woocommerce-jetpack' ),
|
75 |
+
'order_shipping_tax_percent' => __( 'Shipping Tax %', 'woocommerce-jetpack' ),
|
76 |
+
'order_total' => __( 'Order Total', 'woocommerce-jetpack' ),
|
77 |
+
'order_currency' => __( 'Order Currency', 'woocommerce-jetpack' ),
|
78 |
+
'payment_gateway' => __( 'Payment Gateway', 'woocommerce-jetpack' ),
|
79 |
+
'refunds' => __( 'Refunds', 'woocommerce-jetpack' ),
|
80 |
+
);
|
81 |
+
}
|
82 |
+
|
83 |
+
}
|
84 |
+
|
85 |
+
endif;
|
86 |
+
|
87 |
+
return new WCJ_PDF_Invoicing_Advanced();
|
includes/pdf-invoices/submodules/class-wcj-pdf-invoicing-display.php
CHANGED
@@ -2,7 +2,7 @@
|
|
2 |
/**
|
3 |
* Booster for WooCommerce - PDF Invoicing - Display
|
4 |
*
|
5 |
-
* @version 3.
|
6 |
* @author Algoritmika Ltd.
|
7 |
*/
|
8 |
|
@@ -276,48 +276,52 @@ class WCJ_PDF_Invoicing_Display extends WCJ_Module {
|
|
276 |
/**
|
277 |
* create_invoices_meta_box.
|
278 |
*
|
279 |
-
* @version 3.
|
280 |
* @since 2.8.0
|
281 |
*/
|
282 |
function create_invoices_meta_box() {
|
283 |
$_order = wc_get_order();
|
284 |
$order_id = wcj_get_order_id( $_order );
|
285 |
$invoice_types = wcj_get_enabled_invoice_types();
|
286 |
-
|
287 |
-
|
288 |
-
|
289 |
-
|
290 |
-
|
291 |
-
$
|
292 |
-
if (
|
293 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
294 |
}
|
295 |
-
$
|
296 |
-
$
|
297 |
-
|
298 |
-
|
299 |
-
|
300 |
-
|
301 |
-
|
302 |
-
$
|
303 |
-
$
|
304 |
-
$actions = array( $view_link . ' | ' . '<a class="wcj_need_confirmation" href="' . $the_url . '">' . $the_name . '</a>' );
|
305 |
-
} else {
|
306 |
-
// "Create" link
|
307 |
-
$query_args = array( 'create_invoice_for_order_id' => $order_id, 'invoice_type_id' => $invoice_type['id'] );
|
308 |
-
$the_url = add_query_arg( $query_args, remove_query_arg( 'delete_invoice_for_order_id' ) );
|
309 |
-
$the_name = __( 'Create', 'woocommerce-jetpack' );
|
310 |
-
$actions = array( '<a class="wcj_need_confirmation" href="' . $the_url . '">' . $the_name . '</a>' );
|
311 |
-
}
|
312 |
-
$maybe_toolptip = '';
|
313 |
-
$_hooks = wcj_get_invoice_create_on( $invoice_type['id'] );
|
314 |
-
if ( in_array( 'woocommerce_order_partially_refunded_notification', $_hooks ) ) {
|
315 |
-
$maybe_toolptip = wc_help_tip( __( 'In case of partial refund, you need to reload the page to see created document in this meta box.', 'woocommerce-jetpack' ), true );
|
316 |
}
|
317 |
-
$table_data[] = array( '<span class="dashicons dashicons-media-default" style="color:' . $invoice_type['color'] . ';"></span>' . ' ' .
|
318 |
-
$invoice_type['title'] . $the_number . $maybe_toolptip );
|
319 |
-
$table_data[] = $actions;
|
320 |
-
echo '<p>' . wcj_get_table_html( $table_data, array( 'table_class' => 'widefat striped' ) ) . '</p>';
|
321 |
}
|
322 |
}
|
323 |
|
2 |
/**
|
3 |
* Booster for WooCommerce - PDF Invoicing - Display
|
4 |
*
|
5 |
+
* @version 3.3.0
|
6 |
* @author Algoritmika Ltd.
|
7 |
*/
|
8 |
|
276 |
/**
|
277 |
* create_invoices_meta_box.
|
278 |
*
|
279 |
+
* @version 3.3.0
|
280 |
* @since 2.8.0
|
281 |
*/
|
282 |
function create_invoices_meta_box() {
|
283 |
$_order = wc_get_order();
|
284 |
$order_id = wcj_get_order_id( $_order );
|
285 |
$invoice_types = wcj_get_enabled_invoice_types();
|
286 |
+
if ( empty( $invoice_types ) ) {
|
287 |
+
echo '<p style="font-style:italic;">' . __( 'You have no document types enabled.', 'woocommerce-jetpack' ) . '</p>';
|
288 |
+
} else {
|
289 |
+
foreach ( $invoice_types as $invoice_type ) {
|
290 |
+
$table_data = array();
|
291 |
+
$the_number = '';
|
292 |
+
if ( wcj_is_invoice_created( $order_id, $invoice_type['id'] ) ) {
|
293 |
+
// "Document (View)" link
|
294 |
+
$query_args = array( 'order_id' => $order_id, 'invoice_type_id' => $invoice_type['id'], 'get_invoice' => '1', );
|
295 |
+
if ( 'yes' === get_option( 'wcj_invoicing_' . $invoice_type['id'] . '_save_as_enabled', 'no' ) ) {
|
296 |
+
$query_args['save_pdf_invoice'] = '1';
|
297 |
+
}
|
298 |
+
$the_url = add_query_arg( $query_args, remove_query_arg( array ( 'create_invoice_for_order_id', 'delete_invoice_for_order_id' ) ) );
|
299 |
+
$the_name = __( 'View', 'woocommerce-jetpack' );
|
300 |
+
$the_invoice = wcj_get_invoice( $order_id, $invoice_type['id'] );
|
301 |
+
$the_number = ' [#' . $the_invoice->get_invoice_number() . ']';
|
302 |
+
$view_link = '<a href="' . $the_url . '">' . $the_name . '</a>';
|
303 |
+
// "Delete" link
|
304 |
+
$query_args = array( 'delete_invoice_for_order_id' => $order_id, 'invoice_type_id' => $invoice_type['id'] );
|
305 |
+
$the_url = add_query_arg( $query_args, remove_query_arg( 'create_invoice_for_order_id' ) );
|
306 |
+
$the_name = __( 'Delete', 'woocommerce-jetpack' );
|
307 |
+
$actions = array( $view_link . ' | ' . '<a class="wcj_need_confirmation" href="' . $the_url . '">' . $the_name . '</a>' );
|
308 |
+
} else {
|
309 |
+
// "Create" link
|
310 |
+
$query_args = array( 'create_invoice_for_order_id' => $order_id, 'invoice_type_id' => $invoice_type['id'] );
|
311 |
+
$the_url = add_query_arg( $query_args, remove_query_arg( 'delete_invoice_for_order_id' ) );
|
312 |
+
$the_name = __( 'Create', 'woocommerce-jetpack' );
|
313 |
+
$actions = array( '<a class="wcj_need_confirmation" href="' . $the_url . '">' . $the_name . '</a>' );
|
314 |
}
|
315 |
+
$maybe_toolptip = '';
|
316 |
+
$_hooks = wcj_get_invoice_create_on( $invoice_type['id'] );
|
317 |
+
if ( in_array( 'woocommerce_order_partially_refunded_notification', $_hooks ) ) {
|
318 |
+
$maybe_toolptip = wc_help_tip( __( 'In case of partial refund, you need to reload the page to see created document in this meta box.', 'woocommerce-jetpack' ), true );
|
319 |
+
}
|
320 |
+
$table_data[] = array( '<span class="dashicons dashicons-media-default" style="color:' . $invoice_type['color'] . ';"></span>' . ' ' .
|
321 |
+
$invoice_type['title'] . $the_number . $maybe_toolptip );
|
322 |
+
$table_data[] = $actions;
|
323 |
+
echo '<p>' . wcj_get_table_html( $table_data, array( 'table_class' => 'widefat striped' ) ) . '</p>';
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
324 |
}
|
|
|
|
|
|
|
|
|
325 |
}
|
326 |
}
|
327 |
|
includes/price-by-country/class-wcj-price-by-country-core.php
CHANGED
@@ -263,7 +263,7 @@ class WCJ_Price_by_Country_Core {
|
|
263 |
}
|
264 |
|
265 |
// Get the country group id - go through all the groups, first found group is returned
|
266 |
-
for ( $i = 1; $i <= apply_filters( '
|
267 |
switch ( get_option( 'wcj_price_by_country_selection', 'comma_list' ) ) {
|
268 |
case 'comma_list':
|
269 |
$country_exchange_rate_group = get_option( 'wcj_price_by_country_exchange_rate_countries_group_' . $i );
|
263 |
}
|
264 |
|
265 |
// Get the country group id - go through all the groups, first found group is returned
|
266 |
+
for ( $i = 1; $i <= apply_filters( 'booster_option', 1, get_option( 'wcj_price_by_country_total_groups_number', 1 ) ); $i++ ) {
|
267 |
switch ( get_option( 'wcj_price_by_country_selection', 'comma_list' ) ) {
|
268 |
case 'comma_list':
|
269 |
$country_exchange_rate_group = get_option( 'wcj_price_by_country_exchange_rate_countries_group_' . $i );
|
includes/price-by-country/class-wcj-price-by-country-group-generator.php
CHANGED
@@ -71,7 +71,7 @@ class WCJ_Price_By_Country_Group_Generator {
|
|
71 |
if ( isset( $_POST['save'] ) ) {
|
72 |
return;
|
73 |
}
|
74 |
-
if ( /* ! is_admin() || */ ! wcj_is_user_role( 'administrator' ) || 1 === apply_filters( '
|
75 |
$wcj_notice = __( 'Create All Country Groups Failed.', 'woocommerce-jetpack' );
|
76 |
return;
|
77 |
}
|
71 |
if ( isset( $_POST['save'] ) ) {
|
72 |
return;
|
73 |
}
|
74 |
+
if ( /* ! is_admin() || */ ! wcj_is_user_role( 'administrator' ) || 1 === apply_filters( 'booster_option', 1, '' ) ) {
|
75 |
$wcj_notice = __( 'Create All Country Groups Failed.', 'woocommerce-jetpack' );
|
76 |
return;
|
77 |
}
|
includes/price-by-country/class-wcj-price-by-country-local.php
CHANGED
@@ -2,8 +2,10 @@
|
|
2 |
/**
|
3 |
* Booster for WooCommerce - Price by Country - Local
|
4 |
*
|
5 |
-
* @version
|
6 |
-
* @author
|
|
|
|
|
7 |
*/
|
8 |
|
9 |
if ( ! defined( 'ABSPATH' ) ) exit;
|
@@ -108,7 +110,7 @@ class WCJ_Price_by_Country_Local {
|
|
108 |
* get_total_country_groups_number.
|
109 |
*/
|
110 |
function get_total_country_groups_number() {
|
111 |
-
return apply_filters( '
|
112 |
}
|
113 |
|
114 |
/**
|
@@ -137,7 +139,7 @@ class WCJ_Price_by_Country_Local {
|
|
137 |
|
138 |
array(
|
139 |
'id' => 'wcj_' . $meta_box_id . '_make_empty_price_' . $this->scope . '_',
|
140 |
-
'title' => __( 'Make empty price', 'woocommerce' ),
|
141 |
'type' => 'checkbox',
|
142 |
'default' => 'off',
|
143 |
),
|
@@ -156,8 +158,9 @@ class WCJ_Price_by_Country_Local {
|
|
156 |
if ( isset( $_POST[ $option['id'] . $i . $variation_id_addon ] ) ) {
|
157 |
update_post_meta( $post_id, '_' . $option['id'] . $i, $_POST[ $option['id'] . $i . $variation_id_addon ] );
|
158 |
}
|
159 |
-
elseif ( 'checkbox' === $option['type'] )
|
160 |
update_post_meta( $post_id, '_' . $option['id'] . $i, 'off' );
|
|
|
161 |
}
|
162 |
}
|
163 |
}
|
@@ -229,7 +232,7 @@ class WCJ_Price_by_Country_Local {
|
|
229 |
/**
|
230 |
* get_all_options_html.
|
231 |
*
|
232 |
-
* @version
|
233 |
*/
|
234 |
function get_all_options_html( $simple_or_variable, $current_post_id, $total_number, $variation_id_addon = '' ) {
|
235 |
$html = '';
|
@@ -240,64 +243,41 @@ class WCJ_Price_by_Country_Local {
|
|
240 |
$html .= '<div>';
|
241 |
}
|
242 |
|
243 |
-
|
244 |
-
|
245 |
-
|
246 |
-
|
247 |
-
|
248 |
-
|
249 |
-
|
250 |
-
|
251 |
-
|
252 |
-
|
253 |
-
|
254 |
-
|
255 |
-
|
256 |
-
|
257 |
-
|
258 |
-
|
259 |
-
$html .= '</strong>';
|
260 |
-
$html .= '</p>';
|
261 |
-
//}
|
262 |
-
//elseif ( 'variable' == $simple_or_variable ) {
|
263 |
-
// $html .= '<tr>';
|
264 |
-
//}
|
265 |
|
266 |
foreach ( $options as $option ) {
|
267 |
-
|
268 |
-
// $option_id = $option['id'] . $i . $variation_id_addon;
|
269 |
$option_id = $option['id'] . $i;
|
270 |
-
|
271 |
-
|
272 |
-
|
273 |
-
|
274 |
-
|
275 |
-
|
276 |
-
$column_position = ( false !== strpos( $option['id'], '_regular_price_' ) ) ? 'first' : 'last';
|
277 |
-
}
|
278 |
-
$html .= '<p class="form-row form-row-' . $column_position . '">';
|
279 |
}
|
280 |
-
$
|
281 |
-
|
282 |
-
|
283 |
-
|
284 |
-
|
285 |
-
// $html .= '<td>';
|
286 |
-
//}
|
287 |
-
|
288 |
$html .= $this->get_option_field_html( $current_post_id, $option_id, $option, $variation_id_addon );
|
289 |
-
|
290 |
-
//if ( 'simple' == $simple_or_variable ) {
|
291 |
-
$html .= '</p>';
|
292 |
-
//}
|
293 |
-
//elseif ( 'variable' == $simple_or_variable ) {
|
294 |
-
// $html .= '</td>';
|
295 |
-
//}
|
296 |
}
|
297 |
|
298 |
-
//if ( 'variable' == $simple_or_variable ) {
|
299 |
-
// $html .= '</tr>';
|
300 |
-
//}
|
301 |
if ( 'variable' == $simple_or_variable ) {
|
302 |
$html .= '</div>';
|
303 |
}
|
2 |
/**
|
3 |
* Booster for WooCommerce - Price by Country - Local
|
4 |
*
|
5 |
+
* @version 3.3.0
|
6 |
+
* @author Algoritmika Ltd.
|
7 |
+
* @todo clean up
|
8 |
+
* @todo (maybe) remove this and leave only standard meta box option (i.e. only `'meta_box' === get_option( 'wcj_price_by_country_local_options_style', 'inline' )`)
|
9 |
*/
|
10 |
|
11 |
if ( ! defined( 'ABSPATH' ) ) exit;
|
110 |
* get_total_country_groups_number.
|
111 |
*/
|
112 |
function get_total_country_groups_number() {
|
113 |
+
return apply_filters( 'booster_option', 1, get_option( 'wcj_price_by_country_total_groups_number', 1 ) );
|
114 |
}
|
115 |
|
116 |
/**
|
139 |
|
140 |
array(
|
141 |
'id' => 'wcj_' . $meta_box_id . '_make_empty_price_' . $this->scope . '_',
|
142 |
+
'title' => __( 'Make empty price', 'woocommerce-jetpack' ),
|
143 |
'type' => 'checkbox',
|
144 |
'default' => 'off',
|
145 |
),
|
158 |
if ( isset( $_POST[ $option['id'] . $i . $variation_id_addon ] ) ) {
|
159 |
update_post_meta( $post_id, '_' . $option['id'] . $i, $_POST[ $option['id'] . $i . $variation_id_addon ] );
|
160 |
}
|
161 |
+
elseif ( 'checkbox' === $option['type'] ) {
|
162 |
update_post_meta( $post_id, '_' . $option['id'] . $i, 'off' );
|
163 |
+
}
|
164 |
}
|
165 |
}
|
166 |
}
|
232 |
/**
|
233 |
* get_all_options_html.
|
234 |
*
|
235 |
+
* @version 3.3.0
|
236 |
*/
|
237 |
function get_all_options_html( $simple_or_variable, $current_post_id, $total_number, $variation_id_addon = '' ) {
|
238 |
$html = '';
|
243 |
$html .= '<div>';
|
244 |
}
|
245 |
|
246 |
+
$countries = '';
|
247 |
+
switch ( get_option( 'wcj_price_by_country_selection', 'comma_list' ) ) {
|
248 |
+
case 'comma_list':
|
249 |
+
$countries .= get_option( 'wcj_price_by_country_exchange_rate_countries_group_' . $i );
|
250 |
+
break;
|
251 |
+
case 'multiselect':
|
252 |
+
$countries .= implode( ',', get_option( 'wcj_price_by_country_countries_group_' . $i ) );
|
253 |
+
break;
|
254 |
+
case 'chosen_select':
|
255 |
+
$countries .= implode( ',', get_option( 'wcj_price_by_country_countries_group_chosen_select_' . $i ) );
|
256 |
+
break;
|
257 |
+
}
|
258 |
+
$admin_title = get_option( 'wcj_price_by_country_countries_group_admin_title_' . $i, __( 'Group', 'woocommerce-jetpack' ) . ' #' . $i );
|
259 |
+
$html .= '<details style="float: left; border-top: 1px dashed #cccccc; width: 100%; padding-top: 10px;">' .
|
260 |
+
'<summary style="font-weight:bold;">' . $admin_title . '</summary><p>' . $countries . '</p>' .
|
261 |
+
'</details>';
|
|
|
|
|
|
|
|
|
|
|
|
|
262 |
|
263 |
foreach ( $options as $option ) {
|
|
|
|
|
264 |
$option_id = $option['id'] . $i;
|
265 |
+
if ( 'simple' == $simple_or_variable ) {
|
266 |
+
$html .= '<p class="form-field ' . $option_id . $variation_id_addon . '_field">';
|
267 |
+
} else {
|
268 |
+
$column_position = 'full';
|
269 |
+
if ( 'checkbox' != $option['type'] ) {
|
270 |
+
$column_position = ( false !== strpos( $option['id'], '_regular_price_' ) ) ? 'first' : 'last';
|
|
|
|
|
|
|
271 |
}
|
272 |
+
$html .= '<p class="form-row form-row-' . $column_position . '">';
|
273 |
+
}
|
274 |
+
$group_currency_code = get_option( 'wcj_price_by_country_exchange_rate_currency_group_' . $i );
|
275 |
+
$currency_code_html = ( 'checkbox' != $option['type'] ) ? ' (' . wcj_get_currency_symbol( $group_currency_code ) . ')' : '';
|
276 |
+
$html .= '<label for="' . $option_id . $variation_id_addon . '">' . $option['title'] . $currency_code_html . '</label>';
|
|
|
|
|
|
|
277 |
$html .= $this->get_option_field_html( $current_post_id, $option_id, $option, $variation_id_addon );
|
278 |
+
$html .= '</p>';
|
|
|
|
|
|
|
|
|
|
|
|
|
279 |
}
|
280 |
|
|
|
|
|
|
|
281 |
if ( 'variable' == $simple_or_variable ) {
|
282 |
$html .= '</div>';
|
283 |
}
|
includes/price-by-country/wcj-country-currency.php
CHANGED
@@ -2,7 +2,7 @@
|
|
2 |
/**
|
3 |
* Booster for WooCommerce Country Currency functions
|
4 |
*
|
5 |
-
* @version
|
6 |
* @author Algoritmika Ltd.
|
7 |
*/
|
8 |
|
@@ -12,7 +12,7 @@ if ( ! function_exists( 'wcj_get_yahoo_exchange_rates_supported_currency' ) ) {
|
|
12 |
/**
|
13 |
* wcj_get_yahoo_exchange_rates_supported_currency.
|
14 |
*
|
15 |
-
* @version
|
16 |
*/
|
17 |
function wcj_get_yahoo_exchange_rates_supported_currency() {
|
18 |
return array(
|
@@ -26,7 +26,7 @@ if ( ! function_exists( 'wcj_get_yahoo_exchange_rates_supported_currency' ) ) {
|
|
26 |
'VEF' => true,
|
27 |
'GEL' => true,
|
28 |
'ISK' => true,
|
29 |
-
'
|
30 |
'THB' => true,
|
31 |
'MXV' => true,
|
32 |
'TND' => true,
|
@@ -234,7 +234,7 @@ if ( ! function_exists( 'wcj_get_country_currency' ) ) {
|
|
234 |
/**
|
235 |
* wcj_get_country_currency.
|
236 |
*
|
237 |
-
* @version
|
238 |
*/
|
239 |
function wcj_get_country_currency() {
|
240 |
return array(
|
@@ -268,7 +268,7 @@ if ( ! function_exists( 'wcj_get_country_currency' ) ) {
|
|
268 |
'BH' => 'BHD',
|
269 |
'BD' => 'BDT',
|
270 |
'BB' => 'BBD',
|
271 |
-
'BY' => '
|
272 |
'BE' => 'EUR',
|
273 |
'BZ' => 'BZD',
|
274 |
'BJ' => 'XOF',
|
2 |
/**
|
3 |
* Booster for WooCommerce Country Currency functions
|
4 |
*
|
5 |
+
* @version 3.3.0
|
6 |
* @author Algoritmika Ltd.
|
7 |
*/
|
8 |
|
12 |
/**
|
13 |
* wcj_get_yahoo_exchange_rates_supported_currency.
|
14 |
*
|
15 |
+
* @version 3.3.0
|
16 |
*/
|
17 |
function wcj_get_yahoo_exchange_rates_supported_currency() {
|
18 |
return array(
|
26 |
'VEF' => true,
|
27 |
'GEL' => true,
|
28 |
'ISK' => true,
|
29 |
+
'BYN' => true,
|
30 |
'THB' => true,
|
31 |
'MXV' => true,
|
32 |
'TND' => true,
|
234 |
/**
|
235 |
* wcj_get_country_currency.
|
236 |
*
|
237 |
+
* @version 3.3.0
|
238 |
*/
|
239 |
function wcj_get_country_currency() {
|
240 |
return array(
|
268 |
'BH' => 'BHD',
|
269 |
'BD' => 'BDT',
|
270 |
'BB' => 'BBD',
|
271 |
+
'BY' => 'BYN',
|
272 |
'BE' => 'EUR',
|
273 |
'BZ' => 'BZD',
|
274 |
'BJ' => 'XOF',
|
includes/reports/class-wcj-currency-reports.php
CHANGED
@@ -45,19 +45,19 @@ class WCJ_Currency_Reports {
|
|
45 |
$currency_symbols[ $the_current_code ] = $the_current_code;
|
46 |
$currency_symbols[ get_woocommerce_currency() ] = get_woocommerce_currency();
|
47 |
if ( wcj_is_module_enabled( 'price_by_country' ) ) {
|
48 |
-
for ( $i = 1; $i <= apply_filters( '
|
49 |
$the_code = get_option( 'wcj_price_by_country_exchange_rate_currency_group_' . $i );
|
50 |
$currency_symbols[ $the_code ] = $the_code;
|
51 |
}
|
52 |
}
|
53 |
if ( wcj_is_module_enabled( 'multicurrency' ) ) {
|
54 |
-
for ( $i = 1; $i <= apply_filters( '
|
55 |
$the_code = get_option( 'wcj_multicurrency_currency_' . $i );
|
56 |
$currency_symbols[ $the_code ] = $the_code;
|
57 |
}
|
58 |
}
|
59 |
/* if ( wcj_is_module_enabled( 'multicurrency_base_price' ) ) {
|
60 |
-
for ( $i = 1; $i <= apply_filters( '
|
61 |
$the_code = get_option( 'wcj_multicurrency_base_price_currency_' . $i );
|
62 |
$currency_symbols[ $the_code ] = $the_code;
|
63 |
}
|
45 |
$currency_symbols[ $the_current_code ] = $the_current_code;
|
46 |
$currency_symbols[ get_woocommerce_currency() ] = get_woocommerce_currency();
|
47 |
if ( wcj_is_module_enabled( 'price_by_country' ) ) {
|
48 |
+
for ( $i = 1; $i <= apply_filters( 'booster_option', 1, get_option( 'wcj_price_by_country_total_groups_number', 1 ) ); $i++ ) {
|
49 |
$the_code = get_option( 'wcj_price_by_country_exchange_rate_currency_group_' . $i );
|
50 |
$currency_symbols[ $the_code ] = $the_code;
|
51 |
}
|
52 |
}
|
53 |
if ( wcj_is_module_enabled( 'multicurrency' ) ) {
|
54 |
+
for ( $i = 1; $i <= apply_filters( 'booster_option', 2, get_option( 'wcj_multicurrency_total_number', 2 ) ); $i++ ) {
|
55 |
$the_code = get_option( 'wcj_multicurrency_currency_' . $i );
|
56 |
$currency_symbols[ $the_code ] = $the_code;
|
57 |
}
|
58 |
}
|
59 |
/* if ( wcj_is_module_enabled( 'multicurrency_base_price' ) ) {
|
60 |
+
for ( $i = 1; $i <= apply_filters( 'booster_option', 1, get_option( 'wcj_multicurrency_base_price_total_number', 1 ) ); $i++ ) {
|
61 |
$the_code = get_option( 'wcj_multicurrency_base_price_currency_' . $i );
|
62 |
$currency_symbols[ $the_code ] = $the_code;
|
63 |
}
|
includes/reports/countries/wcj-country-sets.php
CHANGED
@@ -2,14 +2,19 @@
|
|
2 |
/**
|
3 |
* Booster for WooCommerce Country Sets
|
4 |
*
|
5 |
-
* @version
|
6 |
* @author Algoritmika Ltd.
|
|
|
|
|
|
|
|
|
|
|
7 |
*/
|
8 |
|
9 |
return array(
|
10 |
|
11 |
'Africa' => array(
|
12 |
-
'AO', 'BF', 'BI', 'BJ', 'BW', 'CD', 'CF', 'CG', 'CI', 'CM', 'CV', 'DJ', 'DZ', 'EG', 'EH', 'ER', 'ET', 'GA', 'GH', 'GM', 'GN', 'GQ', 'GW', 'YT', 'KE', 'KM', 'LY', 'LR', 'LS', 'MA', 'MG', 'ML', 'MR', 'MU', 'MW', 'MZ', 'NA', 'NE', 'NG', 'RE', 'RW', 'SC', 'SD', 'SH', 'SL', 'SN', 'SO', 'ST', 'SZ', 'TD', 'TG', 'TN', 'TZ', 'UG', 'ZA', 'ZM', 'ZW',
|
13 |
),
|
14 |
|
15 |
'Asia' => array(
|
2 |
/**
|
3 |
* Booster for WooCommerce Country Sets
|
4 |
*
|
5 |
+
* @version 3.3.0
|
6 |
* @author Algoritmika Ltd.
|
7 |
+
* @todo recheck if all countries are included in sets; recheck for overlapping sets
|
8 |
+
* @todo move to `wcj-functions-country.php`
|
9 |
+
* @todo use in "Price by Country" module for automatic group creation
|
10 |
+
* @todo add translations (`__`)
|
11 |
+
* @todo clean up
|
12 |
*/
|
13 |
|
14 |
return array(
|
15 |
|
16 |
'Africa' => array(
|
17 |
+
'AO', 'BF', 'BI', 'BJ', 'BW', 'CD', 'CF', 'CG', 'CI', 'CM', 'CV', 'DJ', 'DZ', 'EG', 'EH', 'ER', 'ET', 'GA', 'GH', 'GM', 'GN', 'GQ', 'GW', 'YT', 'KE', 'KM', 'LY', 'LR', 'LS', 'MA', 'MG', 'ML', 'MR', 'MU', 'MW', 'MZ', 'NA', 'NE', 'NG', 'RE', 'RW', 'SC', 'SD', 'SH', 'SL', 'SN', 'SO', 'ST', 'SZ', 'TD', 'TG', 'TN', 'TZ', 'UG', 'ZA', 'ZM', 'ZW', 'TF',
|
18 |
),
|
19 |
|
20 |
'Asia' => array(
|
includes/reports/wcj-class-reports-customers.php
CHANGED
@@ -2,7 +2,7 @@
|
|
2 |
/**
|
3 |
* Booster for WooCommerce - Reports - Customers
|
4 |
*
|
5 |
-
* @version
|
6 |
* @author Algoritmika Ltd.
|
7 |
*/
|
8 |
|
@@ -12,7 +12,6 @@ if ( ! class_exists( 'WCJ_Reports_Customers' ) ) :
|
|
12 |
|
13 |
class WCJ_Reports_Customers {
|
14 |
|
15 |
-
/** @var array Ccountry groups (sets). */
|
16 |
public $country_sets;
|
17 |
|
18 |
/**
|
@@ -35,8 +34,9 @@ class WCJ_Reports_Customers {
|
|
35 |
// Get customers
|
36 |
$customers = get_users( 'role=customer&orderby=registered&order=DESC' );
|
37 |
$total_customers = count( $customers );
|
38 |
-
if ( $total_customers < 1 )
|
39 |
return '<h5>' . __( 'No customers found.', 'woocommerce-jetpack' ) . '</h5>';
|
|
|
40 |
|
41 |
// Count data
|
42 |
$the_data = $this->get_data( $customers, $report_type );
|
@@ -44,13 +44,13 @@ class WCJ_Reports_Customers {
|
|
44 |
// Get HTML
|
45 |
$html = $this->get_html( $the_data, $total_customers, $report_type );
|
46 |
|
47 |
-
|
|
|
48 |
foreach( WC_Countries::get_countries() as $country_code => $country_name ) {
|
49 |
if ( ! isset( $the_data[ $country_code ] ) ) $no_sales_countries[] = $country_code;// . ' - ' . $country_name;
|
50 |
-
}
|
51 |
-
|
52 |
-
|
53 |
-
//return $html . implode( ', ', $no_sales_countries );
|
54 |
|
55 |
return $html;
|
56 |
}
|
@@ -63,8 +63,8 @@ class WCJ_Reports_Customers {
|
|
63 |
foreach ( $customers as $customer ) {
|
64 |
|
65 |
// Get country (billing or shipping)
|
66 |
-
$user_meta
|
67 |
-
$billing_country
|
68 |
$shipping_country = isset( $user_meta['shipping_country'][0] ) ? $user_meta['shipping_country'][0] : '';
|
69 |
$customer_country = ( '' == $billing_country ) ? $shipping_country : $billing_country;
|
70 |
// If available - change to country set instead
|
@@ -75,14 +75,17 @@ class WCJ_Reports_Customers {
|
|
75 |
}
|
76 |
}
|
77 |
// N/A
|
78 |
-
if ( '' == $customer_country )
|
79 |
-
$customer_country = 'Non Available';
|
|
|
80 |
|
81 |
if ( 'all_countries' === $report_type ) {
|
82 |
// Counter
|
83 |
-
if ( ! isset( $result[ $customer_country ]['customer_counter'] ) )
|
|
|
|
|
84 |
$result[ $customer_country ]['customer_counter']++;
|
85 |
-
} else {//
|
86 |
if ( ! isset( $result[ $customer_country ]['total_spent'] ) ) {
|
87 |
$result[ $customer_country ]['total_spent'] = array(
|
88 |
array(
|
@@ -93,20 +96,18 @@ class WCJ_Reports_Customers {
|
|
93 |
),
|
94 |
);
|
95 |
}
|
96 |
-
|
97 |
$customer_total_spent = wc_get_customer_total_spent( $customer->ID );
|
98 |
-
|
99 |
$result[ $customer_country ]['total_spent'][] = array(
|
100 |
$customer->data->display_name,
|
101 |
$customer->data->user_email,
|
102 |
$customer_total_spent,
|
103 |
$customer->data->user_registered,
|
104 |
-
|
105 |
-
|
106 |
}
|
107 |
}
|
108 |
if ( 'all_countries' === $report_type ) {
|
109 |
-
//arsort( $result );
|
110 |
uasort( $result, array( $this, 'custom_sort_for_data' ) );
|
111 |
}
|
112 |
return $result;
|
@@ -116,22 +117,24 @@ class WCJ_Reports_Customers {
|
|
116 |
* custom_sort_for_data.
|
117 |
*/
|
118 |
function custom_sort_for_data( $a, $b ) {
|
119 |
-
if ( $a['customer_counter'] == $b['customer_counter'] )
|
|
|
|
|
120 |
return ( $a['customer_counter'] > $b['customer_counter'] ) ? -1 : 1;
|
121 |
}
|
122 |
|
123 |
/**
|
124 |
* get_data function.
|
|
|
|
|
125 |
*/
|
126 |
function get_html( $data, $total_customers, $report_type = 'all_countries' ) {
|
127 |
-
|
128 |
$html = '';
|
129 |
-
|
130 |
if ( 'all_countries' === $report_type ) {
|
131 |
$html .= '<h5>' . __( 'Total customers', 'woocommerce-jetpack' ) . ': ' . $total_customers . '</h5>';
|
132 |
$html .= '<table class="widefat" style="width:100% !important;"><tbody>';
|
133 |
$html .= '<tr>';
|
134 |
-
$html .= '<th></th>'
|
135 |
$html .= '<th>' . __( 'Country Code', 'woocommerce-jetpack' ) . '</th>';
|
136 |
$html .= '<th>' . __( 'Customers Count', 'woocommerce-jetpack' ) . '</th>';
|
137 |
$html .= '<th>' . __( 'Percent of total', 'woocommerce-jetpack' ) . '</th>';
|
@@ -147,20 +150,18 @@ class WCJ_Reports_Customers {
|
|
147 |
$html .= ( 2 == strlen( $country_code ) ) ? '<td>' . $country_code_link . '</td>' : '<td>' . $country_code . '</td>' ;
|
148 |
$html .= '<td>' . $result . '</td>';
|
149 |
$html .= ( 0 != $total_customers ) ? '<td>' . number_format( ( $result / $total_customers ) * 100, 2 ) . '%' . '</td>' : '<td></td>';
|
150 |
-
$country_flag_img =
|
151 |
-
$country_flag_img_link = '<a href="' . add_query_arg( array ( 'country' => $country_code ) ) . '">' .
|
|
|
152 |
$html .= ( 2 == strlen( $country_code ) ) ? '<td>' . $country_flag_img_link . '</td>' : '<td></td>';
|
153 |
$html .= '</tr>';
|
154 |
}
|
155 |
$html .= '</tbody></table>';
|
156 |
-
|
157 |
-
} else {//if ( 'single_country' === $report_type ) {
|
158 |
$country_code = $report_type;
|
159 |
$html .= '<h5>' . __( 'Report for:', 'woocommerce-jetpack' ) . ' ' . wcj_get_country_name_by_code( $country_code ) . ' [' . $country_code . ']' . '</h5>';
|
160 |
$html .= ( 2 == strlen( $country_code ) ) ? wcj_get_table_html( $data[ $country_code ]['total_spent'], array( 'table_class' => 'widefat', ) ) : '';
|
161 |
-
|
162 |
}
|
163 |
-
|
164 |
return $html;
|
165 |
}
|
166 |
}
|
2 |
/**
|
3 |
* Booster for WooCommerce - Reports - Customers
|
4 |
*
|
5 |
+
* @version 3.3.0
|
6 |
* @author Algoritmika Ltd.
|
7 |
*/
|
8 |
|
12 |
|
13 |
class WCJ_Reports_Customers {
|
14 |
|
|
|
15 |
public $country_sets;
|
16 |
|
17 |
/**
|
34 |
// Get customers
|
35 |
$customers = get_users( 'role=customer&orderby=registered&order=DESC' );
|
36 |
$total_customers = count( $customers );
|
37 |
+
if ( $total_customers < 1 ) {
|
38 |
return '<h5>' . __( 'No customers found.', 'woocommerce-jetpack' ) . '</h5>';
|
39 |
+
}
|
40 |
|
41 |
// Count data
|
42 |
$the_data = $this->get_data( $customers, $report_type );
|
44 |
// Get HTML
|
45 |
$html = $this->get_html( $the_data, $total_customers, $report_type );
|
46 |
|
47 |
+
/*
|
48 |
+
$no_sales_countries = array();
|
49 |
foreach( WC_Countries::get_countries() as $country_code => $country_name ) {
|
50 |
if ( ! isset( $the_data[ $country_code ] ) ) $no_sales_countries[] = $country_code;// . ' - ' . $country_name;
|
51 |
+
}
|
52 |
+
return $html . count( $no_sales_countries ) . ': ' . implode( '<br>', $no_sales_countries );
|
53 |
+
*/
|
|
|
54 |
|
55 |
return $html;
|
56 |
}
|
63 |
foreach ( $customers as $customer ) {
|
64 |
|
65 |
// Get country (billing or shipping)
|
66 |
+
$user_meta = get_user_meta( $customer->ID );
|
67 |
+
$billing_country = isset( $user_meta['billing_country'][0] ) ? $user_meta['billing_country'][0] : '';
|
68 |
$shipping_country = isset( $user_meta['shipping_country'][0] ) ? $user_meta['shipping_country'][0] : '';
|
69 |
$customer_country = ( '' == $billing_country ) ? $shipping_country : $billing_country;
|
70 |
// If available - change to country set instead
|
75 |
}
|
76 |
}
|
77 |
// N/A
|
78 |
+
if ( '' == $customer_country ) {
|
79 |
+
$customer_country = __( 'Non Available', 'woocommerce-jetpack' );
|
80 |
+
}
|
81 |
|
82 |
if ( 'all_countries' === $report_type ) {
|
83 |
// Counter
|
84 |
+
if ( ! isset( $result[ $customer_country ]['customer_counter'] ) ) {
|
85 |
+
$result[ $customer_country ]['customer_counter'] = 0;
|
86 |
+
}
|
87 |
$result[ $customer_country ]['customer_counter']++;
|
88 |
+
} else { // single country
|
89 |
if ( ! isset( $result[ $customer_country ]['total_spent'] ) ) {
|
90 |
$result[ $customer_country ]['total_spent'] = array(
|
91 |
array(
|
96 |
),
|
97 |
);
|
98 |
}
|
|
|
99 |
$customer_total_spent = wc_get_customer_total_spent( $customer->ID );
|
100 |
+
// if ( '' != $customer_total_spent ) {
|
101 |
$result[ $customer_country ]['total_spent'][] = array(
|
102 |
$customer->data->display_name,
|
103 |
$customer->data->user_email,
|
104 |
$customer_total_spent,
|
105 |
$customer->data->user_registered,
|
106 |
+
);
|
107 |
+
// }
|
108 |
}
|
109 |
}
|
110 |
if ( 'all_countries' === $report_type ) {
|
|
|
111 |
uasort( $result, array( $this, 'custom_sort_for_data' ) );
|
112 |
}
|
113 |
return $result;
|
117 |
* custom_sort_for_data.
|
118 |
*/
|
119 |
function custom_sort_for_data( $a, $b ) {
|
120 |
+
if ( $a['customer_counter'] == $b['customer_counter'] ) {
|
121 |
+
return 0;
|
122 |
+
}
|
123 |
return ( $a['customer_counter'] > $b['customer_counter'] ) ? -1 : 1;
|
124 |
}
|
125 |
|
126 |
/**
|
127 |
* get_data function.
|
128 |
+
*
|
129 |
+
* @version 3.3.0
|
130 |
*/
|
131 |
function get_html( $data, $total_customers, $report_type = 'all_countries' ) {
|
|
|
132 |
$html = '';
|
|
|
133 |
if ( 'all_countries' === $report_type ) {
|
134 |
$html .= '<h5>' . __( 'Total customers', 'woocommerce-jetpack' ) . ': ' . $total_customers . '</h5>';
|
135 |
$html .= '<table class="widefat" style="width:100% !important;"><tbody>';
|
136 |
$html .= '<tr>';
|
137 |
+
$html .= '<th></th>';
|
138 |
$html .= '<th>' . __( 'Country Code', 'woocommerce-jetpack' ) . '</th>';
|
139 |
$html .= '<th>' . __( 'Customers Count', 'woocommerce-jetpack' ) . '</th>';
|
140 |
$html .= '<th>' . __( 'Percent of total', 'woocommerce-jetpack' ) . '</th>';
|
150 |
$html .= ( 2 == strlen( $country_code ) ) ? '<td>' . $country_code_link . '</td>' : '<td>' . $country_code . '</td>' ;
|
151 |
$html .= '<td>' . $result . '</td>';
|
152 |
$html .= ( 0 != $total_customers ) ? '<td>' . number_format( ( $result / $total_customers ) * 100, 2 ) . '%' . '</td>' : '<td></td>';
|
153 |
+
$country_flag_img = wcj_get_country_flag_by_code( $country_code );
|
154 |
+
$country_flag_img_link = '<a href="' . add_query_arg( array ( 'country' => $country_code ) ) . '">' .
|
155 |
+
$country_flag_img . ' ' . wcj_get_country_name_by_code( $country_code ) . '</a>';
|
156 |
$html .= ( 2 == strlen( $country_code ) ) ? '<td>' . $country_flag_img_link . '</td>' : '<td></td>';
|
157 |
$html .= '</tr>';
|
158 |
}
|
159 |
$html .= '</tbody></table>';
|
160 |
+
} else { // single country
|
|
|
161 |
$country_code = $report_type;
|
162 |
$html .= '<h5>' . __( 'Report for:', 'woocommerce-jetpack' ) . ' ' . wcj_get_country_name_by_code( $country_code ) . ' [' . $country_code . ']' . '</h5>';
|
163 |
$html .= ( 2 == strlen( $country_code ) ) ? wcj_get_table_html( $data[ $country_code ]['total_spent'], array( 'table_class' => 'widefat', ) ) : '';
|
|
|
164 |
}
|
|
|
165 |
return $html;
|
166 |
}
|
167 |
}
|
includes/settings/meta-box/wcj-settings-meta-box-add-to-cart-button-visibility.php
ADDED
@@ -0,0 +1,51 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?php
|
2 |
+
/**
|
3 |
+
* Booster for WooCommerce - Settings Meta Box - Add to Cart Button Visibility
|
4 |
+
*
|
5 |
+
* @version 3.3.0
|
6 |
+
* @since 3.3.0
|
7 |
+
* @author Algoritmika Ltd.
|
8 |
+
*/
|
9 |
+
|
10 |
+
if ( ! defined( 'ABSPATH' ) ) exit; // Exit if accessed directly
|
11 |
+
|
12 |
+
return array(
|
13 |
+
array(
|
14 |
+
'name' => 'wcj_add_to_cart_button_disable',
|
15 |
+
'default' => 'no',
|
16 |
+
'type' => 'select',
|
17 |
+
'options' => array(
|
18 |
+
'yes' => __( 'Hide', 'woocommerce-jetpack' ),
|
19 |
+
'no' => __( 'Show', 'woocommerce-jetpack' ),
|
20 |
+
),
|
21 |
+
'title' => __( 'Single Product Page', 'woocommerce-jetpack' ),
|
22 |
+
),
|
23 |
+
array(
|
24 |
+
'name' => 'wcj_add_to_cart_button_disable_content',
|
25 |
+
'default' => '',
|
26 |
+
'type' => 'textarea',
|
27 |
+
'title' => '',
|
28 |
+
'css' => 'width:100%;',
|
29 |
+
'tooltip' => __( 'Content to replace add to cart button on single product page.', 'woocommerce-jetpack' ) . ' ' .
|
30 |
+
__( 'You can use HTML and/or shortcodes here.', 'woocommerce-jetpack' ),
|
31 |
+
),
|
32 |
+
array(
|
33 |
+
'name' => 'wcj_add_to_cart_button_loop_disable',
|
34 |
+
'default' => 'no',
|
35 |
+
'type' => 'select',
|
36 |
+
'options' => array(
|
37 |
+
'yes' => __( 'Hide', 'woocommerce-jetpack' ),
|
38 |
+
'no' => __( 'Show', 'woocommerce-jetpack' ),
|
39 |
+
),
|
40 |
+
'title' => __( 'Category/Archives', 'woocommerce-jetpack' ),
|
41 |
+
),
|
42 |
+
array(
|
43 |
+
'name' => 'wcj_add_to_cart_button_loop_disable_content',
|
44 |
+
'default' => '',
|
45 |
+
'type' => 'textarea',
|
46 |
+
'title' => '',
|
47 |
+
'css' => 'width:100%;',
|
48 |
+
'tooltip' => __( 'Content to replace add to cart button on category/archives.', 'woocommerce-jetpack' ) . ' ' .
|
49 |
+
__( 'You can use HTML and/or shortcodes here.', 'woocommerce-jetpack' ),
|
50 |
+
),
|
51 |
+
);
|
includes/settings/meta-box/wcj-settings-meta-box-admin-tools.php
ADDED
@@ -0,0 +1,39 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?php
|
2 |
+
/**
|
3 |
+
* Booster for WooCommerce - Settings Meta Box - Admin Tools
|
4 |
+
*
|
5 |
+
* @version 3.3.0
|
6 |
+
* @since 3.3.0
|
7 |
+
* @author Algoritmika Ltd.
|
8 |
+
*/
|
9 |
+
|
10 |
+
if ( ! defined( 'ABSPATH' ) ) exit; // Exit if accessed directly
|
11 |
+
|
12 |
+
$products = wcj_get_product_ids_for_meta_box_options( get_the_ID() );
|
13 |
+
$settings = array();
|
14 |
+
foreach ( $products as $product_id => $desc ) {
|
15 |
+
$settings = array_merge( $settings, array(
|
16 |
+
array(
|
17 |
+
'type' => 'title',
|
18 |
+
'title' => sprintf( __( 'Product ID: %s', 'woocommerce-jetpack' ), $product_id ) . $desc,
|
19 |
+
'css' => 'background-color:#cddc39;color:black;',
|
20 |
+
),
|
21 |
+
array(
|
22 |
+
'name' => '_regular_price' . '_' . $product_id,
|
23 |
+
'default' => '',
|
24 |
+
'type' => 'price',
|
25 |
+
'title' => __( 'Regular price', 'woocommerce' ) . ' (' . get_woocommerce_currency_symbol() . ')',
|
26 |
+
'product_id' => $product_id,
|
27 |
+
'meta_name' => '_regular_price',
|
28 |
+
),
|
29 |
+
array(
|
30 |
+
'name' => '_sale_price' . '_' . $product_id,
|
31 |
+
'default' => '',
|
32 |
+
'type' => 'price',
|
33 |
+
'title' => __( 'Sale price', 'woocommerce' ) . ' (' . get_woocommerce_currency_symbol() . ')',
|
34 |
+
'product_id' => $product_id,
|
35 |
+
'meta_name' => '_sale_price',
|
36 |
+
),
|
37 |
+
) );
|
38 |
+
}
|
39 |
+
return $settings;
|
includes/settings/meta-box/wcj-settings-meta-box-currency-per-product.php
CHANGED
@@ -12,7 +12,7 @@ if ( ! defined( 'ABSPATH' ) ) exit; // Exit if accessed directly
|
|
12 |
$currency_codes = array();
|
13 |
$currency_codes[ get_option('woocommerce_currency') ] = get_option('woocommerce_currency');
|
14 |
$currency_codes[ get_woocommerce_currency() ] = get_woocommerce_currency();
|
15 |
-
$total_number = apply_filters( '
|
16 |
for ( $i = 1; $i <= $total_number; $i++ ) {
|
17 |
$currency_codes[ get_option( 'wcj_currency_per_product_currency_' . $i ) ] = get_option( 'wcj_currency_per_product_currency_' . $i );
|
18 |
}
|
12 |
$currency_codes = array();
|
13 |
$currency_codes[ get_option('woocommerce_currency') ] = get_option('woocommerce_currency');
|
14 |
$currency_codes[ get_woocommerce_currency() ] = get_woocommerce_currency();
|
15 |
+
$total_number = apply_filters( 'booster_option', 1, get_option( 'wcj_currency_per_product_total_number', 1 ) );
|
16 |
for ( $i = 1; $i <= $total_number; $i++ ) {
|
17 |
$currency_codes[ get_option( 'wcj_currency_per_product_currency_' . $i ) ] = get_option( 'wcj_currency_per_product_currency_' . $i );
|
18 |
}
|
includes/settings/meta-box/wcj-settings-meta-box-multicurrency-base-price.php
CHANGED
@@ -23,7 +23,7 @@ if ( $_product->is_type( 'variable' ) ) {
|
|
23 |
$products[ $main_product_id ] = '';
|
24 |
}
|
25 |
$options = array();
|
26 |
-
$total_number = apply_filters( '
|
27 |
foreach ( $products as $product_id => $desc ) {
|
28 |
$currency_codes = array();
|
29 |
$currency_codes[ get_woocommerce_currency() ] = get_woocommerce_currency();
|
@@ -45,7 +45,7 @@ return $options;
|
|
45 |
*/
|
46 |
$currency_codes = array();
|
47 |
$currency_codes[ get_woocommerce_currency() ] = get_woocommerce_currency();
|
48 |
-
$total_number = apply_filters( '
|
49 |
for ( $i = 1; $i <= $total_number; $i++ ) {
|
50 |
$currency_codes[ get_option( 'wcj_multicurrency_base_price_currency_' . $i ) ] = get_option( 'wcj_multicurrency_base_price_currency_' . $i );
|
51 |
}
|
23 |
$products[ $main_product_id ] = '';
|
24 |
}
|
25 |
$options = array();
|
26 |
+
$total_number = apply_filters( 'booster_option', 1, get_option( 'wcj_multicurrency_base_price_total_number', 1 ) );
|
27 |
foreach ( $products as $product_id => $desc ) {
|
28 |
$currency_codes = array();
|
29 |
$currency_codes[ get_woocommerce_currency() ] = get_woocommerce_currency();
|
45 |
*/
|
46 |
$currency_codes = array();
|
47 |
$currency_codes[ get_woocommerce_currency() ] = get_woocommerce_currency();
|
48 |
+
$total_number = apply_filters( 'booster_option', 1, get_option( 'wcj_multicurrency_base_price_total_number', 1 ) );
|
49 |
for ( $i = 1; $i <= $total_number; $i++ ) {
|
50 |
$currency_codes[ get_option( 'wcj_multicurrency_base_price_currency_' . $i ) ] = get_option( 'wcj_multicurrency_base_price_currency_' . $i );
|
51 |
}
|
includes/settings/meta-box/wcj-settings-meta-box-multicurrency.php
CHANGED
@@ -25,7 +25,7 @@ if ( $_product->is_type( 'variable' ) ) {
|
|
25 |
$products[ $main_product_id ] = '';
|
26 |
}
|
27 |
$currencies = array();
|
28 |
-
$total_number = apply_filters( '
|
29 |
foreach ( $products as $product_id => $desc ) {
|
30 |
for ( $i = 1; $i <= $total_number; $i++ ) {
|
31 |
$currency_code = get_option( 'wcj_multicurrency_currency_' . $i );
|
25 |
$products[ $main_product_id ] = '';
|
26 |
}
|
27 |
$currencies = array();
|
28 |
+
$total_number = apply_filters( 'booster_option', 2, get_option( 'wcj_multicurrency_total_number', 2 ) );
|
29 |
foreach ( $products as $product_id => $desc ) {
|
30 |
for ( $i = 1; $i <= $total_number; $i++ ) {
|
31 |
$currency_code = get_option( 'wcj_multicurrency_currency_' . $i );
|
includes/settings/meta-box/wcj-settings-meta-box-order-quantities.php
CHANGED
@@ -27,7 +27,7 @@ if ( $_product->is_type( 'variable' ) ) {
|
|
27 |
}
|
28 |
$quantities = array();
|
29 |
foreach ( $products as $product_id => $desc ) {
|
30 |
-
if ( 'yes' === apply_filters( '
|
31 |
$quantities = array_merge( $quantities, array(
|
32 |
array(
|
33 |
'name' => 'wcj_order_quantities_min' . '_' . $product_id,
|
@@ -42,7 +42,7 @@ foreach ( $products as $product_id => $desc ) {
|
|
42 |
),
|
43 |
) );
|
44 |
}
|
45 |
-
if ( 'yes' === apply_filters( '
|
46 |
$quantities = array_merge( $quantities, array(
|
47 |
array(
|
48 |
'name' => 'wcj_order_quantities_max' . '_' . $product_id,
|
27 |
}
|
28 |
$quantities = array();
|
29 |
foreach ( $products as $product_id => $desc ) {
|
30 |
+
if ( 'yes' === apply_filters( 'booster_option', 'no', get_option( 'wcj_order_quantities_min_per_item_quantity_per_product', 'no' ) ) ) {
|
31 |
$quantities = array_merge( $quantities, array(
|
32 |
array(
|
33 |
'name' => 'wcj_order_quantities_min' . '_' . $product_id,
|
42 |
),
|
43 |
) );
|
44 |
}
|
45 |
+
if ( 'yes' === apply_filters( 'booster_option', 'no', get_option( 'wcj_order_quantities_max_per_item_quantity_per_product', 'no' ) ) ) {
|
46 |
$quantities = array_merge( $quantities, array(
|
47 |
array(
|
48 |
'name' => 'wcj_order_quantities_max' . '_' . $product_id,
|
includes/settings/meta-box/wcj-settings-meta-box-price-by-country.php
ADDED
@@ -0,0 +1,75 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?php
|
2 |
+
/**
|
3 |
+
* Booster for WooCommerce - Settings Meta Box - Price by Country
|
4 |
+
*
|
5 |
+
* @version 3.3.0
|
6 |
+
* @since 3.3.0
|
7 |
+
* @author Algoritmika Ltd.
|
8 |
+
*/
|
9 |
+
|
10 |
+
if ( ! defined( 'ABSPATH' ) ) exit; // Exit if accessed directly
|
11 |
+
|
12 |
+
$products = wcj_get_product_ids_for_meta_box_options( get_the_ID() );
|
13 |
+
$groups = array();
|
14 |
+
$total_number = apply_filters( 'booster_option', 1, get_option( 'wcj_price_by_country_total_groups_number', 1 ) );
|
15 |
+
for ( $i = 1; $i <= $total_number; $i++ ) {
|
16 |
+
$group_currency_code = get_option( 'wcj_price_by_country_exchange_rate_currency_group_' . $i );
|
17 |
+
$admin_title = get_option( 'wcj_price_by_country_countries_group_admin_title_' . $i, __( 'Group', 'woocommerce-jetpack' ) . ' #' . $i );
|
18 |
+
$countries = '';
|
19 |
+
switch ( get_option( 'wcj_price_by_country_selection', 'comma_list' ) ) {
|
20 |
+
case 'comma_list':
|
21 |
+
$countries .= get_option( 'wcj_price_by_country_exchange_rate_countries_group_' . $i );
|
22 |
+
break;
|
23 |
+
case 'multiselect':
|
24 |
+
$countries .= implode( ',', get_option( 'wcj_price_by_country_countries_group_' . $i ) );
|
25 |
+
break;
|
26 |
+
case 'chosen_select':
|
27 |
+
$countries .= implode( ',', get_option( 'wcj_price_by_country_countries_group_chosen_select_' . $i ) );
|
28 |
+
break;
|
29 |
+
}
|
30 |
+
$admin_title = '<details>' . '<summary>' . $admin_title . ' [' . $group_currency_code . ']' . '</summary>' .
|
31 |
+
'<p>' . $countries . ' (' . count( explode( ',', $countries ) ) . ')' . '</p>' . '</details>';
|
32 |
+
$groups = array_merge( $groups, array(
|
33 |
+
array(
|
34 |
+
'type' => 'title',
|
35 |
+
'title' => $admin_title,
|
36 |
+
'css' => 'background-color:#cddc39;color:black;',
|
37 |
+
),
|
38 |
+
) );
|
39 |
+
foreach ( $products as $product_id => $desc ) {
|
40 |
+
$groups = array_merge( $groups, array(
|
41 |
+
array(
|
42 |
+
'name' => 'wcj_price_by_country_regular_price_local_' . $i . '_' . $product_id,
|
43 |
+
'default' => 0,
|
44 |
+
'type' => 'price',
|
45 |
+
'title' => __( 'Regular price', 'woocommerce-jetpack' ),
|
46 |
+
'desc' => $desc,
|
47 |
+
'product_id' => $product_id,
|
48 |
+
'meta_name' => '_' . 'wcj_price_by_country_regular_price_local_' . $i,
|
49 |
+
),
|
50 |
+
array(
|
51 |
+
'name' => 'wcj_price_by_country_sale_price_local_' . $i . '_' . $product_id,
|
52 |
+
'default' => '',
|
53 |
+
'type' => 'price',
|
54 |
+
'title' => __( 'Sale price', 'woocommerce-jetpack' ),
|
55 |
+
'desc' => $desc,
|
56 |
+
'product_id' => $product_id,
|
57 |
+
'meta_name' => '_' . 'wcj_price_by_country_sale_price_local_' . $i,
|
58 |
+
),
|
59 |
+
array(
|
60 |
+
'name' => 'wcj_price_by_country_make_empty_price_local_' . $i . '_' . $product_id,
|
61 |
+
'default' => 'off',
|
62 |
+
'type' => 'select',
|
63 |
+
'options' => array(
|
64 |
+
'off' => __( 'No', 'woocommerce-jetpack' ),
|
65 |
+
'on' => __( 'Yes', 'woocommerce-jetpack' ),
|
66 |
+
),
|
67 |
+
'title' => __( 'Make empty price', 'woocommerce-jetpack' ),
|
68 |
+
'desc' => $desc,
|
69 |
+
'product_id' => $product_id,
|
70 |
+
'meta_name' => '_' . 'wcj_price_by_country_make_empty_price_local_' . $i,
|
71 |
+
),
|
72 |
+
) );
|
73 |
+
}
|
74 |
+
}
|
75 |
+
return $groups;
|
includes/settings/meta-box/wcj-settings-meta-box-product-add-to-cart.php
CHANGED
@@ -2,7 +2,7 @@
|
|
2 |
/**
|
3 |
* Booster for WooCommerce - Settings Meta Box - Product Add To Cart
|
4 |
*
|
5 |
-
* @version
|
6 |
* @since 2.8.0
|
7 |
* @author Algoritmika Ltd.
|
8 |
*/
|
@@ -10,7 +10,7 @@
|
|
10 |
if ( ! defined( 'ABSPATH' ) ) exit; // Exit if accessed directly
|
11 |
|
12 |
$options = array();
|
13 |
-
if ( 'yes' === apply_filters( '
|
14 |
$options = array_merge( $options, array(
|
15 |
array(
|
16 |
'name' => 'wcj_add_to_cart_redirect_enabled',
|
@@ -46,30 +46,6 @@ if ( 'per_product' === get_option( 'wcj_add_to_cart_on_visit_enabled', 'no' ) )
|
|
46 |
),
|
47 |
) );
|
48 |
}
|
49 |
-
if ( 'yes' === get_option( 'wcj_add_to_cart_button_per_product_enabled', 'no' ) ) {
|
50 |
-
$options = array_merge( $options, array(
|
51 |
-
array(
|
52 |
-
'name' => 'wcj_add_to_cart_button_disable',
|
53 |
-
'default' => 'no',
|
54 |
-
'type' => 'select',
|
55 |
-
'options' => array(
|
56 |
-
'yes' => __( 'Yes', 'woocommerce-jetpack' ),
|
57 |
-
'no' => __( 'No', 'woocommerce-jetpack' ),
|
58 |
-
),
|
59 |
-
'title' => __( 'Disable Add to Cart Button (Single Product Page)', 'woocommerce-jetpack' ),
|
60 |
-
),
|
61 |
-
array(
|
62 |
-
'name' => 'wcj_add_to_cart_button_loop_disable',
|
63 |
-
'default' => 'no',
|
64 |
-
'type' => 'select',
|
65 |
-
'options' => array(
|
66 |
-
'yes' => __( 'Yes', 'woocommerce-jetpack' ),
|
67 |
-
'no' => __( 'No', 'woocommerce-jetpack' ),
|
68 |
-
),
|
69 |
-
'title' => __( 'Disable Add to Cart Button (Category/Archives)', 'woocommerce-jetpack' ),
|
70 |
-
),
|
71 |
-
) );
|
72 |
-
}
|
73 |
if ( 'yes' === get_option( 'wcj_add_to_cart_button_custom_loop_url_per_product_enabled', 'no' ) ) {
|
74 |
$options = array_merge( $options, array(
|
75 |
array(
|
2 |
/**
|
3 |
* Booster for WooCommerce - Settings Meta Box - Product Add To Cart
|
4 |
*
|
5 |
+
* @version 3.3.0
|
6 |
* @since 2.8.0
|
7 |
* @author Algoritmika Ltd.
|
8 |
*/
|
10 |
if ( ! defined( 'ABSPATH' ) ) exit; // Exit if accessed directly
|
11 |
|
12 |
$options = array();
|
13 |
+
if ( 'yes' === apply_filters( 'booster_option', 'no', get_option( 'wcj_add_to_cart_redirect_per_product_enabled', 'no' ) ) ) {
|
14 |
$options = array_merge( $options, array(
|
15 |
array(
|
16 |
'name' => 'wcj_add_to_cart_redirect_enabled',
|
46 |
),
|
47 |
) );
|
48 |
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
49 |
if ( 'yes' === get_option( 'wcj_add_to_cart_button_custom_loop_url_per_product_enabled', 'no' ) ) {
|
50 |
$options = array_merge( $options, array(
|
51 |
array(
|
includes/settings/meta-box/wcj-settings-meta-box-product-addons.php
CHANGED
@@ -2,7 +2,7 @@
|
|
2 |
/**
|
3 |
* Booster for WooCommerce - Settings Meta Box - Product Addons
|
4 |
*
|
5 |
-
* @version 3.
|
6 |
* @since 2.8.0
|
7 |
* @author Algoritmika Ltd.
|
8 |
*/
|
@@ -104,6 +104,13 @@ for ( $i = 1; $i <= $total_number; $i++ ) {
|
|
104 |
'no' => __( 'No', 'woocommerce-jetpack' ),
|
105 |
),
|
106 |
),
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
107 |
) );
|
108 |
}
|
109 |
return $options;
|
2 |
/**
|
3 |
* Booster for WooCommerce - Settings Meta Box - Product Addons
|
4 |
*
|
5 |
+
* @version 3.3.0
|
6 |
* @since 2.8.0
|
7 |
* @author Algoritmika Ltd.
|
8 |
*/
|
104 |
'no' => __( 'No', 'woocommerce-jetpack' ),
|
105 |
),
|
106 |
),
|
107 |
+
array(
|
108 |
+
'title' => __( 'Quantity', 'woocommerce-jetpack' ),
|
109 |
+
'tooltip' => __( 'Leave empty to disable quantity calculation for the addon. When set to zero - addon will be disabled.', 'woocommerce-jetpack' ),
|
110 |
+
'name' => 'wcj_product_addons_per_product_qty_' . $i,
|
111 |
+
'default' => '',
|
112 |
+
'type' => 'text',
|
113 |
+
),
|
114 |
) );
|
115 |
}
|
116 |
return $options;
|
includes/settings/meta-box/wcj-settings-meta-box-product-by-country.php
CHANGED
@@ -9,10 +9,10 @@
|
|
9 |
|
10 |
if ( ! defined( 'ABSPATH' ) ) exit; // Exit if accessed directly
|
11 |
|
12 |
-
$countries = ( 'wc' === apply_filters( '
|
13 |
|
14 |
$options = array();
|
15 |
-
if ( 'invisible' != apply_filters( '
|
16 |
$options = array_merge( $options, array(
|
17 |
array(
|
18 |
'title' => __( 'Visible in Countries', 'woocommerce-jetpack' ),
|
@@ -28,7 +28,7 @@ if ( 'invisible' != apply_filters( 'booster_get_option', 'visible', get_option(
|
|
28 |
),
|
29 |
) );
|
30 |
}
|
31 |
-
if ( 'visible' != apply_filters( '
|
32 |
$options = array_merge( $options, array(
|
33 |
array(
|
34 |
'title' => __( 'Invisible in Countries', 'woocommerce-jetpack' ),
|
9 |
|
10 |
if ( ! defined( 'ABSPATH' ) ) exit; // Exit if accessed directly
|
11 |
|
12 |
+
$countries = ( 'wc' === apply_filters( 'booster_option', 'all', get_option( 'wcj_product_by_country_country_list', 'all' ) ) ? WC()->countries->get_allowed_countries() : wcj_get_countries() );
|
13 |
|
14 |
$options = array();
|
15 |
+
if ( 'invisible' != apply_filters( 'booster_option', 'visible', get_option( 'wcj_product_by_country_visibility_method', 'visible' ) ) ) {
|
16 |
$options = array_merge( $options, array(
|
17 |
array(
|
18 |
'title' => __( 'Visible in Countries', 'woocommerce-jetpack' ),
|
28 |
),
|
29 |
) );
|
30 |
}
|
31 |
+
if ( 'visible' != apply_filters( 'booster_option', 'visible', get_option( 'wcj_product_by_country_visibility_method', 'visible' ) ) ) {
|
32 |
$options = array_merge( $options, array(
|
33 |
array(
|
34 |
'title' => __( 'Invisible in Countries', 'woocommerce-jetpack' ),
|
includes/settings/meta-box/wcj-settings-meta-box-product-by-user-role.php
CHANGED
@@ -2,7 +2,7 @@
|
|
2 |
/**
|
3 |
* Booster for WooCommerce - Settings Meta Box - Product Visibility by User Role
|
4 |
*
|
5 |
-
* @version
|
6 |
* @since 2.8.0
|
7 |
* @author Algoritmika Ltd.
|
8 |
*/
|
@@ -17,6 +17,7 @@ return array(
|
|
17 |
'options' => wcj_get_user_roles_options(),
|
18 |
'multiple' => true,
|
19 |
'title' => __( 'Visible for User Roles', 'woocommerce-jetpack' ),
|
20 |
-
'
|
|
|
21 |
),
|
22 |
);
|
2 |
/**
|
3 |
* Booster for WooCommerce - Settings Meta Box - Product Visibility by User Role
|
4 |
*
|
5 |
+
* @version 3.3.0
|
6 |
* @since 2.8.0
|
7 |
* @author Algoritmika Ltd.
|
8 |
*/
|
17 |
'options' => wcj_get_user_roles_options(),
|
18 |
'multiple' => true,
|
19 |
'title' => __( 'Visible for User Roles', 'woocommerce-jetpack' ),
|
20 |
+
'class' => 'chosen_select',
|
21 |
+
'css' => 'width:100%;',
|
22 |
),
|
23 |
);
|
includes/settings/meta-box/wcj-settings-meta-box-purchase-data.php
CHANGED
@@ -59,7 +59,7 @@ foreach ( $products as $product_id => $desc ) {
|
|
59 |
'enabled' => get_option( 'wcj_purchase_price_affiliate_commission_enabled', 'no' ),
|
60 |
),
|
61 |
);
|
62 |
-
$total_number = apply_filters( '
|
63 |
for ( $i = 1; $i <= $total_number; $i++ ) {
|
64 |
$the_title = get_option( 'wcj_purchase_data_custom_price_field_name_' . $i, '' );
|
65 |
if ( '' == $the_title ) {
|
59 |
'enabled' => get_option( 'wcj_purchase_price_affiliate_commission_enabled', 'no' ),
|
60 |
),
|
61 |
);
|
62 |
+
$total_number = apply_filters( 'booster_option', 1, get_option( 'wcj_purchase_data_custom_price_fields_total_number', 1 ) );
|
63 |
for ( $i = 1; $i <= $total_number; $i++ ) {
|
64 |
$the_title = get_option( 'wcj_purchase_data_custom_price_field_name_' . $i, '' );
|
65 |
if ( '' == $the_title ) {
|
includes/settings/meta-box/wcj-settings-meta-box-wholesale-price.php
CHANGED
@@ -46,11 +46,11 @@ $options = array(
|
|
46 |
'default' => 0,
|
47 |
'type' => 'number',
|
48 |
'title' => __( 'Number of levels', 'woocommerce-jetpack' ),
|
49 |
-
'tooltip' => __( 'Save product after you change this number.', 'woocommerce-jetpack' ) . apply_filters( '
|
50 |
-
'custom_attributes' => 'min="0" max="' . apply_filters( '
|
51 |
),
|
52 |
);
|
53 |
-
for ( $i = 1; $i <= apply_filters( '
|
54 |
$options = array_merge( $options, array(
|
55 |
/*
|
56 |
array(
|
@@ -82,11 +82,11 @@ if ( ! empty( $user_roles ) ) {
|
|
82 |
'default' => 0,
|
83 |
'type' => 'number',
|
84 |
'title' => __( 'Number of levels', 'woocommerce-jetpack' ) . ' [' . $user_role_key . ']',
|
85 |
-
'tooltip' => __( 'Save product after you change this number.', 'woocommerce-jetpack' ) . apply_filters( '
|
86 |
-
'custom_attributes' => 'min="0" max="' . apply_filters( '
|
87 |
),
|
88 |
) );
|
89 |
-
for ( $i = 1; $i <= apply_filters( '
|
90 |
$options = array_merge( $options, array(
|
91 |
/*
|
92 |
array(
|
46 |
'default' => 0,
|
47 |
'type' => 'number',
|
48 |
'title' => __( 'Number of levels', 'woocommerce-jetpack' ),
|
49 |
+
'tooltip' => __( 'Save product after you change this number.', 'woocommerce-jetpack' ) . apply_filters( 'booster_option', ' ' . __( 'Free Booster\'s version is limited to one level maximum. Please visit http://booster.io to get full version.', 'woocommerce-jetpack' ), '' ),
|
50 |
+
'custom_attributes' => 'min="0" max="' . apply_filters( 'booster_option', 1, 1000 ) . '"',
|
51 |
),
|
52 |
);
|
53 |
+
for ( $i = 1; $i <= apply_filters( 'booster_option', 1, get_post_meta( $product_id, '_' . 'wcj_wholesale_price_levels_number', true ) ); $i++ ) {
|
54 |
$options = array_merge( $options, array(
|
55 |
/*
|
56 |
array(
|
82 |
'default' => 0,
|
83 |
'type' => 'number',
|
84 |
'title' => __( 'Number of levels', 'woocommerce-jetpack' ) . ' [' . $user_role_key . ']',
|
85 |
+
'tooltip' => __( 'Save product after you change this number.', 'woocommerce-jetpack' ) . apply_filters( 'booster_option', ' ' . __( 'Free Booster\'s version is limited to one level maximum. Please visit http://booster.io to get full version.', 'woocommerce-jetpack' ), '' ),
|
86 |
+
'custom_attributes' => 'min="0" max="' . apply_filters( 'booster_option', 1, 1000 ) . '"',
|
87 |
),
|
88 |
) );
|
89 |
+
for ( $i = 1; $i <= apply_filters( 'booster_option', 1, get_post_meta( $product_id, '_' . 'wcj_wholesale_price_levels_number_' . $user_role_key, true ) ); $i++ ) {
|
90 |
$options = array_merge( $options, array(
|
91 |
/*
|
92 |
array(
|
includes/settings/wcj-settings-add-to-cart-button-visibility.php
ADDED
@@ -0,0 +1,111 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?php
|
2 |
+
/**
|
3 |
+
* Booster for WooCommerce - Settings - Add to Cart Button Visibility
|
4 |
+
*
|
5 |
+
* @version 3.3.0
|
6 |
+
* @since 3.3.0
|
7 |
+
* @author Algoritmika Ltd.
|
8 |
+
* @todo "Per Tag"
|
9 |
+
*/
|
10 |
+
|
11 |
+
if ( ! defined( 'ABSPATH' ) ) exit; // Exit if accessed directly
|
12 |
+
|
13 |
+
$products_cats = wcj_get_terms( 'product_cat' );
|
14 |
+
|
15 |
+
return array(
|
16 |
+
array(
|
17 |
+
'title' => __( 'All Products', 'woocommerce-jetpack' ),
|
18 |
+
'type' => 'title',
|
19 |
+
'id' => 'wcj_add_to_cart_button_visibility_global_options',
|
20 |
+
),
|
21 |
+
array(
|
22 |
+
'title' => __( 'All Products', 'woocommerce-jetpack' ),
|
23 |
+
'desc' => '<strong>' . __( 'Enable section', 'woocommerce-jetpack' ) . '</strong>',
|
24 |
+
'id' => 'wcj_add_to_cart_button_global_enabled',
|
25 |
+
'default' => 'no',
|
26 |
+
'type' => 'checkbox',
|
27 |
+
),
|
28 |
+
array(
|
29 |
+
'title' => __( 'Disable Buttons on Category/Archives Pages', 'woocommerce-jetpack' ),
|
30 |
+
'desc' => __( 'Disable', 'woocommerce-jetpack' ),
|
31 |
+
'id' => 'wcj_add_to_cart_button_disable_archives',
|
32 |
+
'default' => 'no',
|
33 |
+
'type' => 'checkbox',
|
34 |
+
),
|
35 |
+
array(
|
36 |
+
'title' => __( 'Disable Buttons on Single Product Pages', 'woocommerce-jetpack' ),
|
37 |
+
'desc' => __( 'Disable', 'woocommerce-jetpack' ),
|
38 |
+
'id' => 'wcj_add_to_cart_button_disable_single',
|
39 |
+
'default' => 'no',
|
40 |
+
'type' => 'checkbox',
|
41 |
+
),
|
42 |
+
array(
|
43 |
+
'type' => 'sectionend',
|
44 |
+
'id' => 'wcj_add_to_cart_button_visibility_global_options',
|
45 |
+
),
|
46 |
+
array(
|
47 |
+
'title' => __( 'Per Product', 'woocommerce-jetpack' ),
|
48 |
+
'type' => 'title',
|
49 |
+
'id' => 'wcj_add_to_cart_button_visibility_per_product_options',
|
50 |
+
),
|
51 |
+
array(
|
52 |
+
'title' => __( 'Per Product', 'woocommerce-jetpack' ),
|
53 |
+
'desc' => '<strong>' . __( 'Enable section', 'woocommerce-jetpack' ) . '</strong>',
|
54 |
+
'desc_tip' => __( 'This will add meta box to each product\'s edit page', 'woocommerce-jetpack' ),
|
55 |
+
'id' => 'wcj_add_to_cart_button_per_product_enabled',
|
56 |
+
'default' => 'no',
|
57 |
+
'type' => 'checkbox',
|
58 |
+
),
|
59 |
+
array(
|
60 |
+
'type' => 'sectionend',
|
61 |
+
'id' => 'wcj_add_to_cart_button_visibility_per_product_options',
|
62 |
+
),
|
63 |
+
array(
|
64 |
+
'title' => __( 'Per Category', 'woocommerce-jetpack' ),
|
65 |
+
'type' => 'title',
|
66 |
+
'id' => 'wcj_add_to_cart_button_visibility_per_category_options',
|
67 |
+
),
|
68 |
+
array(
|
69 |
+
'title' => __( 'Per Category', 'woocommerce-jetpack' ),
|
70 |
+
'desc' => '<strong>' . __( 'Enable section', 'woocommerce-jetpack' ) . '</strong>',
|
71 |
+
'id' => 'wcj_add_to_cart_button_per_category_enabled',
|
72 |
+
'default' => 'no',
|
73 |
+
'type' => 'checkbox',
|
74 |
+
),
|
75 |
+
array(
|
76 |
+
'title' => __( 'Disable Buttons on Category/Archives Pages', 'woocommerce-jetpack' ),
|
77 |
+
'id' => 'wcj_add_to_cart_button_per_category_disable_loop',
|
78 |
+
'default' => '',
|
79 |
+
'type' => 'multiselect',
|
80 |
+
'class' => 'chosen_select',
|
81 |
+
'options' => $products_cats,
|
82 |
+
),
|
83 |
+
array(
|
84 |
+
'desc' => __( 'Content', 'woocommerce-jetpack' ),
|
85 |
+
'desc_tip' => __( 'Content to replace with on archives (can be empty). You can use HTML and/or shortcodes here.', 'woocommerce-jetpack' ),
|
86 |
+
'id' => 'wcj_add_to_cart_button_per_category_content_loop',
|
87 |
+
'default' => '',
|
88 |
+
'type' => 'custom_textarea',
|
89 |
+
'css' => 'width:100%',
|
90 |
+
),
|
91 |
+
array(
|
92 |
+
'title' => __( 'Disable Buttons on Single Product Pages', 'woocommerce-jetpack' ),
|
93 |
+
'id' => 'wcj_add_to_cart_button_per_category_disable_single',
|
94 |
+
'default' => '',
|
95 |
+
'type' => 'multiselect',
|
96 |
+
'class' => 'chosen_select',
|
97 |
+
'options' => $products_cats,
|
98 |
+
),
|
99 |
+
array(
|
100 |
+
'desc' => __( 'Content', 'woocommerce-jetpack' ),
|
101 |
+
'desc_tip' => __( 'Content to replace with on single product pages (can be empty). You can use HTML and/or shortcodes here.', 'woocommerce-jetpack' ),
|
102 |
+
'id' => 'wcj_add_to_cart_button_per_category_content_single',
|
103 |
+
'default' => '',
|
104 |
+
'type' => 'custom_textarea',
|
105 |
+
'css' => 'width:100%',
|
106 |
+
),
|
107 |
+
array(
|
108 |
+
'type' => 'sectionend',
|
109 |
+
'id' => 'wcj_add_to_cart_button_visibility_per_category_options',
|
110 |
+
),
|
111 |
+
);
|
includes/settings/wcj-settings-add-to-cart.php
CHANGED
@@ -30,9 +30,9 @@ $settings = array(
|
|
30 |
'id' => 'wcj_add_to_cart_per_category_total_groups_number',
|
31 |
'default' => 1,
|
32 |
'type' => 'custom_number',
|
33 |
-
'desc' => apply_filters( '
|
34 |
'custom_attributes' => array_merge(
|
35 |
-
is_array( apply_filters( '
|
36 |
array( 'step' => '1', 'min' => '1' )
|
37 |
),
|
38 |
'css' => 'width:100px;',
|
@@ -45,7 +45,7 @@ if ( ! empty( $product_categories ) && ! is_wp_error( $product_categories ) ){
|
|
45 |
$product_cats[ $product_category->term_id ] = $product_category->name;
|
46 |
}
|
47 |
}
|
48 |
-
for ( $i = 1; $i <= apply_filters( '
|
49 |
$settings = array_merge( $settings, array(
|
50 |
array(
|
51 |
'title' => __( 'Group', 'woocommerce-jetpack' ) . ' #' . $i,
|
30 |
'id' => 'wcj_add_to_cart_per_category_total_groups_number',
|
31 |
'default' => 1,
|
32 |
'type' => 'custom_number',
|
33 |
+
'desc' => apply_filters( 'booster_message', '', 'desc' ),
|
34 |
'custom_attributes' => array_merge(
|
35 |
+
is_array( apply_filters( 'booster_message', '', 'readonly' ) ) ? apply_filters( 'booster_message', '', 'readonly' ) : array(),
|
36 |
array( 'step' => '1', 'min' => '1' )
|
37 |
),
|
38 |
'css' => 'width:100px;',
|
45 |
$product_cats[ $product_category->term_id ] = $product_category->name;
|
46 |
}
|
47 |
}
|
48 |
+
for ( $i = 1; $i <= apply_filters( 'booster_option', 1, get_option( 'wcj_add_to_cart_per_category_total_groups_number', 1 ) ); $i++ ) {
|
49 |
$settings = array_merge( $settings, array(
|
50 |
array(
|
51 |
'title' => __( 'Group', 'woocommerce-jetpack' ) . ' #' . $i,
|
includes/settings/wcj-settings-address-formats.php
CHANGED
@@ -1,6 +1,6 @@
|
|
1 |
<?php
|
2 |
/**
|
3 |
-
* Booster for WooCommerce Settings - Address Formats
|
4 |
*
|
5 |
* @version 2.8.0
|
6 |
* @since 2.8.0
|
1 |
<?php
|
2 |
/**
|
3 |
+
* Booster for WooCommerce - Settings - Address Formats
|
4 |
*
|
5 |
* @version 2.8.0
|
6 |
* @since 2.8.0
|
includes/settings/wcj-settings-admin-orders-list.php
CHANGED
@@ -2,7 +2,7 @@
|
|
2 |
/**
|
3 |
* Booster for WooCommerce - Settings - Admin Orders List
|
4 |
*
|
5 |
-
* @version 3.
|
6 |
* @since 3.2.4
|
7 |
* @author Algoritmika Ltd.
|
8 |
*/
|
@@ -42,14 +42,14 @@ $settings = array(
|
|
42 |
'id' => 'wcj_orders_list_custom_columns_total_number',
|
43 |
'default' => 1,
|
44 |
'type' => 'custom_number',
|
45 |
-
'desc' => apply_filters( '
|
46 |
'custom_attributes' => array_merge(
|
47 |
-
is_array( apply_filters( '
|
48 |
array( 'step' => '1', 'min' => '0', )
|
49 |
),
|
50 |
),
|
51 |
);
|
52 |
-
$total_number = apply_filters( '
|
53 |
for ( $i = 1; $i <= $total_number; $i++ ) {
|
54 |
$settings = array_merge( $settings, array(
|
55 |
array(
|
@@ -65,6 +65,7 @@ for ( $i = 1; $i <= $total_number; $i++ ) {
|
|
65 |
'id' => 'wcj_orders_list_custom_columns_label_' . $i,
|
66 |
'default' => '',
|
67 |
'type' => 'text',
|
|
|
68 |
),
|
69 |
array(
|
70 |
'desc' => __( 'Value', 'woocommerce-jetpack' ),
|
@@ -72,6 +73,7 @@ for ( $i = 1; $i <= $total_number; $i++ ) {
|
|
72 |
'id' => 'wcj_orders_list_custom_columns_value_' . $i,
|
73 |
'default' => '',
|
74 |
'type' => 'custom_textarea',
|
|
|
75 |
),
|
76 |
array(
|
77 |
'desc' => __( 'Sortable', 'woocommerce-jetpack' ),
|
2 |
/**
|
3 |
* Booster for WooCommerce - Settings - Admin Orders List
|
4 |
*
|
5 |
+
* @version 3.3.0
|
6 |
* @since 3.2.4
|
7 |
* @author Algoritmika Ltd.
|
8 |
*/
|
42 |
'id' => 'wcj_orders_list_custom_columns_total_number',
|
43 |
'default' => 1,
|
44 |
'type' => 'custom_number',
|
45 |
+
'desc' => apply_filters( 'booster_message', '', 'desc' ),
|
46 |
'custom_attributes' => array_merge(
|
47 |
+
is_array( apply_filters( 'booster_message', '', 'readonly' ) ) ? apply_filters( 'booster_message', '', 'readonly' ) : array(),
|
48 |
array( 'step' => '1', 'min' => '0', )
|
49 |
),
|
50 |
),
|
51 |
);
|
52 |
+
$total_number = apply_filters( 'booster_option', 1, get_option( 'wcj_orders_list_custom_columns_total_number', 1 ) );
|
53 |
for ( $i = 1; $i <= $total_number; $i++ ) {
|
54 |
$settings = array_merge( $settings, array(
|
55 |
array(
|
65 |
'id' => 'wcj_orders_list_custom_columns_label_' . $i,
|
66 |
'default' => '',
|
67 |
'type' => 'text',
|
68 |
+
'css' => 'width:100%;',
|
69 |
),
|
70 |
array(
|
71 |
'desc' => __( 'Value', 'woocommerce-jetpack' ),
|
73 |
'id' => 'wcj_orders_list_custom_columns_value_' . $i,
|
74 |
'default' => '',
|
75 |
'type' => 'custom_textarea',
|
76 |
+
'css' => 'width:100%;',
|
77 |
),
|
78 |
array(
|
79 |
'desc' => __( 'Sortable', 'woocommerce-jetpack' ),
|
includes/settings/wcj-settings-admin-products-list.php
CHANGED
@@ -28,14 +28,14 @@ $settings = array(
|
|
28 |
'id' => 'wcj_products_admin_list_custom_columns_total_number',
|
29 |
'default' => 1,
|
30 |
'type' => 'custom_number',
|
31 |
-
'desc' => apply_filters( '
|
32 |
'custom_attributes' => array_merge(
|
33 |
-
is_array( apply_filters( '
|
34 |
array( 'step' => '1', 'min' => '0', )
|
35 |
),
|
36 |
),
|
37 |
);
|
38 |
-
$total_number = apply_filters( '
|
39 |
for ( $i = 1; $i <= $total_number; $i++ ) {
|
40 |
$settings = array_merge( $settings, array(
|
41 |
array(
|
28 |
'id' => 'wcj_products_admin_list_custom_columns_total_number',
|
29 |
'default' => 1,
|
30 |
'type' => 'custom_number',
|
31 |
+
'desc' => apply_filters( 'booster_message', '', 'desc' ),
|
32 |
'custom_attributes' => array_merge(
|
33 |
+
is_array( apply_filters( 'booster_message', '', 'readonly' ) ) ? apply_filters( 'booster_message', '', 'readonly' ) : array(),
|
34 |
array( 'step' => '1', 'min' => '0', )
|
35 |
),
|
36 |
),
|
37 |
);
|
38 |
+
$total_number = apply_filters( 'booster_option', 1, get_option( 'wcj_products_admin_list_custom_columns_total_number', 1 ) );
|
39 |
for ( $i = 1; $i <= $total_number; $i++ ) {
|
40 |
$settings = array_merge( $settings, array(
|
41 |
array(
|
includes/settings/wcj-settings-admin-tools.php
CHANGED
@@ -2,7 +2,7 @@
|
|
2 |
/**
|
3 |
* Booster for WooCommerce - Settings - Admin Tools
|
4 |
*
|
5 |
-
* @version
|
6 |
* @since 2.8.0
|
7 |
* @author Algoritmika Ltd.
|
8 |
*/
|
@@ -83,6 +83,13 @@ return array(
|
|
83 |
'default' => 'no',
|
84 |
'type' => 'checkbox',
|
85 |
),
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
86 |
array(
|
87 |
'type' => 'sectionend',
|
88 |
'id' => 'wcj_admin_tools_module_options',
|
2 |
/**
|
3 |
* Booster for WooCommerce - Settings - Admin Tools
|
4 |
*
|
5 |
+
* @version 3.3.0
|
6 |
* @since 2.8.0
|
7 |
* @author Algoritmika Ltd.
|
8 |
*/
|
83 |
'default' => 'no',
|
84 |
'type' => 'checkbox',
|
85 |
),
|
86 |
+
array(
|
87 |
+
'title' => __( 'Show Variable Product Pricing Table', 'woocommerce-jetpack' ),
|
88 |
+
'desc' => __( 'Enable', 'woocommerce-jetpack' ),
|
89 |
+
'id' => 'wcj_admin_tools_variable_product_pricing_table_enabled',
|
90 |
+
'default' => 'no',
|
91 |
+
'type' => 'checkbox',
|
92 |
+
),
|
93 |
array(
|
94 |
'type' => 'sectionend',
|
95 |
'id' => 'wcj_admin_tools_module_options',
|
includes/settings/wcj-settings-breadcrumbs.php
CHANGED
@@ -35,8 +35,8 @@ return array(
|
|
35 |
'id' => 'wcj_breadcrumbs_hide',
|
36 |
'default' => 'no',
|
37 |
'type' => 'checkbox',
|
38 |
-
'desc_tip' => apply_filters( '
|
39 |
-
'custom_attributes' => apply_filters( '
|
40 |
),
|
41 |
array(
|
42 |
'type' => 'sectionend',
|
35 |
'id' => 'wcj_breadcrumbs_hide',
|
36 |
'default' => 'no',
|
37 |
'type' => 'checkbox',
|
38 |
+
'desc_tip' => apply_filters( 'booster_message', '', 'desc' ),
|
39 |
+
'custom_attributes' => apply_filters( 'booster_message', '', 'disabled' ),
|
40 |
),
|
41 |
array(
|
42 |
'type' => 'sectionend',
|
includes/settings/wcj-settings-call-for-price.php
CHANGED
@@ -20,52 +20,52 @@ return array(
|
|
20 |
array(
|
21 |
'title' => __( 'Label to Show on Single', 'woocommerce-jetpack' ),
|
22 |
'desc_tip' => __( 'This sets the html to output on empty price. Leave blank to disable.', 'woocommerce-jetpack' ),
|
23 |
-
'desc' => apply_filters( '
|
24 |
'id' => 'wcj_call_for_price_text',
|
25 |
'default' => '<strong>Call for price</strong>',
|
26 |
'type' => 'textarea',
|
27 |
'css' => 'width:100%',
|
28 |
-
'custom_attributes' => apply_filters( '
|
29 |
),
|
30 |
array(
|
31 |
'title' => __( 'Label to Show on Archives', 'woocommerce-jetpack' ),
|
32 |
'desc_tip' => __( 'This sets the html to output on empty price. Leave blank to disable.', 'woocommerce-jetpack' ),
|
33 |
-
'desc' => apply_filters( '
|
34 |
'id' => 'wcj_call_for_price_text_on_archive',
|
35 |
'default' => '<strong>Call for price</strong>',
|
36 |
'type' => 'textarea',
|
37 |
'css' => 'width:100%',
|
38 |
-
'custom_attributes' => apply_filters( '
|
39 |
),
|
40 |
array(
|
41 |
'title' => __( 'Label to Show on Homepage', 'woocommerce-jetpack' ),
|
42 |
'desc_tip' => __( 'This sets the html to output on empty price. Leave blank to disable.', 'woocommerce-jetpack' ),
|
43 |
-
'desc' => apply_filters( '
|
44 |
'id' => 'wcj_call_for_price_text_on_home',
|
45 |
'default' => '<strong>Call for price</strong>',
|
46 |
'type' => 'textarea',
|
47 |
'css' => 'width:100%',
|
48 |
-
'custom_attributes' => apply_filters( '
|
49 |
),
|
50 |
array(
|
51 |
'title' => __( 'Label to Show on Related', 'woocommerce-jetpack' ),
|
52 |
'desc_tip' => __( 'This sets the html to output on empty price. Leave blank to disable.', 'woocommerce-jetpack' ),
|
53 |
-
'desc' => apply_filters( '
|
54 |
'id' => 'wcj_call_for_price_text_on_related',
|
55 |
'default' => '<strong>Call for price</strong>',
|
56 |
'type' => 'textarea',
|
57 |
'css' => 'width:100%',
|
58 |
-
'custom_attributes' => apply_filters( '
|
59 |
),
|
60 |
array(
|
61 |
'title' => __( 'Label to Show for Variations', 'woocommerce-jetpack' ),
|
62 |
'desc_tip' => __( 'This sets the html to output on empty price. Leave blank to disable.', 'woocommerce-jetpack' ),
|
63 |
-
'desc' => apply_filters( '
|
64 |
'id' => 'wcj_call_for_price_text_variation',
|
65 |
'default' => '<strong>Call for price</strong>',
|
66 |
'type' => 'textarea',
|
67 |
'css' => 'width:100%',
|
68 |
-
'custom_attributes' => apply_filters( '
|
69 |
),
|
70 |
array(
|
71 |
'title' => __( 'Hide Sale! Tag', 'woocommerce-jetpack' ),
|
20 |
array(
|
21 |
'title' => __( 'Label to Show on Single', 'woocommerce-jetpack' ),
|
22 |
'desc_tip' => __( 'This sets the html to output on empty price. Leave blank to disable.', 'woocommerce-jetpack' ),
|
23 |
+
'desc' => apply_filters( 'booster_message', '', 'desc' ),
|
24 |
'id' => 'wcj_call_for_price_text',
|
25 |
'default' => '<strong>Call for price</strong>',
|
26 |
'type' => 'textarea',
|
27 |
'css' => 'width:100%',
|
28 |
+
'custom_attributes' => apply_filters( 'booster_message', '', 'readonly' ),
|
29 |
),
|
30 |
array(
|
31 |
'title' => __( 'Label to Show on Archives', 'woocommerce-jetpack' ),
|
32 |
'desc_tip' => __( 'This sets the html to output on empty price. Leave blank to disable.', 'woocommerce-jetpack' ),
|
33 |
+
'desc' => apply_filters( 'booster_message', '', 'desc' ),
|
34 |
'id' => 'wcj_call_for_price_text_on_archive',
|
35 |
'default' => '<strong>Call for price</strong>',
|
36 |
'type' => 'textarea',
|
37 |
'css' => 'width:100%',
|
38 |
+
'custom_attributes' => apply_filters( 'booster_message', '', 'readonly' ),
|
39 |
),
|
40 |
array(
|
41 |
'title' => __( 'Label to Show on Homepage', 'woocommerce-jetpack' ),
|
42 |
'desc_tip' => __( 'This sets the html to output on empty price. Leave blank to disable.', 'woocommerce-jetpack' ),
|
43 |
+
'desc' => apply_filters( 'booster_message', '', 'desc' ),
|
44 |
'id' => 'wcj_call_for_price_text_on_home',
|
45 |
'default' => '<strong>Call for price</strong>',
|
46 |
'type' => 'textarea',
|
47 |
'css' => 'width:100%',
|
48 |
+
'custom_attributes' => apply_filters( 'booster_message', '', 'readonly' ),
|
49 |
),
|
50 |
array(
|
51 |
'title' => __( 'Label to Show on Related', 'woocommerce-jetpack' ),
|
52 |
'desc_tip' => __( 'This sets the html to output on empty price. Leave blank to disable.', 'woocommerce-jetpack' ),
|
53 |
+
'desc' => apply_filters( 'booster_message', '', 'desc' ),
|
54 |
'id' => 'wcj_call_for_price_text_on_related',
|
55 |
'default' => '<strong>Call for price</strong>',
|
56 |
'type' => 'textarea',
|
57 |
'css' => 'width:100%',
|
58 |
+
'custom_attributes' => apply_filters( 'booster_message', '', 'readonly' ),
|
59 |
),
|
60 |
array(
|
61 |
'title' => __( 'Label to Show for Variations', 'woocommerce-jetpack' ),
|
62 |
'desc_tip' => __( 'This sets the html to output on empty price. Leave blank to disable.', 'woocommerce-jetpack' ),
|
63 |
+
'desc' => apply_filters( 'booster_message', '', 'desc' ),
|
64 |
'id' => 'wcj_call_for_price_text_variation',
|
65 |
'default' => '<strong>Call for price</strong>',
|
66 |
'type' => 'textarea',
|
67 |
'css' => 'width:100%',
|
68 |
+
'custom_attributes' => apply_filters( 'booster_message', '', 'readonly' ),
|
69 |
),
|
70 |
array(
|
71 |
'title' => __( 'Hide Sale! Tag', 'woocommerce-jetpack' ),
|
includes/settings/wcj-settings-cart.php
CHANGED
@@ -2,7 +2,7 @@
|
|
2 |
/**
|
3 |
* Booster for WooCommerce - Settings - Cart Custom Info
|
4 |
*
|
5 |
-
* @version
|
6 |
* @since 2.8.0
|
7 |
* @author Algoritmika Ltd.
|
8 |
* @todo (maybe) 'Hide "Note: Shipping and taxes are estimated..." message on Cart page' - `wcj_cart_hide_shipping_and_taxes_estimated_message`
|
@@ -25,15 +25,15 @@ $settings = array(
|
|
25 |
'id' => 'wcj_cart_custom_info_total_number',
|
26 |
'default' => 1,
|
27 |
'type' => 'custom_number',
|
28 |
-
'desc' => apply_filters( '
|
29 |
-
'custom_attributes' => apply_filters( '
|
30 |
),
|
31 |
array(
|
32 |
'type' => 'sectionend',
|
33 |
'id' => 'wcj_cart_custom_info_options',
|
34 |
),
|
35 |
);
|
36 |
-
for ( $i = 1; $i <= apply_filters( '
|
37 |
$settings = array_merge( $settings, array(
|
38 |
array(
|
39 |
'title' => __( 'Info Block', 'woocommerce-jetpack' ) . ' #' . $i,
|
@@ -45,7 +45,7 @@ for ( $i = 1; $i <= apply_filters( 'booster_get_option', 1, get_option( 'wcj_car
|
|
45 |
'id' => 'wcj_cart_custom_info_content_' . $i,
|
46 |
'default' => '[wcj_cart_items_total_weight before="Total weight: " after=" kg"]',
|
47 |
'type' => 'textarea',
|
48 |
-
'css' => 'width:
|
49 |
),
|
50 |
array(
|
51 |
'title' => __( 'Position', 'woocommerce-jetpack' ),
|
@@ -53,14 +53,12 @@ for ( $i = 1; $i <= apply_filters( 'booster_get_option', 1, get_option( 'wcj_car
|
|
53 |
'default' => 'woocommerce_after_cart_totals',
|
54 |
'type' => 'select',
|
55 |
'options' => wcj_get_cart_filters(),
|
56 |
-
'css' => 'width:250px;',
|
57 |
),
|
58 |
array(
|
59 |
'title' => __( 'Position Order (i.e. Priority)', 'woocommerce-jetpack' ),
|
60 |
'id' => 'wcj_cart_custom_info_priority_' . $i,
|
61 |
'default' => 10,
|
62 |
'type' => 'number',
|
63 |
-
'css' => 'width:250px;',
|
64 |
),
|
65 |
array(
|
66 |
'type' => 'sectionend',
|
@@ -82,7 +80,7 @@ $settings = array_merge( $settings, array(
|
|
82 |
'id' => 'wcj_cart_custom_info_item',
|
83 |
'default' => '',
|
84 |
'type' => 'textarea',
|
85 |
-
'css' => 'width:
|
86 |
),
|
87 |
array(
|
88 |
'type' => 'sectionend',
|
2 |
/**
|
3 |
* Booster for WooCommerce - Settings - Cart Custom Info
|
4 |
*
|
5 |
+
* @version 3.3.0
|
6 |
* @since 2.8.0
|
7 |
* @author Algoritmika Ltd.
|
8 |
* @todo (maybe) 'Hide "Note: Shipping and taxes are estimated..." message on Cart page' - `wcj_cart_hide_shipping_and_taxes_estimated_message`
|
25 |
'id' => 'wcj_cart_custom_info_total_number',
|
26 |
'default' => 1,
|
27 |
'type' => 'custom_number',
|
28 |
+
'desc' => apply_filters( 'booster_message', '', 'desc' ),
|
29 |
+
'custom_attributes' => apply_filters( 'booster_message', '', 'readonly' ),
|
30 |
),
|
31 |
array(
|
32 |
'type' => 'sectionend',
|
33 |
'id' => 'wcj_cart_custom_info_options',
|
34 |
),
|
35 |
);
|
36 |
+
for ( $i = 1; $i <= apply_filters( 'booster_option', 1, get_option( 'wcj_cart_custom_info_total_number', 1 ) ); $i++ ) {
|
37 |
$settings = array_merge( $settings, array(
|
38 |
array(
|
39 |
'title' => __( 'Info Block', 'woocommerce-jetpack' ) . ' #' . $i,
|
45 |
'id' => 'wcj_cart_custom_info_content_' . $i,
|
46 |
'default' => '[wcj_cart_items_total_weight before="Total weight: " after=" kg"]',
|
47 |
'type' => 'textarea',
|
48 |
+
'css' => 'width:100%;height:200px;',
|
49 |
),
|
50 |
array(
|
51 |
'title' => __( 'Position', 'woocommerce-jetpack' ),
|
53 |
'default' => 'woocommerce_after_cart_totals',
|
54 |
'type' => 'select',
|
55 |
'options' => wcj_get_cart_filters(),
|
|
|
56 |
),
|
57 |
array(
|
58 |
'title' => __( 'Position Order (i.e. Priority)', 'woocommerce-jetpack' ),
|
59 |
'id' => 'wcj_cart_custom_info_priority_' . $i,
|
60 |
'default' => 10,
|
61 |
'type' => 'number',
|
|
|
62 |
),
|
63 |
array(
|
64 |
'type' => 'sectionend',
|
80 |
'id' => 'wcj_cart_custom_info_item',
|
81 |
'default' => '',
|
82 |
'type' => 'textarea',
|
83 |
+
'css' => 'width:100%;height:100px;',
|
84 |
),
|
85 |
array(
|
86 |
'type' => 'sectionend',
|
includes/settings/wcj-settings-checkout-core-fields.php
CHANGED
@@ -106,12 +106,12 @@ foreach ( $this->woocommerce_core_checkout_fields as $field ) {
|
|
106 |
),
|
107 |
array(
|
108 |
'desc' => __( 'priority (i.e. order)', 'woocommerce-jetpack' ),
|
109 |
-
'desc_tip' => __( 'Leave zero for WooCommerce defaults.', 'woocommerce-jetpack' ) . ' ' . apply_filters( '
|
110 |
'id' => 'wcj_checkout_fields_' . $field . '_' . 'priority',
|
111 |
'default' => 0,
|
112 |
'type' => 'number',
|
113 |
'css' => 'min-width:300px;width:50%;',
|
114 |
-
'custom_attributes' => apply_filters( '
|
115 |
),
|
116 |
) );
|
117 |
}
|
106 |
),
|
107 |
array(
|
108 |
'desc' => __( 'priority (i.e. order)', 'woocommerce-jetpack' ),
|
109 |
+
'desc_tip' => __( 'Leave zero for WooCommerce defaults.', 'woocommerce-jetpack' ) . ' ' . apply_filters( 'booster_message', '', 'desc_no_link' ),
|
110 |
'id' => 'wcj_checkout_fields_' . $field . '_' . 'priority',
|
111 |
'default' => 0,
|
112 |
'type' => 'number',
|
113 |
'css' => 'min-width:300px;width:50%;',
|
114 |
+
'custom_attributes' => apply_filters( 'booster_message', '', 'readonly' ),
|
115 |
),
|
116 |
) );
|
117 |
}
|
includes/settings/wcj-settings-checkout-custom-fields.php
CHANGED
@@ -82,9 +82,9 @@ $settings = array(
|
|
82 |
'id' => 'wcj_checkout_custom_fields_total_number',
|
83 |
'default' => 1,
|
84 |
'type' => 'custom_number',
|
85 |
-
'desc' => apply_filters( '
|
86 |
'custom_attributes' => array_merge(
|
87 |
-
is_array( apply_filters( '
|
88 |
array( 'step' => '1', 'min' => '1' )
|
89 |
),
|
90 |
'css' => 'width:100px;',
|
@@ -94,7 +94,7 @@ $settings = array(
|
|
94 |
'id' => 'wcj_checkout_custom_fields_options',
|
95 |
),
|
96 |
);
|
97 |
-
for ( $i = 1; $i <= apply_filters( '
|
98 |
$settings = array_merge( $settings,
|
99 |
array(
|
100 |
array(
|
82 |
'id' => 'wcj_checkout_custom_fields_total_number',
|
83 |
'default' => 1,
|
84 |
'type' => 'custom_number',
|
85 |
+
'desc' => apply_filters( 'booster_message', '', 'desc' ),
|
86 |
'custom_attributes' => array_merge(
|
87 |
+
is_array( apply_filters( 'booster_message', '', 'readonly' ) ) ? apply_filters( 'booster_message', '', 'readonly' ) : array(),
|
88 |
array( 'step' => '1', 'min' => '1' )
|
89 |
),
|
90 |
'css' => 'width:100px;',
|
94 |
'id' => 'wcj_checkout_custom_fields_options',
|
95 |
),
|
96 |
);
|
97 |
+
for ( $i = 1; $i <= apply_filters( 'booster_option', 1, get_option( 'wcj_checkout_custom_fields_total_number', 1 ) ); $i++ ) {
|
98 |
$settings = array_merge( $settings,
|
99 |
array(
|
100 |
array(
|
includes/settings/wcj-settings-checkout-custom-info.php
CHANGED
@@ -2,7 +2,7 @@
|
|
2 |
/**
|
3 |
* Booster for WooCommerce - Settings - Checkout Custom Info
|
4 |
*
|
5 |
-
* @version
|
6 |
* @since 2.8.0
|
7 |
* @author Algoritmika Ltd.
|
8 |
*/
|
@@ -20,15 +20,15 @@ $settings = array(
|
|
20 |
'id' => 'wcj_checkout_custom_info_total_number',
|
21 |
'default' => 1,
|
22 |
'type' => 'custom_number',
|
23 |
-
'desc' => apply_filters( '
|
24 |
-
'custom_attributes' => apply_filters( '
|
25 |
),
|
26 |
array(
|
27 |
'type' => 'sectionend',
|
28 |
'id' => 'wcj_checkout_custom_info_blocks_options',
|
29 |
),
|
30 |
);
|
31 |
-
$total_number = apply_filters( '
|
32 |
for ( $i = 1; $i <= $total_number; $i++ ) {
|
33 |
$settings = array_merge( $settings, array(
|
34 |
array(
|
@@ -41,7 +41,7 @@ for ( $i = 1; $i <= $total_number; $i++ ) {
|
|
41 |
'id' => 'wcj_checkout_custom_info_content_' . $i,
|
42 |
'default' => '[wcj_cart_items_total_weight before="Total weight: " after=" kg"]',
|
43 |
'type' => 'textarea',
|
44 |
-
'css' => 'width:
|
45 |
),
|
46 |
array(
|
47 |
'title' => __( 'Position', 'woocommerce-jetpack' ),
|
@@ -79,14 +79,12 @@ for ( $i = 1; $i <= $total_number; $i++ ) {
|
|
79 |
*/
|
80 |
'woocommerce_thankyou' => __( 'Order Received (Thank You) page', 'woocommerce-jetpack' ),
|
81 |
),
|
82 |
-
'css' => 'width:250px;',
|
83 |
),
|
84 |
array(
|
85 |
'title' => __( 'Position Order (i.e. Priority)', 'woocommerce-jetpack' ),
|
86 |
'id' => 'wcj_checkout_custom_info_priority_' . $i,
|
87 |
'default' => 10,
|
88 |
'type' => 'number',
|
89 |
-
'css' => 'width:250px;',
|
90 |
),
|
91 |
array(
|
92 |
'type' => 'sectionend',
|
2 |
/**
|
3 |
* Booster for WooCommerce - Settings - Checkout Custom Info
|
4 |
*
|
5 |
+
* @version 3.3.0
|
6 |
* @since 2.8.0
|
7 |
* @author Algoritmika Ltd.
|
8 |
*/
|
20 |
'id' => 'wcj_checkout_custom_info_total_number',
|
21 |
'default' => 1,
|
22 |
'type' => 'custom_number',
|
23 |
+
'desc' => apply_filters( 'booster_message', '', 'desc' ),
|
24 |
+
'custom_attributes' => apply_filters( 'booster_message', '', 'readonly' ),
|
25 |
),
|
26 |
array(
|
27 |
'type' => 'sectionend',
|
28 |
'id' => 'wcj_checkout_custom_info_blocks_options',
|
29 |
),
|
30 |
);
|
31 |
+
$total_number = apply_filters( 'booster_option', 1, get_option( 'wcj_checkout_custom_info_total_number', 1 ) );
|
32 |
for ( $i = 1; $i <= $total_number; $i++ ) {
|
33 |
$settings = array_merge( $settings, array(
|
34 |
array(
|
41 |
'id' => 'wcj_checkout_custom_info_content_' . $i,
|
42 |
'default' => '[wcj_cart_items_total_weight before="Total weight: " after=" kg"]',
|
43 |
'type' => 'textarea',
|
44 |
+
'css' => 'width:100%;height:200px;',
|
45 |
),
|
46 |
array(
|
47 |
'title' => __( 'Position', 'woocommerce-jetpack' ),
|
79 |
*/
|
80 |
'woocommerce_thankyou' => __( 'Order Received (Thank You) page', 'woocommerce-jetpack' ),
|
81 |
),
|
|
|
82 |
),
|
83 |
array(
|
84 |
'title' => __( 'Position Order (i.e. Priority)', 'woocommerce-jetpack' ),
|
85 |
'id' => 'wcj_checkout_custom_info_priority_' . $i,
|
86 |
'default' => 10,
|
87 |
'type' => 'number',
|
|
|
88 |
),
|
89 |
array(
|
90 |
'type' => 'sectionend',
|
includes/settings/wcj-settings-checkout-customization.php
CHANGED
@@ -2,7 +2,7 @@
|
|
2 |
/**
|
3 |
* Booster for WooCommerce - Settings - Checkout Customization
|
4 |
*
|
5 |
-
* @version 3.
|
6 |
* @since 2.8.0
|
7 |
* @author Algoritmika Ltd.
|
8 |
*/
|
@@ -71,7 +71,7 @@ return array(
|
|
71 |
'id' => 'wcj_checkout_customization_disable_fields_for_logged_message',
|
72 |
'default' => '<em>' . __( 'This field can not be changed', 'woocommerce-jetpack' ) . '</em>',
|
73 |
'type' => 'custom_textarea',
|
74 |
-
'css' => 'width:
|
75 |
),
|
76 |
array(
|
77 |
'title' => __( 'Customize "order received" message', 'woocommerce-jetpack' ),
|
@@ -85,7 +85,20 @@ return array(
|
|
85 |
'id' => 'wcj_checkout_customization_order_received_message',
|
86 |
'default' => __( 'Thank you. Your order has been received.', 'woocommerce' ),
|
87 |
'type' => 'custom_textarea',
|
88 |
-
'css' => 'width:
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
89 |
),
|
90 |
array(
|
91 |
'type' => 'sectionend',
|
2 |
/**
|
3 |
* Booster for WooCommerce - Settings - Checkout Customization
|
4 |
*
|
5 |
+
* @version 3.3.0
|
6 |
* @since 2.8.0
|
7 |
* @author Algoritmika Ltd.
|
8 |
*/
|
71 |
'id' => 'wcj_checkout_customization_disable_fields_for_logged_message',
|
72 |
'default' => '<em>' . __( 'This field can not be changed', 'woocommerce-jetpack' ) . '</em>',
|
73 |
'type' => 'custom_textarea',
|
74 |
+
'css' => 'width:100%;',
|
75 |
),
|
76 |
array(
|
77 |
'title' => __( 'Customize "order received" message', 'woocommerce-jetpack' ),
|
85 |
'id' => 'wcj_checkout_customization_order_received_message',
|
86 |
'default' => __( 'Thank you. Your order has been received.', 'woocommerce' ),
|
87 |
'type' => 'custom_textarea',
|
88 |
+
'css' => 'width:100%;',
|
89 |
+
),
|
90 |
+
array(
|
91 |
+
'title' => __( 'Customize "Returning customer?" message', 'woocommerce-jetpack' ),
|
92 |
+
'desc' => __( 'Enable', 'woocommerce-jetpack' ),
|
93 |
+
'id' => 'wcj_checkout_customization_checkout_login_message_enabled',
|
94 |
+
'default' => 'no',
|
95 |
+
'type' => 'checkbox',
|
96 |
+
),
|
97 |
+
array(
|
98 |
+
'id' => 'wcj_checkout_customization_checkout_login_message',
|
99 |
+
'default' => __( 'Returning customer?', 'woocommerce' ),
|
100 |
+
'type' => 'custom_textarea',
|
101 |
+
'css' => 'width:100%;',
|
102 |
),
|
103 |
array(
|
104 |
'type' => 'sectionend',
|
includes/settings/wcj-settings-checkout-files-upload.php
CHANGED
@@ -23,14 +23,14 @@ $settings = array(
|
|
23 |
'id' => 'wcj_checkout_files_upload_total_number',
|
24 |
'default' => 1,
|
25 |
'type' => 'custom_number',
|
26 |
-
'desc' => apply_filters( '
|
27 |
'custom_attributes' => array_merge(
|
28 |
-
is_array( apply_filters( '
|
29 |
array( 'step' => '1', 'min' => '1', )
|
30 |
),
|
31 |
),
|
32 |
);
|
33 |
-
$total_number = apply_filters( '
|
34 |
for ( $i = 1; $i <= $total_number; $i++ ) {
|
35 |
$settings = array_merge( $settings, array(
|
36 |
array(
|
23 |
'id' => 'wcj_checkout_files_upload_total_number',
|
24 |
'default' => 1,
|
25 |
'type' => 'custom_number',
|
26 |
+
'desc' => apply_filters( 'booster_message', '', 'desc' ),
|
27 |
'custom_attributes' => array_merge(
|
28 |
+
is_array( apply_filters( 'booster_message', '', 'readonly' ) ) ? apply_filters( 'booster_message', '', 'readonly' ) : array(),
|
29 |
array( 'step' => '1', 'min' => '1', )
|
30 |
),
|
31 |
),
|
32 |
);
|
33 |
+
$total_number = apply_filters( 'booster_option', 1, get_option( 'wcj_checkout_files_upload_total_number', 1 ) );
|
34 |
for ( $i = 1; $i <= $total_number; $i++ ) {
|
35 |
$settings = array_merge( $settings, array(
|
36 |
array(
|
includes/settings/wcj-settings-coupon-code-generator.php
CHANGED
@@ -41,8 +41,8 @@ return array(
|
|
41 |
'type' => 'select',
|
42 |
'options' => $algorithms,
|
43 |
'desc_tip' => sprintf( __( 'Algorithms: %s.', 'woocommerce-jetpack' ), implode( '; ', $algorithms ) ),
|
44 |
-
'desc' => apply_filters( '
|
45 |
-
'custom_attributes' => apply_filters( '
|
46 |
),
|
47 |
array(
|
48 |
'title' => __( 'Length', 'woocommerce-jetpack' ),
|
@@ -50,8 +50,8 @@ return array(
|
|
50 |
'id' => 'wcj_coupons_code_generator_length',
|
51 |
'default' => 0,
|
52 |
'type' => 'number',
|
53 |
-
'desc' => apply_filters( '
|
54 |
-
'custom_attributes' => apply_filters( '
|
55 |
),
|
56 |
array(
|
57 |
'type' => 'sectionend',
|
41 |
'type' => 'select',
|
42 |
'options' => $algorithms,
|
43 |
'desc_tip' => sprintf( __( 'Algorithms: %s.', 'woocommerce-jetpack' ), implode( '; ', $algorithms ) ),
|
44 |
+
'desc' => apply_filters( 'booster_message', '', 'desc' ),
|
45 |
+
'custom_attributes' => apply_filters( 'booster_message', '', 'disabled' ),
|
46 |
),
|
47 |
array(
|
48 |
'title' => __( 'Length', 'woocommerce-jetpack' ),
|
50 |
'id' => 'wcj_coupons_code_generator_length',
|
51 |
'default' => 0,
|
52 |
'type' => 'number',
|
53 |
+
'desc' => apply_filters( 'booster_message', '', 'desc' ),
|
54 |
+
'custom_attributes' => apply_filters( 'booster_message', '', 'readonly' ),
|
55 |
),
|
56 |
array(
|
57 |
'type' => 'sectionend',
|
includes/settings/wcj-settings-currency-exchange-rates.php
CHANGED
@@ -126,11 +126,11 @@ $settings = array_merge( $settings, array(
|
|
126 |
'id' => 'wcj_currency_exchange_custom_currencies_total_number',
|
127 |
'default' => 1,
|
128 |
'type' => 'custom_number',
|
129 |
-
'desc' => apply_filters( '
|
130 |
-
'custom_attributes' => apply_filters( '
|
131 |
),
|
132 |
) );
|
133 |
-
$total_number = apply_filters( '
|
134 |
for ( $i = 1; $i <= $total_number; $i++ ) {
|
135 |
$settings = array_merge( $settings, array(
|
136 |
array(
|
126 |
'id' => 'wcj_currency_exchange_custom_currencies_total_number',
|
127 |
'default' => 1,
|
128 |
'type' => 'custom_number',
|
129 |
+
'desc' => apply_filters( 'booster_message', '', 'desc' ),
|
130 |
+
'custom_attributes' => apply_filters( 'booster_message', '', 'readonly' ),
|
131 |
),
|
132 |
) );
|
133 |
+
$total_number = apply_filters( 'booster_option', 1, get_option( 'wcj_currency_exchange_custom_currencies_total_number', 1 ) );
|
134 |
for ( $i = 1; $i <= $total_number; $i++ ) {
|
135 |
$settings = array_merge( $settings, array(
|
136 |
array(
|
includes/settings/wcj-settings-currency-per-product.php
CHANGED
@@ -2,7 +2,7 @@
|
|
2 |
/**
|
3 |
* Booster for WooCommerce - Settings - Currency per Product
|
4 |
*
|
5 |
-
* @version 3.
|
6 |
* @since 2.8.0
|
7 |
* @author Algoritmika Ltd.
|
8 |
*/
|
@@ -107,11 +107,11 @@ $settings = array(
|
|
107 |
'manual' => __( 'Enter Rates Manually', 'woocommerce-jetpack' ),
|
108 |
'auto' => __( 'Automatically via Currency Exchange Rates module', 'woocommerce-jetpack' ),
|
109 |
),
|
110 |
-
'desc' => ( '' == apply_filters( '
|
111 |
__( 'Visit', 'woocommerce-jetpack' ) . ' <a href="' . admin_url( 'admin.php?page=wc-settings&tab=jetpack&wcj-cat=prices_and_currencies§ion=currency_exchange_rates' ) . '">' . __( 'Currency Exchange Rates module', 'woocommerce-jetpack' ) . '</a>'
|
112 |
:
|
113 |
-
apply_filters( '
|
114 |
-
'custom_attributes' => apply_filters( '
|
115 |
),
|
116 |
array(
|
117 |
'type' => 'sectionend',
|
@@ -128,9 +128,9 @@ $settings = array(
|
|
128 |
'id' => 'wcj_currency_per_product_total_number',
|
129 |
'default' => 1,
|
130 |
'type' => 'custom_number',
|
131 |
-
'desc' => apply_filters( '
|
132 |
'custom_attributes' => array_merge(
|
133 |
-
is_array( apply_filters( '
|
134 |
array( 'step' => '1', 'min' => '1', )
|
135 |
),
|
136 |
),
|
@@ -147,7 +147,7 @@ if ( 'yes' === get_option( 'wcj_currency_per_product_by_product_cats_enabled', '
|
|
147 |
if ( 'yes' === get_option( 'wcj_currency_per_product_by_product_tags_enabled', 'no' ) ) {
|
148 |
$product_tags_as_options = wcj_get_terms( 'product_tag' );
|
149 |
}
|
150 |
-
$total_number = apply_filters( '
|
151 |
for ( $i = 1; $i <= $total_number; $i++ ) {
|
152 |
$currency_to = get_option( 'wcj_currency_per_product_currency_' . $i, $currency_from );
|
153 |
$custom_attributes = array(
|
@@ -230,5 +230,22 @@ $settings = array_merge( $settings, array(
|
|
230 |
'type' => 'sectionend',
|
231 |
'id' => 'wcj_currency_per_product_currencies_options',
|
232 |
),
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
233 |
) );
|
234 |
return $settings;
|
2 |
/**
|
3 |
* Booster for WooCommerce - Settings - Currency per Product
|
4 |
*
|
5 |
+
* @version 3.3.0
|
6 |
* @since 2.8.0
|
7 |
* @author Algoritmika Ltd.
|
8 |
*/
|
107 |
'manual' => __( 'Enter Rates Manually', 'woocommerce-jetpack' ),
|
108 |
'auto' => __( 'Automatically via Currency Exchange Rates module', 'woocommerce-jetpack' ),
|
109 |
),
|
110 |
+
'desc' => ( '' == apply_filters( 'booster_message', '', 'desc' ) ) ?
|
111 |
__( 'Visit', 'woocommerce-jetpack' ) . ' <a href="' . admin_url( 'admin.php?page=wc-settings&tab=jetpack&wcj-cat=prices_and_currencies§ion=currency_exchange_rates' ) . '">' . __( 'Currency Exchange Rates module', 'woocommerce-jetpack' ) . '</a>'
|
112 |
:
|
113 |
+
apply_filters( 'booster_message', '', 'desc' ),
|
114 |
+
'custom_attributes' => apply_filters( 'booster_message', '', 'disabled' ),
|
115 |
),
|
116 |
array(
|
117 |
'type' => 'sectionend',
|
128 |
'id' => 'wcj_currency_per_product_total_number',
|
129 |
'default' => 1,
|
130 |
'type' => 'custom_number',
|
131 |
+
'desc' => apply_filters( 'booster_message', '', 'desc' ),
|
132 |
'custom_attributes' => array_merge(
|
133 |
+
is_array( apply_filters( 'booster_message', '', 'readonly' ) ) ? apply_filters( 'booster_message', '', 'readonly' ) : array(),
|
134 |
array( 'step' => '1', 'min' => '1', )
|
135 |
),
|
136 |
),
|
147 |
if ( 'yes' === get_option( 'wcj_currency_per_product_by_product_tags_enabled', 'no' ) ) {
|
148 |
$product_tags_as_options = wcj_get_terms( 'product_tag' );
|
149 |
}
|
150 |
+
$total_number = apply_filters( 'booster_option', 1, get_option( 'wcj_currency_per_product_total_number', 1 ) );
|
151 |
for ( $i = 1; $i <= $total_number; $i++ ) {
|
152 |
$currency_to = get_option( 'wcj_currency_per_product_currency_' . $i, $currency_from );
|
153 |
$custom_attributes = array(
|
230 |
'type' => 'sectionend',
|
231 |
'id' => 'wcj_currency_per_product_currencies_options',
|
232 |
),
|
233 |
+
array(
|
234 |
+
'title' => __( 'Advanced Options', 'woocommerce-jetpack' ),
|
235 |
+
'type' => 'title',
|
236 |
+
'id' => 'wcj_currency_per_product_advanced_options',
|
237 |
+
),
|
238 |
+
array(
|
239 |
+
'title' => __( 'Advanced: Save Calculated Products Prices', 'woocommerce-jetpack' ),
|
240 |
+
'desc_tip' => __( 'This may help if you are experiencing compatibility issues with other plugins.', 'woocommerce-jetpack' ),
|
241 |
+
'desc' => __( 'Enable', 'woocommerce-jetpack' ),
|
242 |
+
'id' => 'wcj_currency_per_product_save_prices',
|
243 |
+
'default' => 'no',
|
244 |
+
'type' => 'checkbox',
|
245 |
+
),
|
246 |
+
array(
|
247 |
+
'type' => 'sectionend',
|
248 |
+
'id' => 'wcj_currency_per_product_advanced_options',
|
249 |
+
),
|
250 |
) );
|
251 |
return $settings;
|
includes/settings/wcj-settings-currency.php
CHANGED
@@ -37,11 +37,11 @@ foreach ( $currency_names as $currency_code => $currency_name ) {
|
|
37 |
array(
|
38 |
'title' => $currency_name . ' [' . $currency_code . ']',
|
39 |
'desc' => $country_flag,
|
40 |
-
'desc_tip' => apply_filters( '
|
41 |
'id' => 'wcj_currency_' . $currency_code,
|
42 |
'default' => $currency_symbols[ $currency_code ],
|
43 |
'type' => 'text',
|
44 |
-
'custom_attributes' => apply_filters( '
|
45 |
),
|
46 |
) );
|
47 |
}
|
@@ -60,11 +60,11 @@ $settings = array_merge( $settings, array(
|
|
60 |
'id' => 'wcj_currency_custom_currency_total_number',
|
61 |
'default' => 1,
|
62 |
'type' => 'custom_number',
|
63 |
-
'desc' => apply_filters( '
|
64 |
-
'custom_attributes' => apply_filters( '
|
65 |
),
|
66 |
) );
|
67 |
-
$custom_currency_total_number = apply_filters( '
|
68 |
for ( $i = 1; $i <= $custom_currency_total_number; $i++ ) {
|
69 |
$settings = array_merge( $settings, array(
|
70 |
array(
|
37 |
array(
|
38 |
'title' => $currency_name . ' [' . $currency_code . ']',
|
39 |
'desc' => $country_flag,
|
40 |
+
'desc_tip' => apply_filters( 'booster_message', '', 'desc_no_link' ),
|
41 |
'id' => 'wcj_currency_' . $currency_code,
|
42 |
'default' => $currency_symbols[ $currency_code ],
|
43 |
'type' => 'text',
|
44 |
+
'custom_attributes' => apply_filters( 'booster_message', '', 'readonly' ),
|
45 |
),
|
46 |
) );
|
47 |
}
|
60 |
'id' => 'wcj_currency_custom_currency_total_number',
|
61 |
'default' => 1,
|
62 |
'type' => 'custom_number',
|
63 |
+
'desc' => apply_filters( 'booster_message', '', 'desc' ),
|
64 |
+
'custom_attributes' => apply_filters( 'booster_message', '', 'readonly' ),
|
65 |
),
|
66 |
) );
|
67 |
+
$custom_currency_total_number = apply_filters( 'booster_option', 1, get_option( 'wcj_currency_custom_currency_total_number', 1 ) );
|
68 |
for ( $i = 1; $i <= $custom_currency_total_number; $i++ ) {
|
69 |
$settings = array_merge( $settings, array(
|
70 |
array(
|
includes/settings/wcj-settings-emails-verification.php
CHANGED
@@ -99,8 +99,8 @@ return array(
|
|
99 |
'id' => 'wcj_emails_verification_email_subject',
|
100 |
'default' => __( 'Please activate your account', 'woocommerce-jetpack' ),
|
101 |
'css' => 'width:66%;min-width:300px;',
|
102 |
-
'desc' => apply_filters( '
|
103 |
-
'custom_attributes' => apply_filters( '
|
104 |
),
|
105 |
array(
|
106 |
'title' => __( 'Email Content', 'woocommerce-jetpack' ),
|
@@ -109,8 +109,8 @@ return array(
|
|
109 |
'id' => 'wcj_emails_verification_email_content',
|
110 |
'default' => __( 'Please click the following link to verify your email:<br><br><a href="%verification_url%">%verification_url%</a>', 'woocommerce-jetpack' ),
|
111 |
'css' => 'width:66%;min-width:300px;height:150px;',
|
112 |
-
'desc' => apply_filters( '
|
113 |
-
'custom_attributes' => apply_filters( '
|
114 |
),
|
115 |
array(
|
116 |
'title' => __( 'Email Template', 'woocommerce-jetpack' ),
|
@@ -122,8 +122,8 @@ return array(
|
|
122 |
'plain' => __( 'Plain', 'woocommerce-jetpack' ),
|
123 |
'wc' => __( 'WooCommerce', 'woocommerce-jetpack' ),
|
124 |
),
|
125 |
-
'desc' => apply_filters( '
|
126 |
-
'custom_attributes' => apply_filters( '
|
127 |
),
|
128 |
array(
|
129 |
'desc_tip' => __( 'If WooCommerce template is selected, set email heading here.', 'woocommerce-jetpack' ),
|
@@ -131,8 +131,8 @@ return array(
|
|
131 |
'type' => 'custom_textarea',
|
132 |
'default' => __( 'Activate your account', 'woocommerce-jetpack' ),
|
133 |
'css' => 'width:66%;min-width:300px;',
|
134 |
-
'desc' => apply_filters( '
|
135 |
-
'custom_attributes' => apply_filters( '
|
136 |
),
|
137 |
array(
|
138 |
'type' => 'sectionend',
|
99 |
'id' => 'wcj_emails_verification_email_subject',
|
100 |
'default' => __( 'Please activate your account', 'woocommerce-jetpack' ),
|
101 |
'css' => 'width:66%;min-width:300px;',
|
102 |
+
'desc' => apply_filters( 'booster_message', '', 'desc' ),
|
103 |
+
'custom_attributes' => apply_filters( 'booster_message', '', 'readonly' ),
|
104 |
),
|
105 |
array(
|
106 |
'title' => __( 'Email Content', 'woocommerce-jetpack' ),
|
109 |
'id' => 'wcj_emails_verification_email_content',
|
110 |
'default' => __( 'Please click the following link to verify your email:<br><br><a href="%verification_url%">%verification_url%</a>', 'woocommerce-jetpack' ),
|
111 |
'css' => 'width:66%;min-width:300px;height:150px;',
|
112 |
+
'desc' => apply_filters( 'booster_message', '', 'desc' ),
|
113 |
+
'custom_attributes' => apply_filters( 'booster_message', '', 'readonly' ),
|
114 |
),
|
115 |
array(
|
116 |
'title' => __( 'Email Template', 'woocommerce-jetpack' ),
|
122 |
'plain' => __( 'Plain', 'woocommerce-jetpack' ),
|
123 |
'wc' => __( 'WooCommerce', 'woocommerce-jetpack' ),
|
124 |
),
|
125 |
+
'desc' => apply_filters( 'booster_message', '', 'desc' ),
|
126 |
+
'custom_attributes' => apply_filters( 'booster_message', '', 'disabled' ),
|
127 |
),
|
128 |
array(
|
129 |
'desc_tip' => __( 'If WooCommerce template is selected, set email heading here.', 'woocommerce-jetpack' ),
|
131 |
'type' => 'custom_textarea',
|
132 |
'default' => __( 'Activate your account', 'woocommerce-jetpack' ),
|
133 |
'css' => 'width:66%;min-width:300px;',
|
134 |
+
'desc' => apply_filters( 'booster_message', '', 'desc' ),
|
135 |
+
'custom_attributes' => apply_filters( 'booster_message', '', 'readonly' ),
|
136 |
),
|
137 |
array(
|
138 |
'type' => 'sectionend',
|
includes/settings/wcj-settings-emails.php
CHANGED
@@ -24,11 +24,11 @@ $settings = array(
|
|
24 |
'id' => 'wcj_emails_custom_emails_total_number',
|
25 |
'default' => 1,
|
26 |
'type' => 'custom_number',
|
27 |
-
'desc' => apply_filters( '
|
28 |
-
'custom_attributes' => apply_filters( '
|
29 |
),
|
30 |
);
|
31 |
-
$total_number = apply_filters( '
|
32 |
for ( $i = 1; $i <= $total_number; $i++ ) {
|
33 |
$settings = array_merge( $settings, array(
|
34 |
array(
|
24 |
'id' => 'wcj_emails_custom_emails_total_number',
|
25 |
'default' => 1,
|
26 |
'type' => 'custom_number',
|
27 |
+
'desc' => apply_filters( 'booster_message', '', 'desc' ),
|
28 |
+
'custom_attributes' => apply_filters( 'booster_message', '', 'readonly' ),
|
29 |
),
|
30 |
);
|
31 |
+
$total_number = apply_filters( 'booster_option', 1, get_option( 'wcj_emails_custom_emails_total_number', 1 ) );
|
32 |
for ( $i = 1; $i <= $total_number; $i++ ) {
|
33 |
$settings = array_merge( $settings, array(
|
34 |
array(
|
includes/settings/wcj-settings-empty-cart.php
CHANGED
@@ -21,8 +21,8 @@ return array(
|
|
21 |
'id' => 'wcj_empty_cart_text',
|
22 |
'default' => 'Empty Cart',
|
23 |
'type' => 'text',
|
24 |
-
'desc' => apply_filters( '
|
25 |
-
'custom_attributes' => apply_filters( '
|
26 |
),
|
27 |
array(
|
28 |
'title' => __( 'Wrapping DIV style', 'woocommerce-jetpack' ),
|
@@ -43,8 +43,8 @@ return array(
|
|
43 |
'woocommerce_proceed_to_checkout' => __( 'After Proceed to Checkout button', 'woocommerce-jetpack' ),
|
44 |
'woocommerce_after_cart_totals' => __( 'After Cart Totals', 'woocommerce-jetpack' ),
|
45 |
),
|
46 |
-
'desc' => apply_filters( '
|
47 |
-
'custom_attributes' => apply_filters( '
|
48 |
),
|
49 |
array(
|
50 |
'title' => __( 'Button position on the Checkout page', 'woocommerce-jetpack' ),
|
21 |
'id' => 'wcj_empty_cart_text',
|
22 |
'default' => 'Empty Cart',
|
23 |
'type' => 'text',
|
24 |
+
'desc' => apply_filters( 'booster_message', '', 'desc' ),
|
25 |
+
'custom_attributes' => apply_filters( 'booster_message', '', 'readonly' ),
|
26 |
),
|
27 |
array(
|
28 |
'title' => __( 'Wrapping DIV style', 'woocommerce-jetpack' ),
|
43 |
'woocommerce_proceed_to_checkout' => __( 'After Proceed to Checkout button', 'woocommerce-jetpack' ),
|
44 |
'woocommerce_after_cart_totals' => __( 'After Cart Totals', 'woocommerce-jetpack' ),
|
45 |
),
|
46 |
+
'desc' => apply_filters( 'booster_message', '', 'desc' ),
|
47 |
+
'custom_attributes' => apply_filters( 'booster_message', '', 'disabled' ),
|
48 |
),
|
49 |
array(
|
50 |
'title' => __( 'Button position on the Checkout page', 'woocommerce-jetpack' ),
|
includes/settings/wcj-settings-eu-vat-number.php
CHANGED
@@ -107,12 +107,12 @@ $settings = array(
|
|
107 |
'title' => __( 'Preserve VAT in Base Country', 'woocommerce-jetpack' ),
|
108 |
'desc_tip' => sprintf( __( 'This will validate the VAT, but won\'t exempt VAT for base country VAT numbers. Base (i.e. store) country is set in %s.', 'woocommerce-jetpack' ),
|
109 |
'<a href="' . admin_url( 'admin.php?page=wc-settings&tab=general' ) . '">' . __( 'WooCommerce > Settings > General', 'woocommerce-jetpack' ) . '</a>' ) . '<br>' .
|
110 |
-
apply_filters( '
|
111 |
'desc' => __( 'Yes', 'woocommerce-jetpack' ),
|
112 |
'id' => 'wcj_eu_vat_number_preserve_in_base_country',
|
113 |
'default' => 'no',
|
114 |
'type' => 'checkbox',
|
115 |
-
'custom_attributes' => apply_filters( '
|
116 |
),
|
117 |
/*
|
118 |
array(
|
@@ -126,12 +126,12 @@ $settings = array(
|
|
126 |
array(
|
127 |
'title' => __( 'Check for IP Location Country', 'woocommerce-jetpack' ),
|
128 |
'desc_tip' => __( 'This will check if customer\'s country (located by customer\'s IP) matches the country in entered VAT number.', 'woocommerce-jetpack' ) . '<br>' .
|
129 |
-
apply_filters( '
|
130 |
'desc' => __( 'Yes', 'woocommerce-jetpack' ),
|
131 |
'id' => 'wcj_eu_vat_number_check_ip_location_country',
|
132 |
'default' => 'no',
|
133 |
'type' => 'checkbox',
|
134 |
-
'custom_attributes' => apply_filters( '
|
135 |
),
|
136 |
/*
|
137 |
array(
|
107 |
'title' => __( 'Preserve VAT in Base Country', 'woocommerce-jetpack' ),
|
108 |
'desc_tip' => sprintf( __( 'This will validate the VAT, but won\'t exempt VAT for base country VAT numbers. Base (i.e. store) country is set in %s.', 'woocommerce-jetpack' ),
|
109 |
'<a href="' . admin_url( 'admin.php?page=wc-settings&tab=general' ) . '">' . __( 'WooCommerce > Settings > General', 'woocommerce-jetpack' ) . '</a>' ) . '<br>' .
|
110 |
+
apply_filters( 'booster_message', '', 'desc' ),
|
111 |
'desc' => __( 'Yes', 'woocommerce-jetpack' ),
|
112 |
'id' => 'wcj_eu_vat_number_preserve_in_base_country',
|
113 |
'default' => 'no',
|
114 |
'type' => 'checkbox',
|
115 |
+
'custom_attributes' => apply_filters( 'booster_message', '', 'disabled' ),
|
116 |
),
|
117 |
/*
|
118 |
array(
|
126 |
array(
|
127 |
'title' => __( 'Check for IP Location Country', 'woocommerce-jetpack' ),
|
128 |
'desc_tip' => __( 'This will check if customer\'s country (located by customer\'s IP) matches the country in entered VAT number.', 'woocommerce-jetpack' ) . '<br>' .
|
129 |
+
apply_filters( 'booster_message', '', 'desc' ),
|
130 |
'desc' => __( 'Yes', 'woocommerce-jetpack' ),
|
131 |
'id' => 'wcj_eu_vat_number_check_ip_location_country',
|
132 |
'default' => 'no',
|
133 |
'type' => 'checkbox',
|
134 |
+
'custom_attributes' => apply_filters( 'booster_message', '', 'disabled' ),
|
135 |
),
|
136 |
/*
|
137 |
array(
|
includes/settings/wcj-settings-export.php
CHANGED
@@ -53,15 +53,15 @@ $settings = array(
|
|
53 |
'id' => 'wcj_export_orders_fields_additional_total_number',
|
54 |
'default' => 1,
|
55 |
'type' => 'custom_number',
|
56 |
-
'desc' => apply_filters( '
|
57 |
'custom_attributes' => array_merge(
|
58 |
-
is_array( apply_filters( '
|
59 |
-
apply_filters( '
|
60 |
array( 'step' => '1', 'min' => '0', )
|
61 |
),
|
62 |
),
|
63 |
);
|
64 |
-
$total_number = apply_filters( '
|
65 |
for ( $i = 1; $i <= $total_number; $i++ ) {
|
66 |
$settings = array_merge( $settings, array(
|
67 |
array(
|
@@ -121,15 +121,15 @@ $settings = array_merge( $settings, array(
|
|
121 |
'id' => 'wcj_export_orders_items_fields_additional_total_number',
|
122 |
'default' => 1,
|
123 |
'type' => 'custom_number',
|
124 |
-
'desc' => apply_filters( '
|
125 |
'custom_attributes' => array_merge(
|
126 |
-
is_array( apply_filters( '
|
127 |
-
apply_filters( '
|
128 |
array( 'step' => '1', 'min' => '0', )
|
129 |
),
|
130 |
),
|
131 |
) );
|
132 |
-
$total_number = apply_filters( '
|
133 |
for ( $i = 1; $i <= $total_number; $i++ ) {
|
134 |
$settings = array_merge( $settings, array(
|
135 |
array(
|
@@ -203,15 +203,15 @@ $settings = array_merge( $settings, array(
|
|
203 |
'id' => 'wcj_export_products_fields_additional_total_number',
|
204 |
'default' => 1,
|
205 |
'type' => 'custom_number',
|
206 |
-
'desc' => apply_filters( '
|
207 |
'custom_attributes' => array_merge(
|
208 |
-
is_array( apply_filters( '
|
209 |
-
apply_filters( '
|
210 |
array( 'step' => '1', 'min' => '0', )
|
211 |
),
|
212 |
),
|
213 |
) );
|
214 |
-
$total_number = apply_filters( '
|
215 |
for ( $i = 1; $i <= $total_number; $i++ ) {
|
216 |
$settings = array_merge( $settings, array(
|
217 |
array(
|
53 |
'id' => 'wcj_export_orders_fields_additional_total_number',
|
54 |
'default' => 1,
|
55 |
'type' => 'custom_number',
|
56 |
+
'desc' => apply_filters( 'booster_message', '', 'desc' ),
|
57 |
'custom_attributes' => array_merge(
|
58 |
+
is_array( apply_filters( 'booster_message', '', 'readonly' ) ) ?
|
59 |
+
apply_filters( 'booster_message', '', 'readonly' ) : array(),
|
60 |
array( 'step' => '1', 'min' => '0', )
|
61 |
),
|
62 |
),
|
63 |
);
|
64 |
+
$total_number = apply_filters( 'booster_option', 1, get_option( 'wcj_export_orders_fields_additional_total_number', 1 ) );
|
65 |
for ( $i = 1; $i <= $total_number; $i++ ) {
|
66 |
$settings = array_merge( $settings, array(
|
67 |
array(
|
121 |
'id' => 'wcj_export_orders_items_fields_additional_total_number',
|
122 |
'default' => 1,
|
123 |
'type' => 'custom_number',
|
124 |
+
'desc' => apply_filters( 'booster_message', '', 'desc' ),
|
125 |
'custom_attributes' => array_merge(
|
126 |
+
is_array( apply_filters( 'booster_message', '', 'readonly' ) ) ?
|
127 |
+
apply_filters( 'booster_message', '', 'readonly' ) : array(),
|
128 |
array( 'step' => '1', 'min' => '0', )
|
129 |
),
|
130 |
),
|
131 |
) );
|
132 |
+
$total_number = apply_filters( 'booster_option', 1, get_option( 'wcj_export_orders_items_fields_additional_total_number', 1 ) );
|
133 |
for ( $i = 1; $i <= $total_number; $i++ ) {
|
134 |
$settings = array_merge( $settings, array(
|
135 |
array(
|
203 |
'id' => 'wcj_export_products_fields_additional_total_number',
|
204 |
'default' => 1,
|
205 |
'type' => 'custom_number',
|
206 |
+
'desc' => apply_filters( 'booster_message', '', 'desc' ),
|
207 |
'custom_attributes' => array_merge(
|
208 |
+
is_array( apply_filters( 'booster_message', '', 'readonly' ) ) ?
|
209 |
+
apply_filters( 'booster_message', '', 'readonly' ) : array(),
|
210 |
array( 'step' => '1', 'min' => '0', )
|
211 |
),
|
212 |
),
|
213 |
) );
|
214 |
+
$total_number = apply_filters( 'booster_option', 1, get_option( 'wcj_export_products_fields_additional_total_number', 1 ) );
|
215 |
for ( $i = 1; $i <= $total_number; $i++ ) {
|
216 |
$settings = array_merge( $settings, array(
|
217 |
array(
|
includes/settings/wcj-settings-free-price.php
CHANGED
@@ -45,8 +45,8 @@ foreach ( $product_types as $product_type => $product_type_desc ) {
|
|
45 |
'default' => $default_value,
|
46 |
'type' => 'textarea',
|
47 |
'css' => 'width:30%;min-width:300px;min-height:50px;',
|
48 |
-
'desc' => ( 'variable' === $product_type ) ? apply_filters( '
|
49 |
-
'custom_attributes' => ( 'variable' === $product_type ) ? apply_filters( '
|
50 |
),
|
51 |
) );
|
52 |
}
|
45 |
'default' => $default_value,
|
46 |
'type' => 'textarea',
|
47 |
'css' => 'width:30%;min-width:300px;min-height:50px;',
|
48 |
+
'desc' => ( 'variable' === $product_type ) ? apply_filters( 'booster_message', '', 'desc' ) : '',
|
49 |
+
'custom_attributes' => ( 'variable' === $product_type ) ? apply_filters( 'booster_message', '', 'readonly' ) : '',
|
50 |
),
|
51 |
) );
|
52 |
}
|
includes/settings/wcj-settings-general.php
CHANGED
@@ -203,8 +203,8 @@ $settings = array(
|
|
203 |
'id' => 'wcj_general_user_role_changer_enabled',
|
204 |
'default' => 'no',
|
205 |
'type' => 'checkbox',
|
206 |
-
'desc_tip' => apply_filters( '
|
207 |
-
'custom_attributes' => apply_filters( '
|
208 |
),
|
209 |
array(
|
210 |
'title' => __( 'Enabled for', 'woocommerce-jetpack' ),
|
203 |
'id' => 'wcj_general_user_role_changer_enabled',
|
204 |
'default' => 'no',
|
205 |
'type' => 'checkbox',
|
206 |
+
'desc_tip' => apply_filters( 'booster_message', '', 'desc' ),
|
207 |
+
'custom_attributes' => apply_filters( 'booster_message', '', 'disabled' ),
|
208 |
),
|
209 |
array(
|
210 |
'title' => __( 'Enabled for', 'woocommerce-jetpack' ),
|
includes/settings/wcj-settings-global-discount.php
CHANGED
@@ -26,16 +26,16 @@ $settings = array(
|
|
26 |
'default' => 1,
|
27 |
'type' => 'custom_number',
|
28 |
'desc_tip' => __( 'Press Save changes after you change this number.', 'woocommerce-jetpack' ),
|
29 |
-
'desc' => apply_filters( '
|
30 |
-
'custom_attributes' => is_array( apply_filters( '
|
31 |
-
apply_filters( '
|
32 |
),
|
33 |
array(
|
34 |
'type' => 'sectionend',
|
35 |
'id' => 'wcj_global_discount_options',
|
36 |
),
|
37 |
);
|
38 |
-
for ( $i = 1; $i <= apply_filters( '
|
39 |
wcj_maybe_convert_and_update_option_value( array(
|
40 |
array( 'id' => 'wcj_global_discount_sale_products_incl_' . $i, 'default' => '' ),
|
41 |
array( 'id' => 'wcj_global_discount_sale_products_excl_' . $i, 'default' => '' ),
|
26 |
'default' => 1,
|
27 |
'type' => 'custom_number',
|
28 |
'desc_tip' => __( 'Press Save changes after you change this number.', 'woocommerce-jetpack' ),
|
29 |
+
'desc' => apply_filters( 'booster_message', '', 'desc' ),
|
30 |
+
'custom_attributes' => is_array( apply_filters( 'booster_message', '', 'readonly' ) ) ?
|
31 |
+
apply_filters( 'booster_message', '', 'readonly' ) : array( 'step' => '1', 'min' => '1', ),
|
32 |
),
|
33 |
array(
|
34 |
'type' => 'sectionend',
|
35 |
'id' => 'wcj_global_discount_options',
|
36 |
),
|
37 |
);
|
38 |
+
for ( $i = 1; $i <= apply_filters( 'booster_option', 1, get_option( 'wcj_global_discount_groups_total_number', 1 ) ); $i++ ) {
|
39 |
wcj_maybe_convert_and_update_option_value( array(
|
40 |
array( 'id' => 'wcj_global_discount_sale_products_incl_' . $i, 'default' => '' ),
|
41 |
array( 'id' => 'wcj_global_discount_sale_products_excl_' . $i, 'default' => '' ),
|
includes/settings/wcj-settings-left-to-free-shipping.php
CHANGED
@@ -2,7 +2,7 @@
|
|
2 |
/**
|
3 |
* Booster for WooCommerce - Settings - Left to Free Shipping
|
4 |
*
|
5 |
-
* @version 3.
|
6 |
* @since 2.8.0
|
7 |
* @author Algoritmika Ltd.
|
8 |
*/
|
@@ -36,7 +36,7 @@ return array(
|
|
36 |
'id' => 'wcj_shipping_left_to_free_info_content_cart',
|
37 |
'default' => __( '%left_to_free% left to free shipping', 'woocommerce-jetpack' ),
|
38 |
'type' => 'textarea',
|
39 |
-
'css' => 'width:
|
40 |
),
|
41 |
array(
|
42 |
'title' => '',
|
@@ -45,7 +45,6 @@ return array(
|
|
45 |
'default' => 'woocommerce_after_cart_totals',
|
46 |
'type' => 'select',
|
47 |
'options' => wcj_get_cart_filters(),
|
48 |
-
'css' => 'width:250px;',
|
49 |
),
|
50 |
array(
|
51 |
'title' => '',
|
@@ -53,7 +52,6 @@ return array(
|
|
53 |
'id' => 'wcj_shipping_left_to_free_info_priority_cart',
|
54 |
'default' => 10,
|
55 |
'type' => 'number',
|
56 |
-
'css' => 'width:250px;',
|
57 |
),
|
58 |
array(
|
59 |
'title' => __( 'Info on Mini Cart', 'woocommerce-jetpack' ),
|
@@ -61,8 +59,8 @@ return array(
|
|
61 |
'id' => 'wcj_shipping_left_to_free_info_enabled_mini_cart',
|
62 |
'default' => 'no',
|
63 |
'type' => 'checkbox',
|
64 |
-
'custom_attributes' => apply_filters( '
|
65 |
-
'desc_tip' => apply_filters( '
|
66 |
),
|
67 |
array(
|
68 |
'title' => '',
|
@@ -71,7 +69,7 @@ return array(
|
|
71 |
'id' => 'wcj_shipping_left_to_free_info_content_mini_cart',
|
72 |
'default' => __( '%left_to_free% left to free shipping', 'woocommerce-jetpack' ),
|
73 |
'type' => 'textarea',
|
74 |
-
'css' => 'width:
|
75 |
),
|
76 |
array(
|
77 |
'title' => '',
|
@@ -84,7 +82,6 @@ return array(
|
|
84 |
'woocommerce_widget_shopping_cart_before_buttons' => __( 'Before buttons', 'woocommerce-jetpack' ),
|
85 |
'woocommerce_after_mini_cart' => __( 'After mini cart', 'woocommerce-jetpack' ),
|
86 |
),
|
87 |
-
'css' => 'width:250px;',
|
88 |
),
|
89 |
array(
|
90 |
'title' => '',
|
@@ -92,7 +89,6 @@ return array(
|
|
92 |
'id' => 'wcj_shipping_left_to_free_info_priority_mini_cart',
|
93 |
'default' => 10,
|
94 |
'type' => 'number',
|
95 |
-
'css' => 'width:250px;',
|
96 |
),
|
97 |
array(
|
98 |
'title' => __( 'Info on Checkout', 'woocommerce-jetpack' ),
|
@@ -100,8 +96,8 @@ return array(
|
|
100 |
'id' => 'wcj_shipping_left_to_free_info_enabled_checkout',
|
101 |
'default' => 'no',
|
102 |
'type' => 'checkbox',
|
103 |
-
'custom_attributes' => apply_filters( '
|
104 |
-
'desc_tip' => apply_filters( '
|
105 |
),
|
106 |
array(
|
107 |
'title' => '',
|
@@ -110,7 +106,7 @@ return array(
|
|
110 |
'id' => 'wcj_shipping_left_to_free_info_content_checkout',
|
111 |
'default' => __( '%left_to_free% left to free shipping', 'woocommerce-jetpack' ),
|
112 |
'type' => 'textarea',
|
113 |
-
'css' => 'width:
|
114 |
),
|
115 |
array(
|
116 |
'title' => '',
|
@@ -129,7 +125,6 @@ return array(
|
|
129 |
'woocommerce_checkout_after_order_review' => __( 'After order review', 'woocommerce-jetpack' ),
|
130 |
'woocommerce_after_checkout_form' => __( 'After checkout form', 'woocommerce-jetpack' ),
|
131 |
),
|
132 |
-
'css' => 'width:250px;',
|
133 |
),
|
134 |
array(
|
135 |
'title' => '',
|
@@ -137,7 +132,6 @@ return array(
|
|
137 |
'id' => 'wcj_shipping_left_to_free_info_priority_checkout',
|
138 |
'default' => 10,
|
139 |
'type' => 'number',
|
140 |
-
'css' => 'width:250px;',
|
141 |
),
|
142 |
array(
|
143 |
'title' => __( 'Message on Free Shipping Reached', 'woocommerce-jetpack' ),
|
@@ -146,7 +140,7 @@ return array(
|
|
146 |
'id' => 'wcj_shipping_left_to_free_info_content_reached',
|
147 |
'default' => __( 'You have Free delivery', 'woocommerce-jetpack' ),
|
148 |
'type' => 'textarea',
|
149 |
-
'css' => 'width:
|
150 |
),
|
151 |
array(
|
152 |
'type' => 'sectionend',
|
2 |
/**
|
3 |
* Booster for WooCommerce - Settings - Left to Free Shipping
|
4 |
*
|
5 |
+
* @version 3.3.0
|
6 |
* @since 2.8.0
|
7 |
* @author Algoritmika Ltd.
|
8 |
*/
|
36 |
'id' => 'wcj_shipping_left_to_free_info_content_cart',
|
37 |
'default' => __( '%left_to_free% left to free shipping', 'woocommerce-jetpack' ),
|
38 |
'type' => 'textarea',
|
39 |
+
'css' => 'width:100%;height:100px;',
|
40 |
),
|
41 |
array(
|
42 |
'title' => '',
|
45 |
'default' => 'woocommerce_after_cart_totals',
|
46 |
'type' => 'select',
|
47 |
'options' => wcj_get_cart_filters(),
|
|
|
48 |
),
|
49 |
array(
|
50 |
'title' => '',
|
52 |
'id' => 'wcj_shipping_left_to_free_info_priority_cart',
|
53 |
'default' => 10,
|
54 |
'type' => 'number',
|
|
|
55 |
),
|
56 |
array(
|
57 |
'title' => __( 'Info on Mini Cart', 'woocommerce-jetpack' ),
|
59 |
'id' => 'wcj_shipping_left_to_free_info_enabled_mini_cart',
|
60 |
'default' => 'no',
|
61 |
'type' => 'checkbox',
|
62 |
+
'custom_attributes' => apply_filters( 'booster_message', '', 'disabled' ),
|
63 |
+
'desc_tip' => apply_filters( 'booster_message', '', 'desc' ),
|
64 |
),
|
65 |
array(
|
66 |
'title' => '',
|
69 |
'id' => 'wcj_shipping_left_to_free_info_content_mini_cart',
|
70 |
'default' => __( '%left_to_free% left to free shipping', 'woocommerce-jetpack' ),
|
71 |
'type' => 'textarea',
|
72 |
+
'css' => 'width:100%;height:100px;',
|
73 |
),
|
74 |
array(
|
75 |
'title' => '',
|
82 |
'woocommerce_widget_shopping_cart_before_buttons' => __( 'Before buttons', 'woocommerce-jetpack' ),
|
83 |
'woocommerce_after_mini_cart' => __( 'After mini cart', 'woocommerce-jetpack' ),
|
84 |
),
|
|
|
85 |
),
|
86 |
array(
|
87 |
'title' => '',
|
89 |
'id' => 'wcj_shipping_left_to_free_info_priority_mini_cart',
|
90 |
'default' => 10,
|
91 |
'type' => 'number',
|
|
|
92 |
),
|
93 |
array(
|
94 |
'title' => __( 'Info on Checkout', 'woocommerce-jetpack' ),
|
96 |
'id' => 'wcj_shipping_left_to_free_info_enabled_checkout',
|
97 |
'default' => 'no',
|
98 |
'type' => 'checkbox',
|
99 |
+
'custom_attributes' => apply_filters( 'booster_message', '', 'disabled' ),
|
100 |
+
'desc_tip' => apply_filters( 'booster_message', '', 'desc' ),
|
101 |
),
|
102 |
array(
|
103 |
'title' => '',
|
106 |
'id' => 'wcj_shipping_left_to_free_info_content_checkout',
|
107 |
'default' => __( '%left_to_free% left to free shipping', 'woocommerce-jetpack' ),
|
108 |
'type' => 'textarea',
|
109 |
+
'css' => 'width:100%;height:100px;',
|
110 |
),
|
111 |
array(
|
112 |
'title' => '',
|
125 |
'woocommerce_checkout_after_order_review' => __( 'After order review', 'woocommerce-jetpack' ),
|
126 |
'woocommerce_after_checkout_form' => __( 'After checkout form', 'woocommerce-jetpack' ),
|
127 |
),
|
|
|
128 |
),
|
129 |
array(
|
130 |
'title' => '',
|
132 |
'id' => 'wcj_shipping_left_to_free_info_priority_checkout',
|
133 |
'default' => 10,
|
134 |
'type' => 'number',
|
|
|
135 |
),
|
136 |
array(
|
137 |
'title' => __( 'Message on Free Shipping Reached', 'woocommerce-jetpack' ),
|
140 |
'id' => 'wcj_shipping_left_to_free_info_content_reached',
|
141 |
'default' => __( 'You have Free delivery', 'woocommerce-jetpack' ),
|
142 |
'type' => 'textarea',
|
143 |
+
'css' => 'width:100%;height:100px;',
|
144 |
),
|
145 |
array(
|
146 |
'type' => 'sectionend',
|
includes/settings/wcj-settings-mini-cart.php
CHANGED
@@ -20,15 +20,15 @@ $settings = array(
|
|
20 |
'id' => 'wcj_mini_cart_custom_info_total_number',
|
21 |
'default' => 1,
|
22 |
'type' => 'custom_number',
|
23 |
-
'desc' => apply_filters( '
|
24 |
-
'custom_attributes' => apply_filters( '
|
25 |
),
|
26 |
array(
|
27 |
'type' => 'sectionend',
|
28 |
'id' => 'wcj_mini_cart_custom_info_options',
|
29 |
),
|
30 |
);
|
31 |
-
for ( $i = 1; $i <= apply_filters( '
|
32 |
$settings = array_merge( $settings, array(
|
33 |
array(
|
34 |
'title' => __( 'Info Block', 'woocommerce-jetpack' ) . ' #' . $i,
|
20 |
'id' => 'wcj_mini_cart_custom_info_total_number',
|
21 |
'default' => 1,
|
22 |
'type' => 'custom_number',
|
23 |
+
'desc' => apply_filters( 'booster_message', '', 'desc' ),
|
24 |
+
'custom_attributes' => apply_filters( 'booster_message', '', 'readonly' ),
|
25 |
),
|
26 |
array(
|
27 |
'type' => 'sectionend',
|
28 |
'id' => 'wcj_mini_cart_custom_info_options',
|
29 |
),
|
30 |
);
|
31 |
+
for ( $i = 1; $i <= apply_filters( 'booster_option', 1, get_option( 'wcj_mini_cart_custom_info_total_number', 1 ) ); $i++ ) {
|
32 |
$settings = array_merge( $settings, array(
|
33 |
array(
|
34 |
'title' => __( 'Info Block', 'woocommerce-jetpack' ) . ' #' . $i,
|
includes/settings/wcj-settings-modules-by-user-roles.php
ADDED
@@ -0,0 +1,51 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?php
|
2 |
+
/**
|
3 |
+
* Booster for WooCommerce - Settings - Modules By User Roles
|
4 |
+
*
|
5 |
+
* @version 3.3.0
|
6 |
+
* @since 3.3.0
|
7 |
+
* @author Algoritmika Ltd.
|
8 |
+
*/
|
9 |
+
|
10 |
+
if ( ! defined( 'ABSPATH' ) ) exit; // Exit if accessed directly
|
11 |
+
|
12 |
+
$user_roles = wcj_get_user_roles_options();
|
13 |
+
$modules = array();
|
14 |
+
foreach ( WCJ()->modules as $module_id => $module_obj ) {
|
15 |
+
$modules[ $module_id ] = $module_obj->short_desc;
|
16 |
+
}
|
17 |
+
unset( $modules['modules_by_user_roles'] );
|
18 |
+
|
19 |
+
$settings = array ();
|
20 |
+
foreach ( $user_roles as $role_id => $role_desc ) {
|
21 |
+
$settings = array_merge( $settings, array(
|
22 |
+
array(
|
23 |
+
'title' => $role_desc,
|
24 |
+
'type' => 'title',
|
25 |
+
'id' => 'wcj_modules_by_user_roles_' . $role_id,
|
26 |
+
),
|
27 |
+
array(
|
28 |
+
'title' => __( 'Enable Modules', 'woocommerce-jetpack' ),
|
29 |
+
'desc_tip' => __( 'Select modules which should be enabled for current user role. All other modules will be disabled. Ignored if left empty.', 'woocommerce-jetpack' ),
|
30 |
+
'id' => 'wcj_modules_by_user_roles_incl_' . $role_id,
|
31 |
+
'default' => '',
|
32 |
+
'type' => 'multiselect',
|
33 |
+
'class' => 'chosen_select',
|
34 |
+
'options' => $modules,
|
35 |
+
),
|
36 |
+
array(
|
37 |
+
'title' => __( 'Disable Modules', 'woocommerce-jetpack' ),
|
38 |
+
'desc_tip' => __( 'Select modules which should be disabled for current user role. All other modules will be enabled. Ignored if left empty.', 'woocommerce-jetpack' ),
|
39 |
+
'id' => 'wcj_modules_by_user_roles_excl_' . $role_id,
|
40 |
+
'default' => '',
|
41 |
+
'type' => 'multiselect',
|
42 |
+
'class' => 'chosen_select',
|
43 |
+
'options' => $modules,
|
44 |
+
),
|
45 |
+
array(
|
46 |
+
'type' => 'sectionend',
|
47 |
+
'id' => 'wcj_modules_by_user_roles_' . $role_id,
|
48 |
+
),
|
49 |
+
) );
|
50 |
+
}
|
51 |
+
return $settings;
|
includes/settings/wcj-settings-more-button-labels.php
CHANGED
@@ -2,7 +2,7 @@
|
|
2 |
/**
|
3 |
* Booster for WooCommerce Settings - More Button Labels
|
4 |
*
|
5 |
-
* @version
|
6 |
* @since 2.8.0
|
7 |
* @author Algoritmika Ltd.
|
8 |
*/
|
@@ -23,6 +23,14 @@ return array(
|
|
23 |
'default' => '',
|
24 |
'type' => 'text',
|
25 |
),
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
26 |
array(
|
27 |
'type' => 'sectionend',
|
28 |
'id' => 'wcj_checkout_place_order_button_options',
|
2 |
/**
|
3 |
* Booster for WooCommerce Settings - More Button Labels
|
4 |
*
|
5 |
+
* @version 3.3.0
|
6 |
* @since 2.8.0
|
7 |
* @author Algoritmika Ltd.
|
8 |
*/
|
23 |
'default' => '',
|
24 |
'type' => 'text',
|
25 |
),
|
26 |
+
array(
|
27 |
+
'title' => __( 'Override Default Text', 'woocommerce-jetpack' ),
|
28 |
+
'desc' => __( 'Enable', 'woocommerce-jetpack' ),
|
29 |
+
'desc_tip' => __( 'Enable this if button text is not changing for some payment gateway (e.g. PayPal).', 'woocommerce-jetpack' ),
|
30 |
+
'id' => 'wcj_checkout_place_order_button_override',
|
31 |
+
'default' => 'no',
|
32 |
+
'type' => 'checkbox',
|
33 |
+
),
|
34 |
array(
|
35 |
'type' => 'sectionend',
|
36 |
'id' => 'wcj_checkout_place_order_button_options',
|
includes/settings/wcj-settings-multicurrency-base-price.php
CHANGED
@@ -29,11 +29,11 @@ $settings = array(
|
|
29 |
'manual' => __( 'Enter Rates Manually', 'woocommerce-jetpack' ),
|
30 |
'auto' => __( 'Automatically via Currency Exchange Rates module', 'woocommerce-jetpack' ),
|
31 |
),
|
32 |
-
'desc' => ( '' == apply_filters( '
|
33 |
__( 'Visit', 'woocommerce-jetpack' ) . ' <a href="' . admin_url( 'admin.php?page=wc-settings&tab=jetpack&wcj-cat=prices_and_currencies§ion=currency_exchange_rates' ) . '">' . __( 'Currency Exchange Rates module', 'woocommerce-jetpack' ) . '</a>'
|
34 |
:
|
35 |
-
apply_filters( '
|
36 |
-
'custom_attributes' => apply_filters( '
|
37 |
),
|
38 |
array(
|
39 |
'title' => __( 'Round Prices', 'woocommerce-jetpack' ),
|
@@ -50,7 +50,7 @@ $settings = array(
|
|
50 |
'custom_attributes' => array( 'min' => 0 ),
|
51 |
),
|
52 |
array(
|
53 |
-
'title' => __( 'Advanced:
|
54 |
'desc_tip' => __( 'This may help if you are experiencing compatibility issues with other plugins.', 'woocommerce-jetpack' ),
|
55 |
'desc' => __( 'Enable', 'woocommerce-jetpack' ),
|
56 |
'id' => 'wcj_multicurrency_base_price_save_prices',
|
@@ -71,14 +71,14 @@ $settings = array(
|
|
71 |
'id' => 'wcj_multicurrency_base_price_total_number',
|
72 |
'default' => 1,
|
73 |
'type' => 'custom_number',
|
74 |
-
'desc' => apply_filters( '
|
75 |
'custom_attributes' => array_merge(
|
76 |
-
is_array( apply_filters( '
|
77 |
array( 'step' => '1', 'min' => '1', )
|
78 |
),
|
79 |
),
|
80 |
);
|
81 |
-
$total_number = apply_filters( '
|
82 |
for ( $i = 1; $i <= $total_number; $i++ ) {
|
83 |
$currency_to = get_option( 'wcj_multicurrency_base_price_currency_' . $i, $currency_from );
|
84 |
$custom_attributes = array(
|
29 |
'manual' => __( 'Enter Rates Manually', 'woocommerce-jetpack' ),
|
30 |
'auto' => __( 'Automatically via Currency Exchange Rates module', 'woocommerce-jetpack' ),
|
31 |
),
|
32 |
+
'desc' => ( '' == apply_filters( 'booster_message', '', 'desc' ) ) ?
|
33 |
__( 'Visit', 'woocommerce-jetpack' ) . ' <a href="' . admin_url( 'admin.php?page=wc-settings&tab=jetpack&wcj-cat=prices_and_currencies§ion=currency_exchange_rates' ) . '">' . __( 'Currency Exchange Rates module', 'woocommerce-jetpack' ) . '</a>'
|
34 |
:
|
35 |
+
apply_filters( 'booster_message', '', 'desc' ),
|
36 |
+
'custom_attributes' => apply_filters( 'booster_message', '', 'disabled' ),
|
37 |
),
|
38 |
array(
|
39 |
'title' => __( 'Round Prices', 'woocommerce-jetpack' ),
|
50 |
'custom_attributes' => array( 'min' => 0 ),
|
51 |
),
|
52 |
array(
|
53 |
+
'title' => __( 'Advanced: Save Calculated Products Prices', 'woocommerce-jetpack' ),
|
54 |
'desc_tip' => __( 'This may help if you are experiencing compatibility issues with other plugins.', 'woocommerce-jetpack' ),
|
55 |
'desc' => __( 'Enable', 'woocommerce-jetpack' ),
|
56 |
'id' => 'wcj_multicurrency_base_price_save_prices',
|
71 |
'id' => 'wcj_multicurrency_base_price_total_number',
|
72 |
'default' => 1,
|
73 |
'type' => 'custom_number',
|
74 |
+
'desc' => apply_filters( 'booster_message', '', 'desc' ),
|
75 |
'custom_attributes' => array_merge(
|
76 |
+
is_array( apply_filters( 'booster_message', '', 'readonly' ) ) ? apply_filters( 'booster_message', '', 'readonly' ) : array(),
|
77 |
array( 'step' => '1', 'min' => '1', )
|
78 |
),
|
79 |
),
|
80 |
);
|
81 |
+
$total_number = apply_filters( 'booster_option', 1, get_option( 'wcj_multicurrency_base_price_total_number', 1 ) );
|
82 |
for ( $i = 1; $i <= $total_number; $i++ ) {
|
83 |
$currency_to = get_option( 'wcj_multicurrency_base_price_currency_' . $i, $currency_from );
|
84 |
$custom_attributes = array(
|
includes/settings/wcj-settings-multicurrency.php
CHANGED
@@ -28,11 +28,11 @@ $settings = array(
|
|
28 |
'manual' => __( 'Enter Rates Manually', 'woocommerce-jetpack' ),
|
29 |
'auto' => __( 'Automatically via Currency Exchange Rates module', 'woocommerce-jetpack' ),
|
30 |
),
|
31 |
-
'desc' => ( '' == apply_filters( '
|
32 |
__( 'Visit', 'woocommerce-jetpack' ) . ' <a href="' . admin_url( 'admin.php?page=wc-settings&tab=jetpack&wcj-cat=prices_and_currencies§ion=currency_exchange_rates' ) . '">' . __( 'Currency Exchange Rates module', 'woocommerce-jetpack' ) . '</a>'
|
33 |
:
|
34 |
-
apply_filters( '
|
35 |
-
'custom_attributes' => apply_filters( '
|
36 |
),
|
37 |
array(
|
38 |
'title' => __( 'Multicurrency on per Product Basis', 'woocommerce-jetpack' ),
|
@@ -112,14 +112,14 @@ $settings = array(
|
|
112 |
'id' => 'wcj_multicurrency_total_number',
|
113 |
'default' => 2,
|
114 |
'type' => 'custom_number',
|
115 |
-
'desc' => apply_filters( '
|
116 |
'custom_attributes' => array_merge(
|
117 |
-
is_array( apply_filters( '
|
118 |
array( 'step' => '1', 'min' => '2', )
|
119 |
),
|
120 |
),
|
121 |
);
|
122 |
-
$total_number = apply_filters( '
|
123 |
for ( $i = 1; $i <= $total_number; $i++ ) {
|
124 |
$currency_to = get_option( 'wcj_multicurrency_currency_' . $i, $currency_from );
|
125 |
$custom_attributes = array(
|
28 |
'manual' => __( 'Enter Rates Manually', 'woocommerce-jetpack' ),
|
29 |
'auto' => __( 'Automatically via Currency Exchange Rates module', 'woocommerce-jetpack' ),
|
30 |
),
|
31 |
+
'desc' => ( '' == apply_filters( 'booster_message', '', 'desc' ) ) ?
|
32 |
__( 'Visit', 'woocommerce-jetpack' ) . ' <a href="' . admin_url( 'admin.php?page=wc-settings&tab=jetpack&wcj-cat=prices_and_currencies§ion=currency_exchange_rates' ) . '">' . __( 'Currency Exchange Rates module', 'woocommerce-jetpack' ) . '</a>'
|
33 |
:
|
34 |
+
apply_filters( 'booster_message', '', 'desc' ),
|
35 |
+
'custom_attributes' => apply_filters( 'booster_message', '', 'disabled' ),
|
36 |
),
|
37 |
array(
|
38 |
'title' => __( 'Multicurrency on per Product Basis', 'woocommerce-jetpack' ),
|
112 |
'id' => 'wcj_multicurrency_total_number',
|
113 |
'default' => 2,
|
114 |
'type' => 'custom_number',
|
115 |
+
'desc' => apply_filters( 'booster_message', '', 'desc' ),
|
116 |
'custom_attributes' => array_merge(
|
117 |
+
is_array( apply_filters( 'booster_message', '', 'readonly' ) ) ? apply_filters( 'booster_message', '', 'readonly' ) : array(),
|
118 |
array( 'step' => '1', 'min' => '2', )
|
119 |
),
|
120 |
),
|
121 |
);
|
122 |
+
$total_number = apply_filters( 'booster_option', 2, get_option( 'wcj_multicurrency_total_number', 2 ) );
|
123 |
for ( $i = 1; $i <= $total_number; $i++ ) {
|
124 |
$currency_to = get_option( 'wcj_multicurrency_currency_' . $i, $currency_from );
|
125 |
$custom_attributes = array(
|
includes/settings/wcj-settings-offer-price.php
CHANGED
@@ -27,8 +27,8 @@ return array(
|
|
27 |
'empty_prices' => __( 'Enable for all products with empty price', 'woocommerce-jetpack' ),
|
28 |
'per_product' => __( 'Enable per product', 'woocommerce-jetpack' ),
|
29 |
),
|
30 |
-
'desc' => apply_filters( '
|
31 |
-
'custom_attributes' => apply_filters( '
|
32 |
),
|
33 |
array(
|
34 |
'id' => 'wcj_offer_price_general_options',
|
@@ -91,15 +91,15 @@ return array(
|
|
91 |
'woocommerce_before_shop_loop_item' => __( 'Before product', 'woocommerce-jetpack' ),
|
92 |
'woocommerce_after_shop_loop_item' => __( 'After product', 'woocommerce-jetpack' ),
|
93 |
),
|
94 |
-
'desc' => apply_filters( '
|
95 |
-
'custom_attributes' => apply_filters( '
|
96 |
),
|
97 |
array(
|
98 |
'desc' => __( 'Position Priority (i.e. Order)', 'woocommerce-jetpack' ),
|
99 |
'id' => 'wcj_offer_price_button_position_priority_archives',
|
100 |
'type' => 'number',
|
101 |
'default' => 10,
|
102 |
-
'custom_attributes' => apply_filters( '
|
103 |
),
|
104 |
array(
|
105 |
'id' => 'wcj_offer_price_button_options',
|
27 |
'empty_prices' => __( 'Enable for all products with empty price', 'woocommerce-jetpack' ),
|
28 |
'per_product' => __( 'Enable per product', 'woocommerce-jetpack' ),
|
29 |
),
|
30 |
+
'desc' => apply_filters( 'booster_message', '', 'desc' ),
|
31 |
+
'custom_attributes' => apply_filters( 'booster_message', '', 'disabled' ),
|
32 |
),
|
33 |
array(
|
34 |
'id' => 'wcj_offer_price_general_options',
|
91 |
'woocommerce_before_shop_loop_item' => __( 'Before product', 'woocommerce-jetpack' ),
|
92 |
'woocommerce_after_shop_loop_item' => __( 'After product', 'woocommerce-jetpack' ),
|
93 |
),
|
94 |
+
'desc' => apply_filters( 'booster_message', '', 'desc' ),
|
95 |
+
'custom_attributes' => apply_filters( 'booster_message', '', 'disabled' ),
|
96 |
),
|
97 |
array(
|
98 |
'desc' => __( 'Position Priority (i.e. Order)', 'woocommerce-jetpack' ),
|
99 |
'id' => 'wcj_offer_price_button_position_priority_archives',
|
100 |
'type' => 'number',
|
101 |
'default' => 10,
|
102 |
+
'custom_attributes' => apply_filters( 'booster_message', '', 'disabled' ),
|
103 |
),
|
104 |
array(
|
105 |
'id' => 'wcj_offer_price_button_options',
|
includes/settings/wcj-settings-order-custom-statuses.php
CHANGED
@@ -44,11 +44,11 @@ return array(
|
|
44 |
'title' => __( 'Make Custom Status Orders Editable', 'woocommerce-jetpack' ),
|
45 |
'desc' => __( 'Enable', 'woocommerce-jetpack' ),
|
46 |
'desc_tip' => __( 'By default orders with custom statuses are not editable (same like with standard WooCommerce Completed status). If you wish to make custom status orders editable, enable the checkbox here.', 'woocommerce-jetpack' ) . ' ' .
|
47 |
-
apply_filters( '
|
48 |
'id' => 'wcj_orders_custom_statuses_is_order_editable',
|
49 |
'default' => 'no',
|
50 |
'type' => 'checkbox',
|
51 |
-
'custom_attributes' => apply_filters( '
|
52 |
),
|
53 |
array(
|
54 |
'title' => __( '"Processing" and "Complete" Action Buttons', 'woocommerce-jetpack' ),
|
@@ -62,26 +62,26 @@ return array(
|
|
62 |
'show_complete' => __( 'Show "Complete" only', 'woocommerce-jetpack' ),
|
63 |
'hide' => __( 'Hide', 'woocommerce-jetpack' ),
|
64 |
),
|
65 |
-
'desc' => apply_filters( '
|
66 |
-
'custom_attributes' => apply_filters( '
|
67 |
),
|
68 |
array(
|
69 |
'title' => __( 'Add Custom Statuses to Admin Order List Action Buttons', 'woocommerce-jetpack' ),
|
70 |
'desc' => __( 'Add', 'woocommerce-jetpack' ),
|
71 |
'desc_tip' => __( 'If you wish to add custom statuses buttons to the admin Orders page action buttons (Actions column), enable the checkbox here.', 'woocommerce-jetpack' ) . ' ' .
|
72 |
-
apply_filters( '
|
73 |
'id' => 'wcj_orders_custom_statuses_add_to_order_list_actions',
|
74 |
'default' => 'no',
|
75 |
'type' => 'checkbox',
|
76 |
-
'custom_attributes' => apply_filters( '
|
77 |
),
|
78 |
array(
|
79 |
'desc' => __( 'Enable Colors', 'woocommerce-jetpack' ),
|
80 |
-
'desc_tip' => __( 'Choose if you want the buttons to have colors.', 'woocommerce-jetpack' ) . ' ' . apply_filters( '
|
81 |
'id' => 'wcj_orders_custom_statuses_add_to_order_list_actions_colored',
|
82 |
'default' => 'no',
|
83 |
'type' => 'checkbox',
|
84 |
-
'custom_attributes' => apply_filters( '
|
85 |
),
|
86 |
array(
|
87 |
'type' => 'sectionend',
|
44 |
'title' => __( 'Make Custom Status Orders Editable', 'woocommerce-jetpack' ),
|
45 |
'desc' => __( 'Enable', 'woocommerce-jetpack' ),
|
46 |
'desc_tip' => __( 'By default orders with custom statuses are not editable (same like with standard WooCommerce Completed status). If you wish to make custom status orders editable, enable the checkbox here.', 'woocommerce-jetpack' ) . ' ' .
|
47 |
+
apply_filters( 'booster_message', '', 'desc' ),
|
48 |
'id' => 'wcj_orders_custom_statuses_is_order_editable',
|
49 |
'default' => 'no',
|
50 |
'type' => 'checkbox',
|
51 |
+
'custom_attributes' => apply_filters( 'booster_message', '', 'disabled' ),
|
52 |
),
|
53 |
array(
|
54 |
'title' => __( '"Processing" and "Complete" Action Buttons', 'woocommerce-jetpack' ),
|
62 |
'show_complete' => __( 'Show "Complete" only', 'woocommerce-jetpack' ),
|
63 |
'hide' => __( 'Hide', 'woocommerce-jetpack' ),
|
64 |
),
|
65 |
+
'desc' => apply_filters( 'booster_message', '', 'desc' ),
|
66 |
+
'custom_attributes' => apply_filters( 'booster_message', '', 'disabled' ),
|
67 |
),
|
68 |
array(
|
69 |
'title' => __( 'Add Custom Statuses to Admin Order List Action Buttons', 'woocommerce-jetpack' ),
|
70 |
'desc' => __( 'Add', 'woocommerce-jetpack' ),
|
71 |
'desc_tip' => __( 'If you wish to add custom statuses buttons to the admin Orders page action buttons (Actions column), enable the checkbox here.', 'woocommerce-jetpack' ) . ' ' .
|
72 |
+
apply_filters( 'booster_message', '', 'desc' ),
|
73 |
'id' => 'wcj_orders_custom_statuses_add_to_order_list_actions',
|
74 |
'default' => 'no',
|
75 |
'type' => 'checkbox',
|
76 |
+
'custom_attributes' => apply_filters( 'booster_message', '', 'disabled' ),
|
77 |
),
|
78 |
array(
|
79 |
'desc' => __( 'Enable Colors', 'woocommerce-jetpack' ),
|
80 |
+
'desc_tip' => __( 'Choose if you want the buttons to have colors.', 'woocommerce-jetpack' ) . ' ' . apply_filters( 'booster_message', '', 'desc' ),
|
81 |
'id' => 'wcj_orders_custom_statuses_add_to_order_list_actions_colored',
|
82 |
'default' => 'no',
|
83 |
'type' => 'checkbox',
|
84 |
+
'custom_attributes' => apply_filters( 'booster_message', '', 'disabled' ),
|
85 |
),
|
86 |
array(
|
87 |
'type' => 'sectionend',
|
includes/settings/wcj-settings-order-min-amount.php
CHANGED
@@ -40,12 +40,12 @@ $settings = array(
|
|
40 |
),
|
41 |
array(
|
42 |
'title' => __( 'Error message', 'woocommerce-jetpack' ),
|
43 |
-
'desc' => apply_filters( '
|
44 |
'desc_tip' => __( 'Message to customer if order is below minimum amount. Default: You must have an order with a minimum of %s to place your order, your current order total is %s.', 'woocommerce-jetpack' ),
|
45 |
'id' => 'wcj_order_minimum_amount_error_message',
|
46 |
'default' => 'You must have an order with a minimum of %s to place your order, your current order total is %s.',
|
47 |
'type' => 'textarea',
|
48 |
-
'custom_attributes' => apply_filters( '
|
49 |
'css' => 'width:50%;min-width:300px;',
|
50 |
),
|
51 |
array(
|
@@ -57,12 +57,12 @@ $settings = array(
|
|
57 |
),
|
58 |
array(
|
59 |
'title' => __( 'Message on cart page', 'woocommerce-jetpack' ),
|
60 |
-
'desc' => apply_filters( '
|
61 |
'desc_tip' => __( 'Message to customer if order is below minimum amount. Default: You must have an order with a minimum of %s to place your order, your current order total is %s.', 'woocommerce-jetpack' ),
|
62 |
'id' => 'wcj_order_minimum_amount_cart_notice_message',
|
63 |
'default' => 'You must have an order with a minimum of %s to place your order, your current order total is %s.',
|
64 |
'type' => 'textarea',
|
65 |
-
'custom_attributes' => apply_filters( '
|
66 |
'css' => 'width:50%;min-width:300px;',
|
67 |
),
|
68 |
array(
|
@@ -106,7 +106,7 @@ $settings = array(
|
|
106 |
),
|
107 |
);
|
108 |
$c = array( 'guest', 'administrator', 'customer' );
|
109 |
-
$is_r = apply_filters( '
|
110 |
if ( '' == $is_r ) {
|
111 |
$is_r = array();
|
112 |
}
|
@@ -118,7 +118,7 @@ foreach ( wcj_get_user_roles() as $role_key => $role_data ) {
|
|
118 |
'default' => 0,
|
119 |
'type' => 'number',
|
120 |
'custom_attributes' => ( ! in_array( $role_key, $c ) ? array_merge( array( 'step' => '0.0001', 'min' => '0', ), $is_r ) : array( 'step' => '0.0001', 'min' => '0', ) ),
|
121 |
-
'desc_tip' => ( ! in_array( $role_key, $c ) ? apply_filters( '
|
122 |
),
|
123 |
) );
|
124 |
}
|
40 |
),
|
41 |
array(
|
42 |
'title' => __( 'Error message', 'woocommerce-jetpack' ),
|
43 |
+
'desc' => apply_filters( 'booster_message', '', 'desc' ),
|
44 |
'desc_tip' => __( 'Message to customer if order is below minimum amount. Default: You must have an order with a minimum of %s to place your order, your current order total is %s.', 'woocommerce-jetpack' ),
|
45 |
'id' => 'wcj_order_minimum_amount_error_message',
|
46 |
'default' => 'You must have an order with a minimum of %s to place your order, your current order total is %s.',
|
47 |
'type' => 'textarea',
|
48 |
+
'custom_attributes' => apply_filters( 'booster_message', '', 'readonly' ),
|
49 |
'css' => 'width:50%;min-width:300px;',
|
50 |
),
|
51 |
array(
|
57 |
),
|
58 |
array(
|
59 |
'title' => __( 'Message on cart page', 'woocommerce-jetpack' ),
|
60 |
+
'desc' => apply_filters( 'booster_message', '', 'desc' ),
|
61 |
'desc_tip' => __( 'Message to customer if order is below minimum amount. Default: You must have an order with a minimum of %s to place your order, your current order total is %s.', 'woocommerce-jetpack' ),
|
62 |
'id' => 'wcj_order_minimum_amount_cart_notice_message',
|
63 |
'default' => 'You must have an order with a minimum of %s to place your order, your current order total is %s.',
|
64 |
'type' => 'textarea',
|
65 |
+
'custom_attributes' => apply_filters( 'booster_message', '', 'readonly' ),
|
66 |
'css' => 'width:50%;min-width:300px;',
|
67 |
),
|
68 |
array(
|
106 |
),
|
107 |
);
|
108 |
$c = array( 'guest', 'administrator', 'customer' );
|
109 |
+
$is_r = apply_filters( 'booster_message', '', 'readonly' );
|
110 |
if ( '' == $is_r ) {
|
111 |
$is_r = array();
|
112 |
}
|
118 |
'default' => 0,
|
119 |
'type' => 'number',
|
120 |
'custom_attributes' => ( ! in_array( $role_key, $c ) ? array_merge( array( 'step' => '0.0001', 'min' => '0', ), $is_r ) : array( 'step' => '0.0001', 'min' => '0', ) ),
|
121 |
+
'desc_tip' => ( ! in_array( $role_key, $c ) ? apply_filters( 'booster_message', '', 'desc_no_link' ) : '' ),
|
122 |
),
|
123 |
) );
|
124 |
}
|
includes/settings/wcj-settings-order-numbers.php
CHANGED
@@ -2,9 +2,10 @@
|
|
2 |
/**
|
3 |
* Booster for WooCommerce - Settings - Order Numbers
|
4 |
*
|
5 |
-
* @version 3.
|
6 |
* @since 2.8.0
|
7 |
* @author Algoritmika Ltd.
|
|
|
8 |
*/
|
9 |
|
10 |
if ( ! defined( 'ABSPATH' ) ) exit; // Exit if accessed directly
|
@@ -28,60 +29,68 @@ return array(
|
|
28 |
),
|
29 |
),
|
30 |
array(
|
31 |
-
'title' => __( 'Next Order Number', 'woocommerce-jetpack' ),
|
32 |
-
'desc' => __( 'Next new order will be given this number.', 'woocommerce-jetpack' ) . ' ' . __( 'Use Renumerate Orders tool for existing orders.', 'woocommerce-jetpack' ),
|
33 |
'desc_tip' => __( 'This will be ignored if sequential order numbering is disabled.', 'woocommerce-jetpack' ),
|
34 |
'id' => 'wcj_order_number_counter',
|
35 |
'default' => 1,
|
36 |
'type' => 'number',
|
37 |
),
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
38 |
array(
|
39 |
'title' => __( 'Order Number Custom Prefix', 'woocommerce-jetpack' ),
|
40 |
'desc_tip' => __( 'Prefix before order number (optional). This will change the prefixes for all existing orders.', 'woocommerce-jetpack' ),
|
41 |
'id' => 'wcj_order_number_prefix',
|
42 |
'default' => '',
|
43 |
'type' => 'text',
|
44 |
-
'css' => 'width:300px;',
|
45 |
),
|
46 |
array(
|
47 |
'title' => __( 'Order Number Date Prefix', 'woocommerce-jetpack' ),
|
48 |
-
'desc' => apply_filters( '
|
49 |
'desc_tip' => __( 'Date prefix before order number (optional). This will change the prefixes for all existing orders. Value is passed directly to PHP `date` function, so most of PHP date formats can be used. The only exception is using `\` symbol in date format, as this symbol will be excluded from date. Try: Y-m-d- or mdy.', 'woocommerce-jetpack' ),
|
50 |
'id' => 'wcj_order_number_date_prefix',
|
51 |
'default' => '',
|
52 |
'type' => 'text',
|
53 |
-
'custom_attributes' => apply_filters( '
|
54 |
-
'css' => 'width:300px;',
|
55 |
),
|
56 |
array(
|
57 |
'title' => __( 'Order Number Width', 'woocommerce-jetpack' ),
|
58 |
-
'desc' => apply_filters( '
|
59 |
'desc_tip' => __( 'Minimum width of number without prefix (zeros will be added to the left side). This will change the minimum width of order number for all existing orders. E.g. set to 5 to have order number displayed as 00001 instead of 1. Leave zero to disable.', 'woocommerce-jetpack' ),
|
60 |
'id' => 'wcj_order_number_min_width',
|
61 |
'default' => 0,
|
62 |
'type' => 'number',
|
63 |
-
'custom_attributes' => apply_filters( '
|
64 |
-
'css' => 'width:300px;',
|
65 |
),
|
66 |
array(
|
67 |
'title' => __( 'Order Number Custom Suffix', 'woocommerce-jetpack' ),
|
68 |
-
'desc' => apply_filters( '
|
69 |
'desc_tip' => __( 'Suffix after order number (optional). This will change the suffixes for all existing orders.', 'woocommerce-jetpack' ),
|
70 |
'id' => 'wcj_order_number_suffix',
|
71 |
'default' => '',
|
72 |
'type' => 'text',
|
73 |
-
'custom_attributes' => apply_filters( '
|
74 |
-
'css' => 'width:300px;',
|
75 |
),
|
76 |
array(
|
77 |
'title' => __( 'Order Number Date Suffix', 'woocommerce-jetpack' ),
|
78 |
-
'desc' => apply_filters( '
|
79 |
'desc_tip' => __( 'Date suffix after order number (optional). This will change the suffixes for all existing orders. Value is passed directly to PHP `date` function, so most of PHP date formats can be used. The only exception is using `\` symbol in date format, as this symbol will be excluded from date. Try: Y-m-d- or mdy.', 'woocommerce-jetpack' ),
|
80 |
'id' => 'wcj_order_number_date_suffix',
|
81 |
'default' => '',
|
82 |
'type' => 'text',
|
83 |
-
'custom_attributes' => apply_filters( '
|
84 |
-
'css' => 'width:300px;',
|
85 |
),
|
86 |
array(
|
87 |
'title' => __( 'Use MySQL Transaction', 'woocommerce-jetpack' ),
|
2 |
/**
|
3 |
* Booster for WooCommerce - Settings - Order Numbers
|
4 |
*
|
5 |
+
* @version 3.3.0
|
6 |
* @since 2.8.0
|
7 |
* @author Algoritmika Ltd.
|
8 |
+
* @todo (maybe) add `wcj_order_number_counter_previous_order_date` as `hidden` field (for proper module reset)
|
9 |
*/
|
10 |
|
11 |
if ( ! defined( 'ABSPATH' ) ) exit; // Exit if accessed directly
|
29 |
),
|
30 |
),
|
31 |
array(
|
32 |
+
'title' => __( 'Sequential: Next Order Number', 'woocommerce-jetpack' ),
|
33 |
+
'desc' => '<br>' . __( 'Next new order will be given this number.', 'woocommerce-jetpack' ) . ' ' . __( 'Use Renumerate Orders tool for existing orders.', 'woocommerce-jetpack' ),
|
34 |
'desc_tip' => __( 'This will be ignored if sequential order numbering is disabled.', 'woocommerce-jetpack' ),
|
35 |
'id' => 'wcj_order_number_counter',
|
36 |
'default' => 1,
|
37 |
'type' => 'number',
|
38 |
),
|
39 |
+
array(
|
40 |
+
'title' => __( 'Sequential: Reset Counter', 'woocommerce-jetpack' ),
|
41 |
+
'desc_tip' => __( 'This will be ignored if sequential order numbering is disabled.', 'woocommerce-jetpack' ),
|
42 |
+
'id' => 'wcj_order_number_counter_reset_enabled',
|
43 |
+
'default' => 'no',
|
44 |
+
'type' => 'select',
|
45 |
+
'options' => array(
|
46 |
+
'no' => __( 'Disabled', 'woocommerce-jetpack' ),
|
47 |
+
'daily' => __( 'Daily', 'woocommerce-jetpack' ),
|
48 |
+
'monthly' => __( 'Monthly', 'woocommerce-jetpack' ),
|
49 |
+
'yearly' => __( 'Yearly', 'woocommerce-jetpack' ),
|
50 |
+
),
|
51 |
+
),
|
52 |
array(
|
53 |
'title' => __( 'Order Number Custom Prefix', 'woocommerce-jetpack' ),
|
54 |
'desc_tip' => __( 'Prefix before order number (optional). This will change the prefixes for all existing orders.', 'woocommerce-jetpack' ),
|
55 |
'id' => 'wcj_order_number_prefix',
|
56 |
'default' => '',
|
57 |
'type' => 'text',
|
|
|
58 |
),
|
59 |
array(
|
60 |
'title' => __( 'Order Number Date Prefix', 'woocommerce-jetpack' ),
|
61 |
+
'desc' => apply_filters( 'booster_message', '', 'desc' ),
|
62 |
'desc_tip' => __( 'Date prefix before order number (optional). This will change the prefixes for all existing orders. Value is passed directly to PHP `date` function, so most of PHP date formats can be used. The only exception is using `\` symbol in date format, as this symbol will be excluded from date. Try: Y-m-d- or mdy.', 'woocommerce-jetpack' ),
|
63 |
'id' => 'wcj_order_number_date_prefix',
|
64 |
'default' => '',
|
65 |
'type' => 'text',
|
66 |
+
'custom_attributes' => apply_filters( 'booster_message', '', 'readonly' ),
|
|
|
67 |
),
|
68 |
array(
|
69 |
'title' => __( 'Order Number Width', 'woocommerce-jetpack' ),
|
70 |
+
'desc' => apply_filters( 'booster_message', '', 'desc' ),
|
71 |
'desc_tip' => __( 'Minimum width of number without prefix (zeros will be added to the left side). This will change the minimum width of order number for all existing orders. E.g. set to 5 to have order number displayed as 00001 instead of 1. Leave zero to disable.', 'woocommerce-jetpack' ),
|
72 |
'id' => 'wcj_order_number_min_width',
|
73 |
'default' => 0,
|
74 |
'type' => 'number',
|
75 |
+
'custom_attributes' => apply_filters( 'booster_message', '', 'readonly' ),
|
|
|
76 |
),
|
77 |
array(
|
78 |
'title' => __( 'Order Number Custom Suffix', 'woocommerce-jetpack' ),
|
79 |
+
'desc' => apply_filters( 'booster_message', '', 'desc' ),
|
80 |
'desc_tip' => __( 'Suffix after order number (optional). This will change the suffixes for all existing orders.', 'woocommerce-jetpack' ),
|
81 |
'id' => 'wcj_order_number_suffix',
|
82 |
'default' => '',
|
83 |
'type' => 'text',
|
84 |
+
'custom_attributes' => apply_filters( 'booster_message', '', 'readonly' ),
|
|
|
85 |
),
|
86 |
array(
|
87 |
'title' => __( 'Order Number Date Suffix', 'woocommerce-jetpack' ),
|
88 |
+
'desc' => apply_filters( 'booster_message', '', 'desc' ),
|
89 |
'desc_tip' => __( 'Date suffix after order number (optional). This will change the suffixes for all existing orders. Value is passed directly to PHP `date` function, so most of PHP date formats can be used. The only exception is using `\` symbol in date format, as this symbol will be excluded from date. Try: Y-m-d- or mdy.', 'woocommerce-jetpack' ),
|
90 |
'id' => 'wcj_order_number_date_suffix',
|
91 |
'default' => '',
|
92 |
'type' => 'text',
|
93 |
+
'custom_attributes' => apply_filters( 'booster_message', '', 'readonly' ),
|
|
|
94 |
),
|
95 |
array(
|
96 |
'title' => __( 'Use MySQL Transaction', 'woocommerce-jetpack' ),
|
includes/settings/wcj-settings-order-quantities.php
CHANGED
@@ -45,17 +45,17 @@ return array(
|
|
45 |
'id' => 'wcj_order_quantities_min_per_item_quantity',
|
46 |
'default' => 0,
|
47 |
'type' => 'number',
|
48 |
-
'desc' => apply_filters( '
|
49 |
-
'custom_attributes' => ( '' === apply_filters( '
|
50 |
),
|
51 |
array(
|
52 |
'title' => __( 'Per Item Quantity on Per Product Basis', 'woocommerce-jetpack' ),
|
53 |
'desc' => __( 'Enable', 'woocommerce-jetpack' ),
|
54 |
-
'desc_tip' => __( 'This will add meta box to each product\'s edit page.', 'woocommerce-jetpack' ) . ' ' . apply_filters( '
|
55 |
'id' => 'wcj_order_quantities_min_per_item_quantity_per_product',
|
56 |
'default' => 'no',
|
57 |
'type' => 'checkbox',
|
58 |
-
'custom_attributes' => apply_filters( '
|
59 |
),
|
60 |
array(
|
61 |
'title' => __( 'Message - Per Item Quantity', 'woocommerce-jetpack' ),
|
@@ -103,17 +103,17 @@ return array(
|
|
103 |
'id' => 'wcj_order_quantities_max_per_item_quantity',
|
104 |
'default' => 0,
|
105 |
'type' => 'number',
|
106 |
-
'desc' => apply_filters( '
|
107 |
-
'custom_attributes' => ( '' === apply_filters( '
|
108 |
),
|
109 |
array(
|
110 |
'title' => __( 'Per Item Quantity on Per Product Basis', 'woocommerce-jetpack' ),
|
111 |
'desc' => __( 'Enable', 'woocommerce-jetpack' ),
|
112 |
-
'desc_tip' => __( 'This will add meta box to each product\'s edit page.', 'woocommerce-jetpack' ) . ' ' . apply_filters( '
|
113 |
'id' => 'wcj_order_quantities_max_per_item_quantity_per_product',
|
114 |
'default' => 'no',
|
115 |
'type' => 'checkbox',
|
116 |
-
'custom_attributes' => apply_filters( '
|
117 |
),
|
118 |
array(
|
119 |
'title' => __( 'Message - Per Item Quantity', 'woocommerce-jetpack' ),
|
45 |
'id' => 'wcj_order_quantities_min_per_item_quantity',
|
46 |
'default' => 0,
|
47 |
'type' => 'number',
|
48 |
+
'desc' => apply_filters( 'booster_message', '', 'desc' ),
|
49 |
+
'custom_attributes' => ( '' === apply_filters( 'booster_message', '', 'readonly' ) ? array( 'min' => 0 ) : apply_filters( 'booster_message', '', 'readonly' ) ),
|
50 |
),
|
51 |
array(
|
52 |
'title' => __( 'Per Item Quantity on Per Product Basis', 'woocommerce-jetpack' ),
|
53 |
'desc' => __( 'Enable', 'woocommerce-jetpack' ),
|
54 |
+
'desc_tip' => __( 'This will add meta box to each product\'s edit page.', 'woocommerce-jetpack' ) . ' ' . apply_filters( 'booster_message', '', 'desc' ),
|
55 |
'id' => 'wcj_order_quantities_min_per_item_quantity_per_product',
|
56 |
'default' => 'no',
|
57 |
'type' => 'checkbox',
|
58 |
+
'custom_attributes' => apply_filters( 'booster_message', '', 'disabled' ),
|
59 |
),
|
60 |
array(
|
61 |
'title' => __( 'Message - Per Item Quantity', 'woocommerce-jetpack' ),
|
103 |
'id' => 'wcj_order_quantities_max_per_item_quantity',
|
104 |
'default' => 0,
|
105 |
'type' => 'number',
|
106 |
+
'desc' => apply_filters( 'booster_message', '', 'desc' ),
|
107 |
+
'custom_attributes' => ( '' === apply_filters( 'booster_message', '', 'readonly' ) ? array( 'min' => 0 ) : apply_filters( 'booster_message', '', 'readonly' ) ),
|
108 |
),
|
109 |
array(
|
110 |
'title' => __( 'Per Item Quantity on Per Product Basis', 'woocommerce-jetpack' ),
|
111 |
'desc' => __( 'Enable', 'woocommerce-jetpack' ),
|
112 |
+
'desc_tip' => __( 'This will add meta box to each product\'s edit page.', 'woocommerce-jetpack' ) . ' ' . apply_filters( 'booster_message', '', 'desc' ),
|
113 |
'id' => 'wcj_order_quantities_max_per_item_quantity_per_product',
|
114 |
'default' => 'no',
|
115 |
'type' => 'checkbox',
|
116 |
+
'custom_attributes' => apply_filters( 'booster_message', '', 'disabled' ),
|
117 |
),
|
118 |
array(
|
119 |
'title' => __( 'Message - Per Item Quantity', 'woocommerce-jetpack' ),
|
includes/settings/wcj-settings-orders.php
CHANGED
@@ -2,7 +2,7 @@
|
|
2 |
/**
|
3 |
* Booster for WooCommerce Settings - Orders
|
4 |
*
|
5 |
-
* @version 3.
|
6 |
* @since 2.8.0
|
7 |
* @author Algoritmika Ltd.
|
8 |
*/
|
@@ -10,7 +10,7 @@
|
|
10 |
if ( ! defined( 'ABSPATH' ) ) exit; // Exit if accessed directly
|
11 |
|
12 |
$bulk_regenerate_download_permissions_all_orders_cron_desc = '';
|
13 |
-
if ( $this->is_enabled() && 'yes' === apply_filters( '
|
14 |
$bulk_regenerate_download_permissions_all_orders_cron_desc = wcj_crons_get_next_event_time_message( 'wcj_bulk_regenerate_download_permissions_all_orders_cron_time' );
|
15 |
}
|
16 |
|
@@ -61,6 +61,23 @@ $settings = array(
|
|
61 |
'type' => 'sectionend',
|
62 |
'id' => 'wcj_order_auto_complete_options',
|
63 |
),
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
64 |
array(
|
65 |
'title' => __( 'Bulk Regenerate Download Permissions for Orders', 'woocommerce-jetpack' ),
|
66 |
'type' => 'title',
|
@@ -68,40 +85,40 @@ $settings = array(
|
|
68 |
),
|
69 |
array(
|
70 |
'title' => __( 'Bulk Regenerate Download Permissions', 'woocommerce-jetpack' ),
|
71 |
-
'desc_tip' => apply_filters( '
|
72 |
'desc' => '<strong>' . __( 'Enable section', 'woocommerce-jetpack' ) . '</strong>',
|
73 |
'id' => 'wcj_order_bulk_regenerate_download_permissions_enabled',
|
74 |
'default' => 'no',
|
75 |
'type' => 'checkbox',
|
76 |
-
'custom_attributes' => apply_filters( '
|
77 |
),
|
78 |
array(
|
79 |
'title' => __( 'Bulk Actions', 'woocommerce-jetpack' ),
|
80 |
-
'desc_tip' => __( 'When enabled this will add "Regenerate download permissions" action to "Bulk Actions" select box on admin orders page.', 'woocommerce-jetpack' ) . ' ' . apply_filters( '
|
81 |
'desc' => __( 'Add', 'woocommerce-jetpack' ),
|
82 |
'id' => 'wcj_order_bulk_regenerate_download_permissions_actions',
|
83 |
'default' => 'no',
|
84 |
'type' => 'checkbox',
|
85 |
-
'custom_attributes' => apply_filters( '
|
86 |
),
|
87 |
array(
|
88 |
'title' => __( 'All Orders - Now', 'woocommerce-jetpack' ),
|
89 |
-
'desc_tip' => __( 'Check this box and press "Save changes" button to start regeneration. Please note that both module and current section must be enabled before that.', 'woocommerce-jetpack' ) . ' ' . apply_filters( '
|
90 |
'desc' => __( 'Regenerate now', 'woocommerce-jetpack' ),
|
91 |
'id' => 'wcj_order_bulk_regenerate_download_permissions_all_orders',
|
92 |
'default' => 'no',
|
93 |
'type' => 'checkbox',
|
94 |
-
'custom_attributes' => apply_filters( '
|
95 |
),
|
96 |
array(
|
97 |
'title' => __( 'All Orders - Periodically', 'woocommerce-jetpack' ),
|
98 |
-
'desc' => $bulk_regenerate_download_permissions_all_orders_cron_desc . ' ' . apply_filters( '
|
99 |
'id' => 'wcj_order_bulk_regenerate_download_permissions_all_orders_cron',
|
100 |
'default' => 'disabled',
|
101 |
'type' => 'select',
|
102 |
'options' => array_merge( array( 'disabled' => __( 'Disabled', 'woocommerce-jetpack' ) ),
|
103 |
wcj_crons_get_all_intervals( __( 'Regenerate', 'woocommerce-jetpack' ), array( 'minutely' ) ) ),
|
104 |
-
'custom_attributes' => apply_filters( '
|
105 |
),
|
106 |
array(
|
107 |
'type' => 'sectionend',
|
2 |
/**
|
3 |
* Booster for WooCommerce Settings - Orders
|
4 |
*
|
5 |
+
* @version 3.3.0
|
6 |
* @since 2.8.0
|
7 |
* @author Algoritmika Ltd.
|
8 |
*/
|
10 |
if ( ! defined( 'ABSPATH' ) ) exit; // Exit if accessed directly
|
11 |
|
12 |
$bulk_regenerate_download_permissions_all_orders_cron_desc = '';
|
13 |
+
if ( $this->is_enabled() && 'yes' === apply_filters( 'booster_option', 'no', get_option( 'wcj_order_bulk_regenerate_download_permissions_enabled', 'no' ) ) ) {
|
14 |
$bulk_regenerate_download_permissions_all_orders_cron_desc = wcj_crons_get_next_event_time_message( 'wcj_bulk_regenerate_download_permissions_all_orders_cron_time' );
|
15 |
}
|
16 |
|
61 |
'type' => 'sectionend',
|
62 |
'id' => 'wcj_order_auto_complete_options',
|
63 |
),
|
64 |
+
array(
|
65 |
+
'title' => __( 'Country by IP', 'woocommerce-jetpack' ),
|
66 |
+
'type' => 'title',
|
67 |
+
'id' => 'wcj_orders_country_by_ip_options',
|
68 |
+
),
|
69 |
+
array(
|
70 |
+
'title' => __( 'Add Country by IP Meta Box', 'woocommerce-jetpack' ),
|
71 |
+
'desc' => __( 'Add', 'woocommerce-jetpack' ),
|
72 |
+
'desc_tip' => __( 'When enabled this will add "Booster: Country by IP" metabox to each order\'s edit page.', 'woocommerce-jetpack' ),
|
73 |
+
'id' => 'wcj_orders_country_by_ip_enabled',
|
74 |
+
'default' => 'no',
|
75 |
+
'type' => 'checkbox',
|
76 |
+
),
|
77 |
+
array(
|
78 |
+
'type' => 'sectionend',
|
79 |
+
'id' => 'wcj_orders_country_by_ip_options',
|
80 |
+
),
|
81 |
array(
|
82 |
'title' => __( 'Bulk Regenerate Download Permissions for Orders', 'woocommerce-jetpack' ),
|
83 |
'type' => 'title',
|
85 |
),
|
86 |
array(
|
87 |
'title' => __( 'Bulk Regenerate Download Permissions', 'woocommerce-jetpack' ),
|
88 |
+
'desc_tip' => apply_filters( 'booster_message', '', 'desc' ),
|
89 |
'desc' => '<strong>' . __( 'Enable section', 'woocommerce-jetpack' ) . '</strong>',
|
90 |
'id' => 'wcj_order_bulk_regenerate_download_permissions_enabled',
|
91 |
'default' => 'no',
|
92 |
'type' => 'checkbox',
|
93 |
+
'custom_attributes' => apply_filters( 'booster_message', '', 'disabled' ),
|
94 |
),
|
95 |
array(
|
96 |
'title' => __( 'Bulk Actions', 'woocommerce-jetpack' ),
|
97 |
+
'desc_tip' => __( 'When enabled this will add "Regenerate download permissions" action to "Bulk Actions" select box on admin orders page.', 'woocommerce-jetpack' ) . ' ' . apply_filters( 'booster_message', '', 'desc' ),
|
98 |
'desc' => __( 'Add', 'woocommerce-jetpack' ),
|
99 |
'id' => 'wcj_order_bulk_regenerate_download_permissions_actions',
|
100 |
'default' => 'no',
|
101 |
'type' => 'checkbox',
|
102 |
+
'custom_attributes' => apply_filters( 'booster_message', '', 'disabled' ),
|
103 |
),
|
104 |
array(
|
105 |
'title' => __( 'All Orders - Now', 'woocommerce-jetpack' ),
|
106 |
+
'desc_tip' => __( 'Check this box and press "Save changes" button to start regeneration. Please note that both module and current section must be enabled before that.', 'woocommerce-jetpack' ) . ' ' . apply_filters( 'booster_message', '', 'desc' ),
|
107 |
'desc' => __( 'Regenerate now', 'woocommerce-jetpack' ),
|
108 |
'id' => 'wcj_order_bulk_regenerate_download_permissions_all_orders',
|
109 |
'default' => 'no',
|
110 |
'type' => 'checkbox',
|
111 |
+
'custom_attributes' => apply_filters( 'booster_message', '', 'disabled' ),
|
112 |
),
|
113 |
array(
|
114 |
'title' => __( 'All Orders - Periodically', 'woocommerce-jetpack' ),
|
115 |
+
'desc' => $bulk_regenerate_download_permissions_all_orders_cron_desc . ' ' . apply_filters( 'booster_message', '', 'desc' ),
|
116 |
'id' => 'wcj_order_bulk_regenerate_download_permissions_all_orders_cron',
|
117 |
'default' => 'disabled',
|
118 |
'type' => 'select',
|
119 |
'options' => array_merge( array( 'disabled' => __( 'Disabled', 'woocommerce-jetpack' ) ),
|
120 |
wcj_crons_get_all_intervals( __( 'Regenerate', 'woocommerce-jetpack' ), array( 'minutely' ) ) ),
|
121 |
+
'custom_attributes' => apply_filters( 'booster_message', '', 'disabled' ),
|
122 |
),
|
123 |
array(
|
124 |
'type' => 'sectionend',
|
includes/settings/wcj-settings-payment-gateways-by-country.php
CHANGED
@@ -2,7 +2,7 @@
|
|
2 |
/**
|
3 |
* Booster for WooCommerce - Settings - Gateways by Country or State
|
4 |
*
|
5 |
-
* @version
|
6 |
* @since 2.8.0
|
7 |
* @author Algoritmika Ltd.
|
8 |
*/
|
@@ -13,7 +13,7 @@ $settings = array(
|
|
13 |
array(
|
14 |
'title' => __( 'Payment Gateways', 'woocommerce-jetpack' ),
|
15 |
'type' => 'title',
|
16 |
-
'desc' => __( 'Leave empty to disable.', 'woocommerce-jetpack' ),
|
17 |
'id' => 'wcj_payment_gateways_by_country_gateways_options',
|
18 |
),
|
19 |
);
|
@@ -23,11 +23,11 @@ $gateways = WC()->payment_gateways->payment_gateways();
|
|
23 |
foreach ( $gateways as $key => $gateway ) {
|
24 |
$default_gateways = array( 'bacs' );
|
25 |
if ( ! empty( $default_gateways ) && ! in_array( $key, $default_gateways ) ) {
|
26 |
-
$custom_attributes = apply_filters( '
|
27 |
if ( '' == $custom_attributes ) {
|
28 |
$custom_attributes = array();
|
29 |
}
|
30 |
-
$desc_tip = apply_filters( '
|
31 |
} else {
|
32 |
$custom_attributes = array();
|
33 |
$desc_tip = '';
|
2 |
/**
|
3 |
* Booster for WooCommerce - Settings - Gateways by Country or State
|
4 |
*
|
5 |
+
* @version 3.3.0
|
6 |
* @since 2.8.0
|
7 |
* @author Algoritmika Ltd.
|
8 |
*/
|
13 |
array(
|
14 |
'title' => __( 'Payment Gateways', 'woocommerce-jetpack' ),
|
15 |
'type' => 'title',
|
16 |
+
'desc' => __( 'Country and state are defined from customer\'s entered billing address.', 'woocommerce-jetpack' ) . '<br>' . __( 'Leave empty to disable.', 'woocommerce-jetpack' ),
|
17 |
'id' => 'wcj_payment_gateways_by_country_gateways_options',
|
18 |
),
|
19 |
);
|
23 |
foreach ( $gateways as $key => $gateway ) {
|
24 |
$default_gateways = array( 'bacs' );
|
25 |
if ( ! empty( $default_gateways ) && ! in_array( $key, $default_gateways ) ) {
|
26 |
+
$custom_attributes = apply_filters( 'booster_message', '', 'disabled' );
|
27 |
if ( '' == $custom_attributes ) {
|
28 |
$custom_attributes = array();
|
29 |
}
|
30 |
+
$desc_tip = apply_filters( 'booster_message', '', 'desc_no_link' );
|
31 |
} else {
|
32 |
$custom_attributes = array();
|
33 |
$desc_tip = '';
|
includes/settings/wcj-settings-payment-gateways-by-currency.php
CHANGED
@@ -2,7 +2,7 @@
|
|
2 |
/**
|
3 |
* Booster for WooCommerce - Settings - Gateways by Currency
|
4 |
*
|
5 |
-
* @version 3.
|
6 |
* @since 3.0.0
|
7 |
* @author Algoritmika Ltd.
|
8 |
*/
|
@@ -20,19 +20,19 @@ $settings = array(
|
|
20 |
$currencies = wcj_get_currencies_names_and_symbols();
|
21 |
$gateways = WC()->payment_gateways->payment_gateways();
|
22 |
$paypal_allowed_currencies = array( 'AUD', 'BRL', 'CAD', 'MXN', 'NZD', 'HKD', 'SGD', 'USD', 'EUR', 'JPY', 'TRY', 'NOK', 'CZK', 'DKK', 'HUF', 'ILS', 'MYR', 'PHP', 'PLN', 'SEK', 'CHF', 'TWD', 'THB', 'GBP', 'RMB', 'RUB' );
|
23 |
-
$paypal_allowed_currencies_and_names =
|
24 |
foreach ( $paypal_allowed_currencies as $paypal_allowed_currency ) {
|
25 |
$paypal_allowed_currencies_and_names[] = $currencies[ $paypal_allowed_currency ];
|
26 |
}
|
27 |
-
$paypal_tip = sprintf( __( 'PayPal allows only these currencies
|
28 |
foreach ( $gateways as $key => $gateway ) {
|
29 |
$default_gateways = array( 'bacs' );
|
30 |
if ( ! empty( $default_gateways ) && ! in_array( $key, $default_gateways ) ) {
|
31 |
-
$custom_attributes = apply_filters( '
|
32 |
if ( '' == $custom_attributes ) {
|
33 |
$custom_attributes = array();
|
34 |
}
|
35 |
-
$desc_tip = apply_filters( '
|
36 |
} else {
|
37 |
$custom_attributes = array();
|
38 |
$desc_tip = '';
|
2 |
/**
|
3 |
* Booster for WooCommerce - Settings - Gateways by Currency
|
4 |
*
|
5 |
+
* @version 3.3.0
|
6 |
* @since 3.0.0
|
7 |
* @author Algoritmika Ltd.
|
8 |
*/
|
20 |
$currencies = wcj_get_currencies_names_and_symbols();
|
21 |
$gateways = WC()->payment_gateways->payment_gateways();
|
22 |
$paypal_allowed_currencies = array( 'AUD', 'BRL', 'CAD', 'MXN', 'NZD', 'HKD', 'SGD', 'USD', 'EUR', 'JPY', 'TRY', 'NOK', 'CZK', 'DKK', 'HUF', 'ILS', 'MYR', 'PHP', 'PLN', 'SEK', 'CHF', 'TWD', 'THB', 'GBP', 'RMB', 'RUB' );
|
23 |
+
$paypal_allowed_currencies_and_names = array();
|
24 |
foreach ( $paypal_allowed_currencies as $paypal_allowed_currency ) {
|
25 |
$paypal_allowed_currencies_and_names[] = $currencies[ $paypal_allowed_currency ];
|
26 |
}
|
27 |
+
$paypal_tip = sprintf( __( 'PayPal allows only these currencies: %s.', 'woocommerce-jetpack' ), '<br>' . implode( '<br>', $paypal_allowed_currencies_and_names ) );
|
28 |
foreach ( $gateways as $key => $gateway ) {
|
29 |
$default_gateways = array( 'bacs' );
|
30 |
if ( ! empty( $default_gateways ) && ! in_array( $key, $default_gateways ) ) {
|
31 |
+
$custom_attributes = apply_filters( 'booster_message', '', 'disabled' );
|
32 |
if ( '' == $custom_attributes ) {
|
33 |
$custom_attributes = array();
|
34 |
}
|
35 |
+
$desc_tip = apply_filters( 'booster_message', '', 'desc_no_link' );
|
36 |
} else {
|
37 |
$custom_attributes = array();
|
38 |
$desc_tip = '';
|
includes/settings/wcj-settings-payment-gateways-by-shipping.php
CHANGED
@@ -27,11 +27,11 @@ $settings = array(
|
|
27 |
$gateways = WC()->payment_gateways->payment_gateways();
|
28 |
foreach ( $gateways as $key => $gateway ) {
|
29 |
if ( ! in_array( $key, array( 'bacs', 'cod' ) ) ) {
|
30 |
-
$custom_attributes = apply_filters( '
|
31 |
if ( '' == $custom_attributes ) {
|
32 |
$custom_attributes = array();
|
33 |
}
|
34 |
-
$desc_tip = apply_filters( '
|
35 |
} else {
|
36 |
$custom_attributes = array();
|
37 |
$desc_tip = '';
|
27 |
$gateways = WC()->payment_gateways->payment_gateways();
|
28 |
foreach ( $gateways as $key => $gateway ) {
|
29 |
if ( ! in_array( $key, array( 'bacs', 'cod' ) ) ) {
|
30 |
+
$custom_attributes = apply_filters( 'booster_message', '', 'disabled' );
|
31 |
if ( '' == $custom_attributes ) {
|
32 |
$custom_attributes = array();
|
33 |
}
|
34 |
+
$desc_tip = apply_filters( 'booster_message', '', 'desc_no_link' );
|
35 |
} else {
|
36 |
$custom_attributes = array();
|
37 |
$desc_tip = '';
|
includes/settings/wcj-settings-payment-gateways-by-user-role.php
CHANGED
@@ -24,11 +24,11 @@ $gateways = WC()->payment_gateways->payment_gateways();
|
|
24 |
foreach ( $gateways as $key => $gateway ) {
|
25 |
$default_gateways = array( 'bacs' );
|
26 |
if ( ! empty( $default_gateways ) && ! in_array( $key, $default_gateways ) ) {
|
27 |
-
$custom_attributes = apply_filters( '
|
28 |
if ( '' == $custom_attributes ) {
|
29 |
$custom_attributes = array();
|
30 |
}
|
31 |
-
$desc_tip = apply_filters( '
|
32 |
} else {
|
33 |
$custom_attributes = array();
|
34 |
$desc_tip = '';
|
24 |
foreach ( $gateways as $key => $gateway ) {
|
25 |
$default_gateways = array( 'bacs' );
|
26 |
if ( ! empty( $default_gateways ) && ! in_array( $key, $default_gateways ) ) {
|
27 |
+
$custom_attributes = apply_filters( 'booster_message', '', 'disabled' );
|
28 |
if ( '' == $custom_attributes ) {
|
29 |
$custom_attributes = array();
|
30 |
}
|
31 |
+
$desc_tip = apply_filters( 'booster_message', '', 'desc_no_link' );
|
32 |
} else {
|
33 |
$custom_attributes = array();
|
34 |
$desc_tip = '';
|
includes/settings/wcj-settings-payment-gateways-currency.php
CHANGED
@@ -64,10 +64,10 @@ $settings = array_merge( $settings, array(
|
|
64 |
'manual' => __( 'Enter Rates Manually', 'woocommerce-jetpack' ),
|
65 |
'auto' => __( 'Automatically via Currency Exchange Rates module', 'woocommerce-jetpack' ),
|
66 |
),
|
67 |
-
'desc' => ( '' == apply_filters( '
|
68 |
__( 'Visit', 'woocommerce-jetpack' ) . ' <a href="' . admin_url( 'admin.php?page=wc-settings&tab=jetpack&wcj-cat=prices_and_currencies§ion=currency_exchange_rates' ) . '">' . __( 'Currency Exchange Rates module', 'woocommerce-jetpack' ) . '</a>'
|
69 |
-
: apply_filters( '
|
70 |
-
'custom_attributes' => apply_filters( '
|
71 |
),
|
72 |
array(
|
73 |
'type' => 'sectionend',
|
64 |
'manual' => __( 'Enter Rates Manually', 'woocommerce-jetpack' ),
|
65 |
'auto' => __( 'Automatically via Currency Exchange Rates module', 'woocommerce-jetpack' ),
|
66 |
),
|
67 |
+
'desc' => ( '' == apply_filters( 'booster_message', '', 'desc' ) ) ?
|
68 |
__( 'Visit', 'woocommerce-jetpack' ) . ' <a href="' . admin_url( 'admin.php?page=wc-settings&tab=jetpack&wcj-cat=prices_and_currencies§ion=currency_exchange_rates' ) . '">' . __( 'Currency Exchange Rates module', 'woocommerce-jetpack' ) . '</a>'
|
69 |
+
: apply_filters( 'booster_message', '', 'desc' ),
|
70 |
+
'custom_attributes' => apply_filters( 'booster_message', '', 'disabled' ),
|
71 |
),
|
72 |
array(
|
73 |
'type' => 'sectionend',
|
includes/settings/wcj-settings-payment-gateways-icons.php
CHANGED
@@ -21,8 +21,8 @@ $available_gateways = WC()->payment_gateways->payment_gateways();
|
|
21 |
foreach ( $available_gateways as $key => $gateway ) {
|
22 |
$default_gateways = array( 'cod', 'cheque', 'bacs', 'mijireh_checkout', 'paypal' );
|
23 |
if ( ! empty( $default_gateways ) && ! in_array( $key, $default_gateways ) ) {
|
24 |
-
$custom_attributes = apply_filters( '
|
25 |
-
$desc_tip = apply_filters( '
|
26 |
} else {
|
27 |
$custom_attributes = array();
|
28 |
$desc_tip = '';
|
21 |
foreach ( $available_gateways as $key => $gateway ) {
|
22 |
$default_gateways = array( 'cod', 'cheque', 'bacs', 'mijireh_checkout', 'paypal' );
|
23 |
if ( ! empty( $default_gateways ) && ! in_array( $key, $default_gateways ) ) {
|
24 |
+
$custom_attributes = apply_filters( 'booster_message', '', 'disabled' );
|
25 |
+
$desc_tip = apply_filters( 'booster_message', '', 'desc' );
|
26 |
} else {
|
27 |
$custom_attributes = array();
|
28 |
$desc_tip = '';
|
includes/settings/wcj-settings-payment-gateways-min-max.php
CHANGED
@@ -72,11 +72,11 @@ $gateways = WC()->payment_gateways->payment_gateways();
|
|
72 |
foreach ( $gateways as $key => $gateway ) {
|
73 |
$default_gateways = array( 'bacs' );
|
74 |
if ( ! empty( $default_gateways ) && ! in_array( $key, $default_gateways ) ) {
|
75 |
-
$custom_attributes = apply_filters( '
|
76 |
if ( '' == $custom_attributes ) {
|
77 |
$custom_attributes = array();
|
78 |
}
|
79 |
-
$desc_tip = apply_filters( '
|
80 |
} else {
|
81 |
$custom_attributes = array();
|
82 |
$desc_tip = '';
|
72 |
foreach ( $gateways as $key => $gateway ) {
|
73 |
$default_gateways = array( 'bacs' );
|
74 |
if ( ! empty( $default_gateways ) && ! in_array( $key, $default_gateways ) ) {
|
75 |
+
$custom_attributes = apply_filters( 'booster_message', '', 'disabled' );
|
76 |
if ( '' == $custom_attributes ) {
|
77 |
$custom_attributes = array();
|
78 |
}
|
79 |
+
$desc_tip = apply_filters( 'booster_message', '', 'desc_no_link' );
|
80 |
} else {
|
81 |
$custom_attributes = array();
|
82 |
$desc_tip = '';
|
includes/settings/wcj-settings-payment-gateways-per-category.php
CHANGED
@@ -51,12 +51,12 @@ foreach ( $available_gateways as $gateway_id => $gateway ) {
|
|
51 |
wcj_get_settings_as_multiselect_or_text(
|
52 |
array(
|
53 |
'title' => '',
|
54 |
-
'desc' => __( 'Products - Include', 'woocommerce-jetpack' ) . '. ' . apply_filters( '
|
55 |
'desc_tip' => __( 'Show gateway only if there is selected products in cart. Leave blank to disable the option.', 'woocommerce-jetpack' ),
|
56 |
'id' => 'wcj_gateways_per_products_' . $gateway_id,
|
57 |
'default' => '',
|
58 |
'css' => 'width: 450px;',
|
59 |
-
'custom_attributes' => apply_filters( '
|
60 |
),
|
61 |
$products,
|
62 |
$is_multiselect_products
|
@@ -64,12 +64,12 @@ foreach ( $available_gateways as $gateway_id => $gateway ) {
|
|
64 |
wcj_get_settings_as_multiselect_or_text(
|
65 |
array(
|
66 |
'title' => '',
|
67 |
-
'desc' => __( 'Products - Exclude', 'woocommerce-jetpack' ) . '. ' . apply_filters( '
|
68 |
'desc_tip' => __( 'Hide gateway if there is selected products in cart. Leave blank to disable the option.', 'woocommerce-jetpack' ),
|
69 |
'id' => 'wcj_gateways_per_products_excl_' . $gateway_id,
|
70 |
'default' => '',
|
71 |
'css' => 'width: 450px;',
|
72 |
-
'custom_attributes' => apply_filters( '
|
73 |
),
|
74 |
$products,
|
75 |
$is_multiselect_products
|
51 |
wcj_get_settings_as_multiselect_or_text(
|
52 |
array(
|
53 |
'title' => '',
|
54 |
+
'desc' => __( 'Products - Include', 'woocommerce-jetpack' ) . '. ' . apply_filters( 'booster_message', '', 'desc' ),
|
55 |
'desc_tip' => __( 'Show gateway only if there is selected products in cart. Leave blank to disable the option.', 'woocommerce-jetpack' ),
|
56 |
'id' => 'wcj_gateways_per_products_' . $gateway_id,
|
57 |
'default' => '',
|
58 |
'css' => 'width: 450px;',
|
59 |
+
'custom_attributes' => apply_filters( 'booster_message', '', 'disabled' ),
|
60 |
),
|
61 |
$products,
|
62 |
$is_multiselect_products
|
64 |
wcj_get_settings_as_multiselect_or_text(
|
65 |
array(
|
66 |
'title' => '',
|
67 |
+
'desc' => __( 'Products - Exclude', 'woocommerce-jetpack' ) . '. ' . apply_filters( 'booster_message', '', 'desc' ),
|
68 |
'desc_tip' => __( 'Hide gateway if there is selected products in cart. Leave blank to disable the option.', 'woocommerce-jetpack' ),
|
69 |
'id' => 'wcj_gateways_per_products_excl_' . $gateway_id,
|
70 |
'default' => '',
|
71 |
'css' => 'width: 450px;',
|
72 |
+
'custom_attributes' => apply_filters( 'booster_message', '', 'disabled' ),
|
73 |
),
|
74 |
$products,
|
75 |
$is_multiselect_products
|
includes/settings/wcj-settings-payment-gateways.php
CHANGED
@@ -2,7 +2,7 @@
|
|
2 |
/**
|
3 |
* Booster for WooCommerce - Settings - Custom Gateways
|
4 |
*
|
5 |
-
* @version
|
6 |
* @since 2.8.0
|
7 |
* @author Algoritmika Ltd.
|
8 |
*/
|
@@ -21,16 +21,16 @@ $settings = array(
|
|
21 |
),
|
22 |
array(
|
23 |
'title' => __( 'Number of Gateways', 'woocommerce-jetpack' ),
|
24 |
-
'desc' => apply_filters( '
|
25 |
'desc_tip' => __( 'Number of custom payments gateways to be added. All settings for each new gateway are in WooCommerce > Settings > Checkout.', 'woocommerce-jetpack' ),
|
26 |
'id' => 'wcj_custom_payment_gateways_number',
|
27 |
'default' => 1,
|
28 |
'type' => 'number',
|
29 |
-
'custom_attributes' => is_array( apply_filters( '
|
30 |
-
apply_filters( '
|
31 |
),
|
32 |
);
|
33 |
-
for ( $i = 1; $i <= apply_filters( '
|
34 |
$settings = array_merge( $settings, array(
|
35 |
array(
|
36 |
'title' => __( 'Admin Title Custom Gateway', 'woocommerce-jetpack' ) . ' #' . $i,
|
@@ -45,5 +45,22 @@ $settings = array_merge( $settings, array(
|
|
45 |
'type' => 'sectionend',
|
46 |
'id' => 'wcj_custom_payment_gateways_options',
|
47 |
),
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
48 |
) );
|
49 |
return $settings;
|
2 |
/**
|
3 |
* Booster for WooCommerce - Settings - Custom Gateways
|
4 |
*
|
5 |
+
* @version 3.3.0
|
6 |
* @since 2.8.0
|
7 |
* @author Algoritmika Ltd.
|
8 |
*/
|
21 |
),
|
22 |
array(
|
23 |
'title' => __( 'Number of Gateways', 'woocommerce-jetpack' ),
|
24 |
+
'desc' => apply_filters( 'booster_message', '', 'desc' ),
|
25 |
'desc_tip' => __( 'Number of custom payments gateways to be added. All settings for each new gateway are in WooCommerce > Settings > Checkout.', 'woocommerce-jetpack' ),
|
26 |
'id' => 'wcj_custom_payment_gateways_number',
|
27 |
'default' => 1,
|
28 |
'type' => 'number',
|
29 |
+
'custom_attributes' => is_array( apply_filters( 'booster_message', '', 'readonly' ) ) ?
|
30 |
+
apply_filters( 'booster_message', '', 'readonly' ) : array( 'step' => '1', 'min' => '1' ),
|
31 |
),
|
32 |
);
|
33 |
+
for ( $i = 1; $i <= apply_filters( 'booster_option', 1, get_option( 'wcj_custom_payment_gateways_number', 1 ) ); $i++ ) {
|
34 |
$settings = array_merge( $settings, array(
|
35 |
array(
|
36 |
'title' => __( 'Admin Title Custom Gateway', 'woocommerce-jetpack' ) . ' #' . $i,
|
45 |
'type' => 'sectionend',
|
46 |
'id' => 'wcj_custom_payment_gateways_options',
|
47 |
),
|
48 |
+
array(
|
49 |
+
'title' => __( 'Advanced Options', 'woocommerce-jetpack' ),
|
50 |
+
'type' => 'title',
|
51 |
+
'id' => 'wcj_custom_payment_gateways_advanced_options',
|
52 |
+
),
|
53 |
+
array(
|
54 |
+
'title' => __( 'Gateways Input Fields', 'woocommerce-jetpack' ),
|
55 |
+
'desc' => __( 'Add "Delete" button', 'woocommerce-jetpack' ),
|
56 |
+
'desc_tip' => __( 'This will add "Delete" button to custom payment gateways input fields admin order meta box.', 'woocommerce-jetpack' ),
|
57 |
+
'id' => 'wcj_custom_payment_gateways_input_fields_delete_button',
|
58 |
+
'default' => 'no',
|
59 |
+
'type' => 'checkbox',
|
60 |
+
),
|
61 |
+
array(
|
62 |
+
'type' => 'sectionend',
|
63 |
+
'id' => 'wcj_custom_payment_gateways_advanced_options',
|
64 |
+
),
|
65 |
) );
|
66 |
return $settings;
|
includes/settings/wcj-settings-pdf-invoicing-advanced.php
ADDED
@@ -0,0 +1,179 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?php
|
2 |
+
/**
|
3 |
+
* Booster for WooCommerce - Settings - PDF Invoicing - Advanced
|
4 |
+
*
|
5 |
+
* @version 3.3.0
|
6 |
+
* @since 3.3.0
|
7 |
+
* @author Algoritmika Ltd.
|
8 |
+
* @todo (maybe) create "Tools (Options)" submodule
|
9 |
+
*/
|
10 |
+
|
11 |
+
if ( ! defined( 'ABSPATH' ) ) exit; // Exit if accessed directly
|
12 |
+
|
13 |
+
$is_full_fonts = wcj_check_and_maybe_download_tcpdf_fonts();
|
14 |
+
if ( 'yes' === get_option( 'wcj_invoicing_fonts_manager_do_not_download', 'no' ) ) {
|
15 |
+
$fonts_manager_desc = __( 'Fonts download is disabled.', 'woocommerce-jetpack' );
|
16 |
+
} else {
|
17 |
+
if ( $is_full_fonts ) {
|
18 |
+
$fonts_manager_desc = __( 'Fonts are up to date.', 'woocommerce-jetpack' ) . ' ' . sprintf(
|
19 |
+
__( 'Latest successful download or version check was on %s.', 'woocommerce-jetpack' ),
|
20 |
+
date( 'Y-m-d H:i:s', get_option( 'wcj_invoicing_fonts_version_timestamp', null ) )
|
21 |
+
);
|
22 |
+
} else {
|
23 |
+
$fonts_manager_desc = __( 'Fonts are NOT up to date. Please try downloading by pressing the button below.', 'woocommerce-jetpack' );
|
24 |
+
if ( null != get_option( 'wcj_invoicing_fonts_version', null ) ) {
|
25 |
+
$fonts_manager_desc .= ' ' . sprintf(
|
26 |
+
__( 'Latest successful downloaded version is %s.', 'woocommerce-jetpack' ),
|
27 |
+
get_option( 'wcj_invoicing_fonts_version', null )
|
28 |
+
);
|
29 |
+
}
|
30 |
+
if ( null != get_option( 'wcj_invoicing_fonts_version_timestamp', null ) ) {
|
31 |
+
$fonts_manager_desc .= ' ' . sprintf(
|
32 |
+
__( 'Latest download executed on %s.', 'woocommerce-jetpack' ),
|
33 |
+
date( 'Y-m-d H:i:s', get_option( 'wcj_invoicing_fonts_version_timestamp', null ) )
|
34 |
+
);
|
35 |
+
}
|
36 |
+
}
|
37 |
+
}
|
38 |
+
|
39 |
+
return array(
|
40 |
+
array(
|
41 |
+
'type' => 'title',
|
42 |
+
'title' => __( 'Advanced Options', 'woocommerce-jetpack' ),
|
43 |
+
'id' => 'wcj_pdf_invoicing_advanced_options',
|
44 |
+
),
|
45 |
+
array(
|
46 |
+
'title' => __( 'Hide Disabled Docs Settings', 'woocommerce-jetpack' ),
|
47 |
+
'desc' => __( 'Hide', 'woocommerce-jetpack' ),
|
48 |
+
'id' => 'wcj_invoicing_hide_disabled_docs_settings',
|
49 |
+
'default' => 'no',
|
50 |
+
'type' => 'checkbox',
|
51 |
+
),
|
52 |
+
array(
|
53 |
+
'title' => __( 'Replace Admin Order Search with Invoice Search', 'woocommerce-jetpack' ),
|
54 |
+
'desc' => __( 'Enable', 'woocommerce-jetpack' ),
|
55 |
+
'id' => 'wcj_invoicing_admin_search_by_invoice',
|
56 |
+
'default' => 'no',
|
57 |
+
'type' => 'checkbox',
|
58 |
+
),
|
59 |
+
array(
|
60 |
+
'title' => __( 'Advanced', 'woocommerce-jetpack' ) . ': ' . __( 'Default Images Directory', 'woocommerce-jetpack' ),
|
61 |
+
'desc' => __( 'Default images directory in TCPDF library (K_PATH_IMAGES).', 'woocommerce-jetpack' ),
|
62 |
+
'desc_tip' => __( 'Try changing this if you have issues displaying images in page background or header.', 'woocommerce-jetpack' ),
|
63 |
+
'id' => 'wcj_invoicing_general_header_images_path', // mislabelled, should be `wcj_invoicing_general_images_path`
|
64 |
+
'default' => 'empty',
|
65 |
+
'type' => 'select',
|
66 |
+
'options' => array(
|
67 |
+
'empty' => __( 'Empty', 'woocommerce-jetpack' ),
|
68 |
+
'tcpdf_default' => __( 'TCPDF Default', 'woocommerce-jetpack' ),
|
69 |
+
'abspath' => __( 'ABSPATH', 'woocommerce-jetpack' ), // . ': ' . ABSPATH,
|
70 |
+
'document_root' => __( 'DOCUMENT_ROOT', 'woocommerce-jetpack' ), // . ': ' . $_SERVER['DOCUMENT_ROOT'],
|
71 |
+
),
|
72 |
+
),
|
73 |
+
array(
|
74 |
+
'title' => __( 'Advanced', 'woocommerce-jetpack' ) . ': ' . __( 'Temp Directory', 'woocommerce-jetpack' ),
|
75 |
+
'desc_tip' => __( 'Leave blank to use the default temp directory.', 'woocommerce-jetpack' ),
|
76 |
+
'id' => 'wcj_invoicing_general_tmp_dir',
|
77 |
+
'default' => '',
|
78 |
+
'type' => 'text',
|
79 |
+
),
|
80 |
+
array(
|
81 |
+
'type' => 'sectionend',
|
82 |
+
'id' => 'wcj_pdf_invoicing_advanced_options',
|
83 |
+
),
|
84 |
+
// $hook_time = date( 'Y-m-d H:i:s', get_option( 'wcj_download_tcpdf_fonts_hook_timestamp', null ) ); // for debug
|
85 |
+
array(
|
86 |
+
'title' => __( 'Fonts Manager', 'woocommerce-jetpack' ),
|
87 |
+
'desc' => $fonts_manager_desc,
|
88 |
+
'type' => 'title',
|
89 |
+
'id' => 'wcj_invoicing_fonts_manager_styling_options',
|
90 |
+
),
|
91 |
+
array(
|
92 |
+
'title' => __( 'Actions', 'woocommerce-jetpack' ),
|
93 |
+
'type' => 'custom_link',
|
94 |
+
'link' => '<a class="button-primary" href="' . add_query_arg( 'wcj_download_fonts', '1' ) . '">' .
|
95 |
+
( $is_full_fonts ? __( 'Re-download', 'woocommerce-jetpack' ) : __( 'Download', 'woocommerce-jetpack' ) )
|
96 |
+
. '</a>',
|
97 |
+
'id' => 'wcj_invoicing_fonts_manager_styling_option',
|
98 |
+
),
|
99 |
+
array(
|
100 |
+
'title' => __( 'Disable Fonts Download', 'woocommerce-jetpack' ),
|
101 |
+
'desc' => __( 'Disable', 'woocommerce-jetpack' ),
|
102 |
+
'type' => 'checkbox',
|
103 |
+
'default' => 'no',
|
104 |
+
'id' => 'wcj_invoicing_fonts_manager_do_not_download',
|
105 |
+
),
|
106 |
+
array(
|
107 |
+
'type' => 'sectionend',
|
108 |
+
'id' => 'wcj_invoicing_fonts_manager_styling_options',
|
109 |
+
),
|
110 |
+
array(
|
111 |
+
'title' => __( 'General Display Options', 'woocommerce-jetpack' ),
|
112 |
+
'type' => 'title',
|
113 |
+
'id' => 'wcj_invoicing_general_display_options',
|
114 |
+
),
|
115 |
+
array(
|
116 |
+
'title' => __( 'Add PDF Invoices Meta Box to Admin Edit Order Page', 'woocommerce-jetpack' ),
|
117 |
+
'desc' => __( 'Add', 'woocommerce-jetpack' ),
|
118 |
+
'id' => 'wcj_invoicing_add_order_meta_box',
|
119 |
+
'default' => 'yes',
|
120 |
+
'type' => 'checkbox',
|
121 |
+
),
|
122 |
+
array(
|
123 |
+
'type' => 'sectionend',
|
124 |
+
'id' => 'wcj_invoicing_general_display_options',
|
125 |
+
),
|
126 |
+
array(
|
127 |
+
'title' => __( 'Report Tool Options', 'woocommerce-jetpack' ),
|
128 |
+
'type' => 'title',
|
129 |
+
'id' => 'wcj_pdf_invoicing_report_tool_options',
|
130 |
+
),
|
131 |
+
array(
|
132 |
+
'title' => __( 'Reports Filename', 'woocommerce-jetpack' ),
|
133 |
+
'desc' => wcj_message_replaced_values( array( '%site%', '%invoice_type%', '%year%', '%month%' ) ),
|
134 |
+
'id' => 'wcj_pdf_invoicing_report_tool_filename',
|
135 |
+
'default' => '%site%-%invoice_type%-%year%_%month%',
|
136 |
+
'type' => 'text',
|
137 |
+
'class' => 'widefat',
|
138 |
+
),
|
139 |
+
array(
|
140 |
+
'title' => __( 'Report Columns', 'woocommerce-jetpack' ),
|
141 |
+
'desc_tip' => __( 'Leave blank to show all columns.', 'woocommerce-jetpack' ),
|
142 |
+
'id' => 'wcj_pdf_invoicing_report_tool_columns',
|
143 |
+
'default' => $this->get_report_default_columns(),
|
144 |
+
'type' => 'multiselect',
|
145 |
+
'class' => 'chosen_select',
|
146 |
+
'options' => $this->get_report_columns(),
|
147 |
+
),
|
148 |
+
array(
|
149 |
+
'title' => __( 'Tax Percent Precision', 'woocommerce-jetpack' ),
|
150 |
+
'id' => 'wcj_pdf_invoicing_report_tool_tax_percent_precision',
|
151 |
+
'default' => 0,
|
152 |
+
'type' => 'number',
|
153 |
+
'custom_attributes' => array( 'min' => 0 ),
|
154 |
+
),
|
155 |
+
array(
|
156 |
+
'title' => __( 'CSV Separator', 'woocommerce-jetpack' ),
|
157 |
+
'id' => 'wcj_pdf_invoicing_report_tool_csv_separator',
|
158 |
+
'default' => ';',
|
159 |
+
'type' => 'text',
|
160 |
+
),
|
161 |
+
array(
|
162 |
+
'title' => __( 'CSV UTF-8 BOM', 'woocommerce-jetpack' ),
|
163 |
+
'desc' => __( 'Add', 'woocommerce-jetpack' ),
|
164 |
+
'id' => 'wcj_pdf_invoicing_report_tool_csv_add_utf_8_bom',
|
165 |
+
'default' => 'yes',
|
166 |
+
'type' => 'checkbox',
|
167 |
+
),
|
168 |
+
array(
|
169 |
+
'title' => __( 'Replace Periods with Commas in CSV Data', 'woocommerce-jetpack' ),
|
170 |
+
'desc' => __( 'Replace', 'woocommerce-jetpack' ),
|
171 |
+
'id' => 'wcj_pdf_invoicing_report_tool_csv_replace_periods_w_commas',
|
172 |
+
'default' => 'yes',
|
173 |
+
'type' => 'checkbox',
|
174 |
+
),
|
175 |
+
array(
|
176 |
+
'type' => 'sectionend',
|
177 |
+
'id' => 'wcj_pdf_invoicing_report_tool_options',
|
178 |
+
),
|
179 |
+
);
|
includes/settings/wcj-settings-pdf-invoicing-display.php
CHANGED
@@ -2,7 +2,7 @@
|
|
2 |
/**
|
3 |
* Booster for WooCommerce - Settings - PDF Invoicing - Display
|
4 |
*
|
5 |
-
* @version 3.
|
6 |
* @since 2.8.0
|
7 |
* @author Algoritmika Ltd.
|
8 |
* @todo (maybe) add "Save all settings" buttons to each document type
|
@@ -140,22 +140,4 @@ foreach ( $invoice_types as $invoice_type ) {
|
|
140 |
),
|
141 |
) );
|
142 |
}
|
143 |
-
$settings = array_merge( $settings, array(
|
144 |
-
array(
|
145 |
-
'title' => __( 'General Display Options', 'woocommerce-jetpack' ),
|
146 |
-
'type' => 'title',
|
147 |
-
'id' => 'wcj_invoicing_general_display_options',
|
148 |
-
),
|
149 |
-
array(
|
150 |
-
'title' => __( 'Add PDF Invoices Meta Box to Admin Edit Order Page', 'woocommerce-jetpack' ),
|
151 |
-
'desc' => __( 'Add', 'woocommerce-jetpack' ),
|
152 |
-
'id' => 'wcj_invoicing_add_order_meta_box',
|
153 |
-
'default' => 'yes',
|
154 |
-
'type' => 'checkbox',
|
155 |
-
),
|
156 |
-
array(
|
157 |
-
'type' => 'sectionend',
|
158 |
-
'id' => 'wcj_invoicing_general_display_options',
|
159 |
-
),
|
160 |
-
) );
|
161 |
return $settings;
|
2 |
/**
|
3 |
* Booster for WooCommerce - Settings - PDF Invoicing - Display
|
4 |
*
|
5 |
+
* @version 3.3.0
|
6 |
* @since 2.8.0
|
7 |
* @author Algoritmika Ltd.
|
8 |
* @todo (maybe) add "Save all settings" buttons to each document type
|
140 |
),
|
141 |
) );
|
142 |
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
143 |
return $settings;
|
includes/settings/wcj-settings-pdf-invoicing-emails.php
CHANGED
@@ -28,7 +28,7 @@ foreach ( $available_gateways as $key => $gateway ) {
|
|
28 |
'customer_reset_password' => __( 'Customer - Reset Password', 'woocommerce-jetpack' ),
|
29 |
);
|
30 |
if ( wcj_is_module_enabled( 'emails' ) ) {
|
31 |
-
for ( $i = 1; $i <= apply_filters( '
|
32 |
$available_emails[ 'wcj_custom' . '_' . $i ] = __( 'Custom', 'woocommerce-jetpack' ) . ' #' . $i;
|
33 |
}
|
34 |
} */
|
28 |
'customer_reset_password' => __( 'Customer - Reset Password', 'woocommerce-jetpack' ),
|
29 |
);
|
30 |
if ( wcj_is_module_enabled( 'emails' ) ) {
|
31 |
+
for ( $i = 1; $i <= apply_filters( 'booster_option', 1, get_option( 'wcj_emails_custom_emails_total_number', 1 ) ); $i++ ) {
|
32 |
$available_emails[ 'wcj_custom' . '_' . $i ] = __( 'Custom', 'woocommerce-jetpack' ) . ' #' . $i;
|
33 |
}
|
34 |
} */
|
includes/settings/wcj-settings-pdf-invoicing-styling.php
CHANGED
@@ -2,7 +2,7 @@
|
|
2 |
/**
|
3 |
* Booster for WooCommerce - Settings - PDF Invoicing - Styling
|
4 |
*
|
5 |
-
* @version 3.
|
6 |
* @since 2.8.0
|
7 |
* @author Algoritmika Ltd.
|
8 |
*/
|
@@ -81,56 +81,4 @@ foreach ( $invoice_types as $invoice_type ) {
|
|
81 |
),
|
82 |
) );
|
83 |
}
|
84 |
-
if ( 'yes' === get_option( 'wcj_invoicing_fonts_manager_do_not_download', 'no' ) ) {
|
85 |
-
$fonts_manager_desc = __( 'Fonts download is disabled.', 'woocommerce-jetpack' );
|
86 |
-
} else {
|
87 |
-
if ( $is_full_fonts ) {
|
88 |
-
$fonts_manager_desc = __( 'Fonts are up to date.', 'woocommerce-jetpack' ) . ' ' . sprintf(
|
89 |
-
__( 'Latest successful download or version check was on %s.', 'woocommerce-jetpack' ),
|
90 |
-
date( 'Y-m-d H:i:s', get_option( 'wcj_invoicing_fonts_version_timestamp', null ) )
|
91 |
-
);
|
92 |
-
} else {
|
93 |
-
$fonts_manager_desc = __( 'Fonts are NOT up to date. Please try downloading by pressing the button below.', 'woocommerce-jetpack' );
|
94 |
-
if ( null != get_option( 'wcj_invoicing_fonts_version', null ) ) {
|
95 |
-
$fonts_manager_desc .= ' ' . sprintf(
|
96 |
-
__( 'Latest successful downloaded version is %s.', 'woocommerce-jetpack' ),
|
97 |
-
get_option( 'wcj_invoicing_fonts_version', null )
|
98 |
-
);
|
99 |
-
}
|
100 |
-
if ( null != get_option( 'wcj_invoicing_fonts_version_timestamp', null ) ) {
|
101 |
-
$fonts_manager_desc .= ' ' . sprintf(
|
102 |
-
__( 'Latest download executed on %s.', 'woocommerce-jetpack' ),
|
103 |
-
date( 'Y-m-d H:i:s', get_option( 'wcj_invoicing_fonts_version_timestamp', null ) )
|
104 |
-
);
|
105 |
-
}
|
106 |
-
}
|
107 |
-
}
|
108 |
-
// $hook_time = date( 'Y-m-d H:i:s', get_option( 'wcj_download_tcpdf_fonts_hook_timestamp', null ) ); // for debug
|
109 |
-
$settings = array_merge( $settings, array(
|
110 |
-
array(
|
111 |
-
'title' => __( 'Fonts Manager', 'woocommerce-jetpack' ),
|
112 |
-
'desc' => $fonts_manager_desc,
|
113 |
-
'type' => 'title',
|
114 |
-
'id' => 'wcj_invoicing_fonts_manager_styling_options',
|
115 |
-
),
|
116 |
-
array(
|
117 |
-
'title' => __( 'Actions', 'woocommerce-jetpack' ),
|
118 |
-
'type' => 'custom_link',
|
119 |
-
'link' => '<a class="button-primary" href="' . add_query_arg( 'wcj_download_fonts', '1' ) . '">' .
|
120 |
-
( $is_full_fonts ? __( 'Re-download', 'woocommerce-jetpack' ) : __( 'Download', 'woocommerce-jetpack' ) )
|
121 |
-
. '</a>',
|
122 |
-
'id' => 'wcj_invoicing_fonts_manager_styling_option',
|
123 |
-
),
|
124 |
-
array(
|
125 |
-
'title' => __( 'Disable Fonts Download', 'woocommerce-jetpack' ),
|
126 |
-
'desc' => __( 'Disable', 'woocommerce-jetpack' ),
|
127 |
-
'type' => 'checkbox',
|
128 |
-
'default' => 'no',
|
129 |
-
'id' => 'wcj_invoicing_fonts_manager_do_not_download',
|
130 |
-
),
|
131 |
-
array(
|
132 |
-
'type' => 'sectionend',
|
133 |
-
'id' => 'wcj_invoicing_fonts_manager_styling_options',
|
134 |
-
),
|
135 |
-
) );
|
136 |
return $settings;
|
2 |
/**
|
3 |
* Booster for WooCommerce - Settings - PDF Invoicing - Styling
|
4 |
*
|
5 |
+
* @version 3.3.0
|
6 |
* @since 2.8.0
|
7 |
* @author Algoritmika Ltd.
|
8 |
*/
|
81 |
),
|
82 |
) );
|
83 |
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
84 |
return $settings;
|
includes/settings/wcj-settings-pdf-invoicing-templates.php
CHANGED
@@ -2,13 +2,19 @@
|
|
2 |
/**
|
3 |
* Booster for WooCommerce - Settings - Templates
|
4 |
*
|
5 |
-
* @version 3.
|
6 |
* @since 2.8.0
|
7 |
* @author Algoritmika Ltd.
|
8 |
*/
|
9 |
|
10 |
if ( ! defined( 'ABSPATH' ) ) exit; // Exit if accessed directly
|
11 |
|
|
|
|
|
|
|
|
|
|
|
|
|
12 |
$settings = array();
|
13 |
$invoice_types = ( 'yes' === get_option( 'wcj_invoicing_hide_disabled_docs_settings', 'no' ) ) ? wcj_get_enabled_invoice_types() : wcj_get_invoice_types();
|
14 |
foreach ( $invoice_types as $invoice_type ) {
|
@@ -20,6 +26,7 @@ foreach ( $invoice_types as $invoice_type ) {
|
|
20 |
),
|
21 |
array(
|
22 |
'title' => __( 'HTML Template', 'woocommerce-jetpack' ),
|
|
|
23 |
'id' => 'wcj_invoicing_' . $invoice_type['id'] . '_template',
|
24 |
'default' => $this->get_default_template( $invoice_type['id'] ),
|
25 |
'type' => 'textarea',
|
@@ -36,19 +43,4 @@ foreach ( $invoice_types as $invoice_type ) {
|
|
36 |
),
|
37 |
) );
|
38 |
}
|
39 |
-
$settings = array_merge( $settings, array(
|
40 |
-
array(
|
41 |
-
'title' => __( 'Available Shortcodes', 'woocommerce-jetpack' ),
|
42 |
-
'type' => 'title',
|
43 |
-
'desc' => sprintf(
|
44 |
-
__( 'For the list of available shortcodes, please visit %s.', 'woocommerce-jetpack' ),
|
45 |
-
'<a target="_blank" href="https://booster.io/category/shortcodes/?utm_source=shortcodes_list&utm_medium=module_button&utm_campaign=booster_documentation">https://booster.io/category/shortcodes/</a>'
|
46 |
-
),
|
47 |
-
'id' => 'wcj_invoicing_templates_desc',
|
48 |
-
),
|
49 |
-
array(
|
50 |
-
'type' => 'sectionend',
|
51 |
-
'id' => 'wcj_invoicing_templates_desc',
|
52 |
-
),
|
53 |
-
) );
|
54 |
return $settings;
|
2 |
/**
|
3 |
* Booster for WooCommerce - Settings - Templates
|
4 |
*
|
5 |
+
* @version 3.3.0
|
6 |
* @since 2.8.0
|
7 |
* @author Algoritmika Ltd.
|
8 |
*/
|
9 |
|
10 |
if ( ! defined( 'ABSPATH' ) ) exit; // Exit if accessed directly
|
11 |
|
12 |
+
$tip = sprintf( __( 'For the list of available shortcodes, please visit %s.', 'woocommerce-jetpack' ),
|
13 |
+
'<a target="_blank" href="https://booster.io/category/shortcodes/?utm_source=shortcodes_list&utm_medium=module_button&utm_campaign=booster_documentation">' .
|
14 |
+
'https://booster.io/category/shortcodes/' .
|
15 |
+
'</a>'
|
16 |
+
);
|
17 |
+
|
18 |
$settings = array();
|
19 |
$invoice_types = ( 'yes' === get_option( 'wcj_invoicing_hide_disabled_docs_settings', 'no' ) ) ? wcj_get_enabled_invoice_types() : wcj_get_invoice_types();
|
20 |
foreach ( $invoice_types as $invoice_type ) {
|
26 |
),
|
27 |
array(
|
28 |
'title' => __( 'HTML Template', 'woocommerce-jetpack' ),
|
29 |
+
'desc' => $tip,
|
30 |
'id' => 'wcj_invoicing_' . $invoice_type['id'] . '_template',
|
31 |
'default' => $this->get_default_template( $invoice_type['id'] ),
|
32 |
'type' => 'textarea',
|
43 |
),
|
44 |
) );
|
45 |
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
46 |
return $settings;
|
includes/settings/wcj-settings-pdf-invoicing.php
CHANGED
@@ -2,7 +2,7 @@
|
|
2 |
/**
|
3 |
* Booster for WooCommerce - Settings - PDF Invoicing - General
|
4 |
*
|
5 |
-
* @version 3.
|
6 |
* @since 2.8.0
|
7 |
* @author Algoritmika Ltd.
|
8 |
*/
|
@@ -11,7 +11,7 @@ if ( ! defined( 'ABSPATH' ) ) exit; // Exit if accessed directly
|
|
11 |
|
12 |
$settings = array(
|
13 |
array(
|
14 |
-
'title' => __( '
|
15 |
'type' => 'title',
|
16 |
'id' => 'wcj_pdf_invoicing_options',
|
17 |
),
|
@@ -56,94 +56,22 @@ foreach ( $invoice_types as $k => $invoice_type ) {
|
|
56 |
'type' => 'multiselect',
|
57 |
'class' => 'chosen_select',
|
58 |
'options' => $create_on_array,
|
59 |
-
'desc' => ( 0 === $k ) ? '' : apply_filters( '
|
60 |
-
'custom_attributes' => ( 0 === $k ) ? '' : apply_filters( '
|
61 |
),
|
62 |
array(
|
63 |
'id' => 'wcj_invoicing_' . $invoice_type['id'] . '_skip_zero_total',
|
64 |
'default' => 'no',
|
65 |
'type' => 'checkbox',
|
66 |
'desc' => __( 'Do not create if order total equals zero', 'woocommerce-jetpack' ),
|
67 |
-
'custom_attributes' => ( 0 === $k ) ? '' : apply_filters( '
|
68 |
),
|
69 |
) );
|
70 |
}
|
71 |
$settings = array_merge( $settings, array(
|
72 |
-
array(
|
73 |
-
'title' => __( 'Hide Disabled Docs Settings', 'woocommerce-jetpack' ),
|
74 |
-
'desc' => __( 'Hide', 'woocommerce-jetpack' ),
|
75 |
-
'id' => 'wcj_invoicing_hide_disabled_docs_settings',
|
76 |
-
'default' => 'no',
|
77 |
-
'type' => 'checkbox',
|
78 |
-
),
|
79 |
-
array(
|
80 |
-
'title' => __( 'Replace Admin Order Search with Invoice Search', 'woocommerce-jetpack' ),
|
81 |
-
'desc' => __( 'Enable', 'woocommerce-jetpack' ),
|
82 |
-
'id' => 'wcj_invoicing_admin_search_by_invoice',
|
83 |
-
'default' => 'no',
|
84 |
-
'type' => 'checkbox',
|
85 |
-
),
|
86 |
-
array(
|
87 |
-
'title' => __( 'Advanced', 'woocommerce-jetpack' ) . ': ' . __( 'Default Images Directory', 'woocommerce-jetpack' ),
|
88 |
-
'desc' => __( 'Default images directory in TCPDF library (K_PATH_IMAGES).', 'woocommerce-jetpack' ),
|
89 |
-
'desc_tip' => __( 'Try changing this if you have issues displaying images in page background or header.', 'woocommerce-jetpack' ),
|
90 |
-
'id' => 'wcj_invoicing_general_header_images_path', // mislabelled, should be `wcj_invoicing_general_images_path`
|
91 |
-
'default' => 'empty',
|
92 |
-
'type' => 'select',
|
93 |
-
'options' => array(
|
94 |
-
'empty' => __( 'Empty', 'woocommerce-jetpack' ),
|
95 |
-
'tcpdf_default' => __( 'TCPDF Default', 'woocommerce-jetpack' ),
|
96 |
-
'abspath' => __( 'ABSPATH', 'woocommerce-jetpack' ), // . ': ' . ABSPATH,
|
97 |
-
'document_root' => __( 'DOCUMENT_ROOT', 'woocommerce-jetpack' ), // . ': ' . $_SERVER['DOCUMENT_ROOT'],
|
98 |
-
),
|
99 |
-
),
|
100 |
-
array(
|
101 |
-
'title' => __( 'Advanced', 'woocommerce-jetpack' ) . ': ' . __( 'Temp Directory', 'woocommerce-jetpack' ),
|
102 |
-
'desc_tip' => __( 'Leave blank to use the default temp directory.', 'woocommerce-jetpack' ),
|
103 |
-
'id' => 'wcj_invoicing_general_tmp_dir',
|
104 |
-
'default' => '',
|
105 |
-
'type' => 'text',
|
106 |
-
),
|
107 |
array(
|
108 |
'type' => 'sectionend',
|
109 |
'id' => 'wcj_pdf_invoicing_options',
|
110 |
),
|
111 |
-
array(
|
112 |
-
'title' => __( 'Report Tool Options', 'woocommerce-jetpack' ),
|
113 |
-
'type' => 'title',
|
114 |
-
'id' => 'wcj_pdf_invoicing_report_tool_options',
|
115 |
-
),
|
116 |
-
array(
|
117 |
-
'title' => __( 'Reports Filename', 'woocommerce-jetpack' ),
|
118 |
-
'desc' => wcj_message_replaced_values( array( '%site%', '%invoice_type%', '%year%', '%month%' ) ),
|
119 |
-
'id' => 'wcj_pdf_invoicing_report_tool_filename',
|
120 |
-
'default' => '%site%-%invoice_type%-%year%_%month%',
|
121 |
-
'type' => 'text',
|
122 |
-
'class' => 'widefat',
|
123 |
-
),
|
124 |
-
array(
|
125 |
-
'title' => __( 'CSV Separator', 'woocommerce-jetpack' ),
|
126 |
-
'id' => 'wcj_pdf_invoicing_report_tool_csv_separator',
|
127 |
-
'default' => ';',
|
128 |
-
'type' => 'text',
|
129 |
-
),
|
130 |
-
array(
|
131 |
-
'title' => __( 'CSV UTF-8 BOM', 'woocommerce-jetpack' ),
|
132 |
-
'desc' => __( 'Add', 'woocommerce-jetpack' ),
|
133 |
-
'id' => 'wcj_pdf_invoicing_report_tool_csv_add_utf_8_bom',
|
134 |
-
'default' => 'yes',
|
135 |
-
'type' => 'checkbox',
|
136 |
-
),
|
137 |
-
array(
|
138 |
-
'title' => __( 'Replace Periods with Commas in CSV Data', 'woocommerce-jetpack' ),
|
139 |
-
'desc' => __( 'Replace', 'woocommerce-jetpack' ),
|
140 |
-
'id' => 'wcj_pdf_invoicing_report_tool_csv_replace_periods_w_commas',
|
141 |
-
'default' => 'yes',
|
142 |
-
'type' => 'checkbox',
|
143 |
-
),
|
144 |
-
array(
|
145 |
-
'type' => 'sectionend',
|
146 |
-
'id' => 'wcj_pdf_invoicing_report_tool_options',
|
147 |
-
),
|
148 |
) );
|
149 |
return $settings;
|
2 |
/**
|
3 |
* Booster for WooCommerce - Settings - PDF Invoicing - General
|
4 |
*
|
5 |
+
* @version 3.3.0
|
6 |
* @since 2.8.0
|
7 |
* @author Algoritmika Ltd.
|
8 |
*/
|
11 |
|
12 |
$settings = array(
|
13 |
array(
|
14 |
+
'title' => __( 'Documents Options', 'woocommerce-jetpack' ),
|
15 |
'type' => 'title',
|
16 |
'id' => 'wcj_pdf_invoicing_options',
|
17 |
),
|
56 |
'type' => 'multiselect',
|
57 |
'class' => 'chosen_select',
|
58 |
'options' => $create_on_array,
|
59 |
+
'desc' => ( 0 === $k ) ? '' : apply_filters( 'booster_message', '', 'desc' ),
|
60 |
+
'custom_attributes' => ( 0 === $k ) ? '' : apply_filters( 'booster_message', '', 'disabled' ),
|
61 |
),
|
62 |
array(
|
63 |
'id' => 'wcj_invoicing_' . $invoice_type['id'] . '_skip_zero_total',
|
64 |
'default' => 'no',
|
65 |
'type' => 'checkbox',
|
66 |
'desc' => __( 'Do not create if order total equals zero', 'woocommerce-jetpack' ),
|
67 |
+
'custom_attributes' => ( 0 === $k ) ? '' : apply_filters( 'booster_message', '', 'disabled' ),
|
68 |
),
|
69 |
) );
|
70 |
}
|
71 |
$settings = array_merge( $settings, array(
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
72 |
array(
|
73 |
'type' => 'sectionend',
|
74 |
'id' => 'wcj_pdf_invoicing_options',
|
75 |
),
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
76 |
) );
|
77 |
return $settings;
|
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 3.
|
6 |
* @since 2.8.0
|
7 |
* @author Algoritmika Ltd.
|
8 |
*/
|
@@ -108,6 +108,16 @@ $settings = array(
|
|
108 |
'default' => 'yes',
|
109 |
'type' => 'checkbox',
|
110 |
),
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
111 |
array(
|
112 |
'title' => __( 'Price Filter Widget and Sorting by Price Support', 'woocommerce-jetpack' ),
|
113 |
'desc' => __( 'Enable', 'woocommerce-jetpack' ),
|
@@ -179,18 +189,26 @@ $settings = array(
|
|
179 |
'id' => 'wcj_price_by_country_total_groups_number',
|
180 |
'default' => 1,
|
181 |
'type' => 'custom_number',
|
182 |
-
'desc' => apply_filters( '
|
183 |
'custom_attributes' => array_merge(
|
184 |
-
is_array( apply_filters( '
|
185 |
array('step' => '1', 'min' => '1', ) ),
|
186 |
'css' => 'width:100px;',
|
187 |
),
|
188 |
);
|
189 |
-
for ( $i = 1; $i <= apply_filters( '
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
190 |
switch ( get_option( 'wcj_price_by_country_selection', 'comma_list' ) ) {
|
191 |
case 'comma_list':
|
192 |
$settings[] = array(
|
193 |
-
'title' =>
|
|
|
194 |
'desc' => __( 'Countries. List of comma separated country codes.<br>For country codes and predifined sets visit <a href="http://booster.io/country-codes/" target="_blank">http://booster.io/country-codes/</a>', 'woocommerce-jetpack' ),
|
195 |
'id' => 'wcj_price_by_country_exchange_rate_countries_group_' . $i,
|
196 |
'default' => '',
|
@@ -200,7 +218,8 @@ for ( $i = 1; $i <= apply_filters( 'booster_get_option', 1, get_option( 'wcj_pri
|
|
200 |
break;
|
201 |
case 'multiselect':
|
202 |
$settings[] = array(
|
203 |
-
'title' =>
|
|
|
204 |
'id' => 'wcj_price_by_country_countries_group_' . $i,
|
205 |
'default' => '',
|
206 |
'type' => 'multiselect',
|
@@ -210,7 +229,8 @@ for ( $i = 1; $i <= apply_filters( 'booster_get_option', 1, get_option( 'wcj_pri
|
|
210 |
break;
|
211 |
case 'chosen_select':
|
212 |
$settings[] = array(
|
213 |
-
'title' =>
|
|
|
214 |
'id' => 'wcj_price_by_country_countries_group_chosen_select_' . $i,
|
215 |
'default' => '',
|
216 |
'type' => 'multiselect',
|
@@ -228,6 +248,12 @@ for ( $i = 1; $i <= apply_filters( 'booster_get_option', 1, get_option( 'wcj_pri
|
|
228 |
'type' => 'select',
|
229 |
'options' => wcj_get_currencies_names_and_symbols(),
|
230 |
),
|
|
|
|
|
|
|
|
|
|
|
|
|
231 |
) );
|
232 |
}
|
233 |
$settings = array_merge( $settings, array(
|
@@ -249,14 +275,14 @@ $settings = array_merge( $settings, array(
|
|
249 |
'manual' => __( 'Enter Rates Manually', 'woocommerce-jetpack' ),
|
250 |
'auto' => __( 'Automatically via Currency Exchange Rates module', 'woocommerce-jetpack' ),
|
251 |
),
|
252 |
-
'desc' => ( '' == apply_filters( '
|
253 |
? __( 'Visit', 'woocommerce-jetpack' ) . ' <a href="' . admin_url( 'admin.php?page=wc-settings&tab=jetpack&wcj-cat=prices_and_currencies§ion=currency_exchange_rates' ) . '">' . __( 'Currency Exchange Rates module', 'woocommerce-jetpack' ) . '</a>'
|
254 |
-
: apply_filters( '
|
255 |
-
'custom_attributes' => apply_filters( '
|
256 |
),
|
257 |
) );
|
258 |
$currency_from = apply_filters( 'woocommerce_currency', get_option('woocommerce_currency') );
|
259 |
-
for ( $i = 1; $i <= apply_filters( '
|
260 |
$currency_to = get_option( 'wcj_price_by_country_exchange_rate_currency_group_' . $i );
|
261 |
$custom_attributes = array(
|
262 |
'currency_from' => $currency_from,
|
2 |
/**
|
3 |
* Booster for WooCommerce - Settings - Prices and Currencies by Country
|
4 |
*
|
5 |
+
* @version 3.3.0
|
6 |
* @since 2.8.0
|
7 |
* @author Algoritmika Ltd.
|
8 |
*/
|
108 |
'default' => 'yes',
|
109 |
'type' => 'checkbox',
|
110 |
),
|
111 |
+
array(
|
112 |
+
'desc' => __( 'Per product options style', 'woocommerce-jetpack' ),
|
113 |
+
'id' => 'wcj_price_by_country_local_options_style',
|
114 |
+
'default' => 'inline',
|
115 |
+
'type' => 'select',
|
116 |
+
'options' => array(
|
117 |
+
'inline' => __( 'Inline', 'woocommerce-jetpack' ),
|
118 |
+
'meta_box' => __( 'Separate meta box', 'woocommerce-jetpack' ),
|
119 |
+
),
|
120 |
+
),
|
121 |
array(
|
122 |
'title' => __( 'Price Filter Widget and Sorting by Price Support', 'woocommerce-jetpack' ),
|
123 |
'desc' => __( 'Enable', 'woocommerce-jetpack' ),
|
189 |
'id' => 'wcj_price_by_country_total_groups_number',
|
190 |
'default' => 1,
|
191 |
'type' => 'custom_number',
|
192 |
+
'desc' => apply_filters( 'booster_message', '', 'desc' ),
|
193 |
'custom_attributes' => array_merge(
|
194 |
+
is_array( apply_filters( 'booster_message', '', 'readonly' ) ) ? apply_filters( 'booster_message', '', 'readonly' ) : array(),
|
195 |
array('step' => '1', 'min' => '1', ) ),
|
196 |
'css' => 'width:100px;',
|
197 |
),
|
198 |
);
|
199 |
+
for ( $i = 1; $i <= apply_filters( 'booster_option', 1, get_option( 'wcj_price_by_country_total_groups_number', 1 ) ); $i++ ) {
|
200 |
+
$admin_title = get_option( 'wcj_price_by_country_countries_group_admin_title_' . $i, __( 'Group', 'woocommerce-jetpack' ) . ' #' . $i );
|
201 |
+
if ( __( 'Group', 'woocommerce-jetpack' ) . ' #' . $i == $admin_title ) {
|
202 |
+
$admin_title = '';
|
203 |
+
} else {
|
204 |
+
$admin_title = ': ' . $admin_title;
|
205 |
+
}
|
206 |
+
$admin_title = __( 'Group', 'woocommerce-jetpack' ) . ' #' . $i . $admin_title;
|
207 |
switch ( get_option( 'wcj_price_by_country_selection', 'comma_list' ) ) {
|
208 |
case 'comma_list':
|
209 |
$settings[] = array(
|
210 |
+
'title' => $admin_title . ( '' != get_option( 'wcj_price_by_country_exchange_rate_countries_group_' . $i, '' ) ?
|
211 |
+
' (' . count( explode( ',', get_option( 'wcj_price_by_country_exchange_rate_countries_group_' . $i, '' ) ) ) . ')' : '' ),
|
212 |
'desc' => __( 'Countries. List of comma separated country codes.<br>For country codes and predifined sets visit <a href="http://booster.io/country-codes/" target="_blank">http://booster.io/country-codes/</a>', 'woocommerce-jetpack' ),
|
213 |
'id' => 'wcj_price_by_country_exchange_rate_countries_group_' . $i,
|
214 |
'default' => '',
|
218 |
break;
|
219 |
case 'multiselect':
|
220 |
$settings[] = array(
|
221 |
+
'title' => $admin_title . ( is_array( get_option( 'wcj_price_by_country_countries_group_' . $i, '' ) ) ?
|
222 |
+
' (' . count( get_option( 'wcj_price_by_country_countries_group_' . $i, '' ) ) . ')' : '' ),
|
223 |
'id' => 'wcj_price_by_country_countries_group_' . $i,
|
224 |
'default' => '',
|
225 |
'type' => 'multiselect',
|
229 |
break;
|
230 |
case 'chosen_select':
|
231 |
$settings[] = array(
|
232 |
+
'title' => $admin_title . ( is_array( get_option( 'wcj_price_by_country_countries_group_chosen_select_' . $i, '' ) ) ?
|
233 |
+
' (' . count( get_option( 'wcj_price_by_country_countries_group_chosen_select_' . $i, '' ) ) . ')' : '' ),
|
234 |
'id' => 'wcj_price_by_country_countries_group_chosen_select_' . $i,
|
235 |
'default' => '',
|
236 |
'type' => 'multiselect',
|
248 |
'type' => 'select',
|
249 |
'options' => wcj_get_currencies_names_and_symbols(),
|
250 |
),
|
251 |
+
array(
|
252 |
+
'desc' => __( 'Admin Title', 'woocommerce-jetpack' ),
|
253 |
+
'id' => 'wcj_price_by_country_countries_group_admin_title_' . $i,
|
254 |
+
'default' => __( 'Group', 'woocommerce-jetpack' ) . ' #' . $i,
|
255 |
+
'type' => 'text',
|
256 |
+
),
|
257 |
) );
|
258 |
}
|
259 |
$settings = array_merge( $settings, array(
|
275 |
'manual' => __( 'Enter Rates Manually', 'woocommerce-jetpack' ),
|
276 |
'auto' => __( 'Automatically via Currency Exchange Rates module', 'woocommerce-jetpack' ),
|
277 |
),
|
278 |
+
'desc' => ( '' == apply_filters( 'booster_message', '', 'desc' ) )
|
279 |
? __( 'Visit', 'woocommerce-jetpack' ) . ' <a href="' . admin_url( 'admin.php?page=wc-settings&tab=jetpack&wcj-cat=prices_and_currencies§ion=currency_exchange_rates' ) . '">' . __( 'Currency Exchange Rates module', 'woocommerce-jetpack' ) . '</a>'
|
280 |
+
: apply_filters( 'booster_message', '', 'desc' ),
|
281 |
+
'custom_attributes' => apply_filters( 'booster_message', '', 'disabled' ),
|
282 |
),
|
283 |
) );
|
284 |
$currency_from = apply_filters( 'woocommerce_currency', get_option('woocommerce_currency') );
|
285 |
+
for ( $i = 1; $i <= apply_filters( 'booster_option', 1, get_option( 'wcj_price_by_country_total_groups_number', 1 ) ); $i++ ) {
|
286 |
$currency_to = get_option( 'wcj_price_by_country_exchange_rate_currency_group_' . $i );
|
287 |
$custom_attributes = array(
|
288 |
'currency_from' => $currency_from,
|
includes/settings/wcj-settings-price-by-user-role.php
CHANGED
@@ -133,11 +133,11 @@ $settings = array_merge( $settings, array(
|
|
133 |
'type' => 'multiselect',
|
134 |
'class' => 'chosen_select',
|
135 |
'options' => $product_cats_options,
|
136 |
-
'desc' => apply_filters( '
|
137 |
-
'custom_attributes' => apply_filters( '
|
138 |
),
|
139 |
) );
|
140 |
-
$categories = apply_filters( '
|
141 |
if ( ! empty( $categories ) ) {
|
142 |
foreach ( $categories as $category ) {
|
143 |
foreach ( wcj_get_user_roles() as $role_key => $role_data ) {
|
133 |
'type' => 'multiselect',
|
134 |
'class' => 'chosen_select',
|
135 |
'options' => $product_cats_options,
|
136 |
+
'desc' => apply_filters( 'booster_message', '', 'desc' ),
|
137 |
+
'custom_attributes' => apply_filters( 'booster_message', '', 'disabled' ),
|
138 |
),
|
139 |
) );
|
140 |
+
$categories = apply_filters( 'booster_option', '', get_option( 'wcj_price_by_user_role_categories', '' ) );
|
141 |
if ( ! empty( $categories ) ) {
|
142 |
foreach ( $categories as $category ) {
|
143 |
foreach ( wcj_get_user_roles() as $role_key => $role_data ) {
|
includes/settings/wcj-settings-price-formats.php
CHANGED
@@ -44,14 +44,14 @@ $settings = array(
|
|
44 |
'id' => 'wcj_price_formats_total_number',
|
45 |
'default' => 1,
|
46 |
'type' => 'custom_number',
|
47 |
-
'desc' => apply_filters( '
|
48 |
'custom_attributes' => array_merge(
|
49 |
-
is_array( apply_filters( '
|
50 |
array( 'step' => '1', 'min' => '0', )
|
51 |
),
|
52 |
),
|
53 |
);
|
54 |
-
for ( $i = 1; $i <= apply_filters( '
|
55 |
$currency_symbol = wcj_get_currency_symbol( get_option( 'wcj_price_formats_currency_' . $i, get_woocommerce_currency() ) );
|
56 |
$settings = array_merge( $settings, array(
|
57 |
array(
|
44 |
'id' => 'wcj_price_formats_total_number',
|
45 |
'default' => 1,
|
46 |
'type' => 'custom_number',
|
47 |
+
'desc' => apply_filters( 'booster_message', '', 'desc' ),
|
48 |
'custom_attributes' => array_merge(
|
49 |
+
is_array( apply_filters( 'booster_message', '', 'readonly' ) ) ? apply_filters( 'booster_message', '', 'readonly' ) : array(),
|
50 |
array( 'step' => '1', 'min' => '0', )
|
51 |
),
|
52 |
),
|
53 |
);
|
54 |
+
for ( $i = 1; $i <= apply_filters( 'booster_option', 1, get_option( 'wcj_price_formats_total_number', 1 ) ); $i++ ) {
|
55 |
$currency_symbol = wcj_get_currency_symbol( get_option( 'wcj_price_formats_currency_' . $i, get_woocommerce_currency() ) );
|
56 |
$settings = array_merge( $settings, array(
|
57 |
array(
|
includes/settings/wcj-settings-price-labels.php
CHANGED
@@ -2,22 +2,34 @@
|
|
2 |
/**
|
3 |
* Booster for WooCommerce - Settings - Custom Price Labels
|
4 |
*
|
5 |
-
* @version
|
6 |
* @since 2.8.0
|
7 |
* @author Algoritmika Ltd.
|
8 |
*/
|
9 |
|
10 |
if ( ! defined( 'ABSPATH' ) ) exit; // Exit if accessed directly
|
11 |
|
12 |
-
$product_cats =
|
13 |
-
$
|
14 |
-
foreach ( $product_categories as $product_category ) {
|
15 |
-
$product_cats[ $product_category->term_id ] = $product_category->name;
|
16 |
-
}
|
17 |
-
|
18 |
-
$products = wcj_get_products();
|
19 |
|
20 |
return array(
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
21 |
array(
|
22 |
'title' => __( 'Custom Price Labels - Globally', 'woocommerce-jetpack' ),
|
23 |
'type' => 'title',
|
@@ -30,9 +42,9 @@ return array(
|
|
30 |
'id' => 'wcj_global_price_labels_add_before_text',
|
31 |
'default' => '',
|
32 |
'type' => 'custom_textarea',
|
33 |
-
'desc' => apply_filters( '
|
34 |
-
'custom_attributes' => apply_filters( '
|
35 |
-
'css' => 'width:
|
36 |
),
|
37 |
array(
|
38 |
'title' => __( 'Add after the price', 'woocommerce-jetpack' ),
|
@@ -40,7 +52,7 @@ return array(
|
|
40 |
'id' => 'wcj_global_price_labels_add_after_text',
|
41 |
'default' => '',
|
42 |
'type' => 'custom_textarea',
|
43 |
-
'css' => 'width:
|
44 |
),
|
45 |
array(
|
46 |
'title' => __( 'Add between regular and sale prices', 'woocommerce-jetpack' ),
|
@@ -48,20 +60,19 @@ return array(
|
|
48 |
'id' => 'wcj_global_price_labels_between_regular_and_sale_text',
|
49 |
'default' => '',
|
50 |
'type' => 'custom_textarea',
|
51 |
-
'desc' => apply_filters( '
|
52 |
-
'custom_attributes' => apply_filters( '
|
53 |
-
'css' => 'width:
|
54 |
),
|
55 |
array(
|
56 |
'title' => __( 'Remove from price', 'woocommerce-jetpack' ),
|
57 |
-
// 'desc' => __( 'Enable the Custom Price Labels feature', 'woocommerce-jetpack' ),
|
58 |
'desc_tip' => __( 'Enter text to remove from all products prices. Leave blank to disable.', 'woocommerce-jetpack' ),
|
59 |
'id' => 'wcj_global_price_labels_remove_text',
|
60 |
'default' => '',
|
61 |
'type' => 'custom_textarea',
|
62 |
-
'desc' => apply_filters( '
|
63 |
-
'custom_attributes' => apply_filters( '
|
64 |
-
'css' => 'width:
|
65 |
),
|
66 |
array(
|
67 |
'title' => __( 'Replace in price', 'woocommerce-jetpack' ),
|
@@ -69,10 +80,10 @@ return array(
|
|
69 |
'id' => 'wcj_global_price_labels_replace_text',
|
70 |
'default' => '',
|
71 |
'type' => 'custom_textarea',
|
72 |
-
'desc' => apply_filters( '
|
73 |
'custom_attributes'
|
74 |
-
=> apply_filters( '
|
75 |
-
'css' => 'width:
|
76 |
),
|
77 |
array(
|
78 |
'title' => '',
|
@@ -80,9 +91,9 @@ return array(
|
|
80 |
'id' => 'wcj_global_price_labels_replace_with_text',
|
81 |
'default' => '',
|
82 |
'type' => 'custom_textarea',
|
83 |
-
'desc' => apply_filters( '
|
84 |
-
'custom_attributes' => apply_filters( '
|
85 |
-
'css' => 'width:
|
86 |
),
|
87 |
array(
|
88 |
'title' => __( 'Instead of the price', 'woocommerce-jetpack' ),
|
@@ -90,7 +101,7 @@ return array(
|
|
90 |
'id' => 'wcj_global_price_labels_instead_text',
|
91 |
'default' => '',
|
92 |
'type' => 'custom_textarea',
|
93 |
-
'css' => 'width:
|
94 |
),
|
95 |
array(
|
96 |
'title' => __( 'Products - Include', 'woocommerce-jetpack' ),
|
@@ -99,7 +110,6 @@ return array(
|
|
99 |
'default' => '',
|
100 |
'type' => 'multiselect',
|
101 |
'class' => 'chosen_select',
|
102 |
-
'css' => 'width: 450px;',
|
103 |
'options' => $products,
|
104 |
),
|
105 |
array(
|
@@ -109,7 +119,6 @@ return array(
|
|
109 |
'default' => '',
|
110 |
'type' => 'multiselect',
|
111 |
'class' => 'chosen_select',
|
112 |
-
'css' => 'width: 450px;',
|
113 |
'options' => $products,
|
114 |
),
|
115 |
array(
|
@@ -119,7 +128,6 @@ return array(
|
|
119 |
'default' => '',
|
120 |
'type' => 'multiselect',
|
121 |
'class' => 'chosen_select',
|
122 |
-
'css' => 'width: 450px;',
|
123 |
'options' => $product_cats,
|
124 |
),
|
125 |
array(
|
@@ -129,7 +137,6 @@ return array(
|
|
129 |
'default' => '',
|
130 |
'type' => 'multiselect',
|
131 |
'class' => 'chosen_select',
|
132 |
-
'css' => 'width: 450px;',
|
133 |
'options' => $product_cats,
|
134 |
),
|
135 |
array(
|
@@ -139,27 +146,10 @@ return array(
|
|
139 |
'default' => '',
|
140 |
'type' => 'multiselect',
|
141 |
'class' => 'chosen_select',
|
142 |
-
'css' => 'width: 450px;',
|
143 |
'options' => array_merge( wc_get_product_types(), array( 'variation' => __( 'Variable product\'s variation', 'woocommerce-jetpack' ) ) ),
|
144 |
),
|
145 |
array(
|
146 |
'type' => 'sectionend',
|
147 |
'id' => 'wcj_global_price_labels_options',
|
148 |
),
|
149 |
-
array(
|
150 |
-
'title' => __( 'Custom Price Labels - Per Product', 'woocommerce-jetpack' ),
|
151 |
-
'type' => 'title',
|
152 |
-
'id' => 'wcj_local_price_labels_options'
|
153 |
-
),
|
154 |
-
array(
|
155 |
-
'title' => __( 'Enable', 'woocommerce-jetpack' ),
|
156 |
-
'desc' => __( 'This will add metaboxes to each product\'s admin edit page.', 'woocommerce-jetpack' ),
|
157 |
-
'id' => 'wcj_local_price_labels_enabled',
|
158 |
-
'default' => 'yes',
|
159 |
-
'type' => 'checkbox',
|
160 |
-
),
|
161 |
-
array(
|
162 |
-
'type' => 'sectionend',
|
163 |
-
'id' => 'wcj_local_price_labels_options',
|
164 |
-
),
|
165 |
);
|
2 |
/**
|
3 |
* Booster for WooCommerce - Settings - Custom Price Labels
|
4 |
*
|
5 |
+
* @version 3.3.0
|
6 |
* @since 2.8.0
|
7 |
* @author Algoritmika Ltd.
|
8 |
*/
|
9 |
|
10 |
if ( ! defined( 'ABSPATH' ) ) exit; // Exit if accessed directly
|
11 |
|
12 |
+
$product_cats = wcj_get_terms( 'product_cat' );
|
13 |
+
$products = wcj_get_products();
|
|
|
|
|
|
|
|
|
|
|
14 |
|
15 |
return array(
|
16 |
+
array(
|
17 |
+
'title' => __( 'Custom Price Labels - Per Product', 'woocommerce-jetpack' ),
|
18 |
+
'type' => 'title',
|
19 |
+
'id' => 'wcj_local_price_labels_options'
|
20 |
+
),
|
21 |
+
array(
|
22 |
+
'title' => __( 'Per Product', 'woocommerce-jetpack' ),
|
23 |
+
'desc' => __( 'Enable', 'woocommerce-jetpack' ),
|
24 |
+
'desc_tip' => __( 'This will add metaboxes to each product\'s admin edit page.', 'woocommerce-jetpack' ),
|
25 |
+
'id' => 'wcj_local_price_labels_enabled',
|
26 |
+
'default' => 'yes',
|
27 |
+
'type' => 'checkbox',
|
28 |
+
),
|
29 |
+
array(
|
30 |
+
'type' => 'sectionend',
|
31 |
+
'id' => 'wcj_local_price_labels_options',
|
32 |
+
),
|
33 |
array(
|
34 |
'title' => __( 'Custom Price Labels - Globally', 'woocommerce-jetpack' ),
|
35 |
'type' => 'title',
|
42 |
'id' => 'wcj_global_price_labels_add_before_text',
|
43 |
'default' => '',
|
44 |
'type' => 'custom_textarea',
|
45 |
+
'desc' => apply_filters( 'booster_message', '', 'desc' ),
|
46 |
+
'custom_attributes' => apply_filters( 'booster_message', '', 'readonly' ),
|
47 |
+
'css' => 'width:100%;',
|
48 |
),
|
49 |
array(
|
50 |
'title' => __( 'Add after the price', 'woocommerce-jetpack' ),
|
52 |
'id' => 'wcj_global_price_labels_add_after_text',
|
53 |
'default' => '',
|
54 |
'type' => 'custom_textarea',
|
55 |
+
'css' => 'width:100%;',
|
56 |
),
|
57 |
array(
|
58 |
'title' => __( 'Add between regular and sale prices', 'woocommerce-jetpack' ),
|
60 |
'id' => 'wcj_global_price_labels_between_regular_and_sale_text',
|
61 |
'default' => '',
|
62 |
'type' => 'custom_textarea',
|
63 |
+
'desc' => apply_filters( 'booster_message', '', 'desc' ),
|
64 |
+
'custom_attributes' => apply_filters( 'booster_message', '', 'readonly' ),
|
65 |
+
'css' => 'width:100%;',
|
66 |
),
|
67 |
array(
|
68 |
'title' => __( 'Remove from price', 'woocommerce-jetpack' ),
|
|
|
69 |
'desc_tip' => __( 'Enter text to remove from all products prices. Leave blank to disable.', 'woocommerce-jetpack' ),
|
70 |
'id' => 'wcj_global_price_labels_remove_text',
|
71 |
'default' => '',
|
72 |
'type' => 'custom_textarea',
|
73 |
+
'desc' => apply_filters( 'booster_message', '', 'desc' ),
|
74 |
+
'custom_attributes' => apply_filters( 'booster_message', '', 'readonly' ),
|
75 |
+
'css' => 'width:100%;',
|
76 |
),
|
77 |
array(
|
78 |
'title' => __( 'Replace in price', 'woocommerce-jetpack' ),
|
80 |
'id' => 'wcj_global_price_labels_replace_text',
|
81 |
'default' => '',
|
82 |
'type' => 'custom_textarea',
|
83 |
+
'desc' => apply_filters( 'booster_message', '', 'desc' ),
|
84 |
'custom_attributes'
|
85 |
+
=> apply_filters( 'booster_message', '', 'readonly' ),
|
86 |
+
'css' => 'width:100%;',
|
87 |
),
|
88 |
array(
|
89 |
'title' => '',
|
91 |
'id' => 'wcj_global_price_labels_replace_with_text',
|
92 |
'default' => '',
|
93 |
'type' => 'custom_textarea',
|
94 |
+
'desc' => apply_filters( 'booster_message', '', 'desc' ),
|
95 |
+
'custom_attributes' => apply_filters( 'booster_message', '', 'readonly' ),
|
96 |
+
'css' => 'width:100%;',
|
97 |
),
|
98 |
array(
|
99 |
'title' => __( 'Instead of the price', 'woocommerce-jetpack' ),
|
101 |
'id' => 'wcj_global_price_labels_instead_text',
|
102 |
'default' => '',
|
103 |
'type' => 'custom_textarea',
|
104 |
+
'css' => 'width:100%;',
|
105 |
),
|
106 |
array(
|
107 |
'title' => __( 'Products - Include', 'woocommerce-jetpack' ),
|
110 |
'default' => '',
|
111 |
'type' => 'multiselect',
|
112 |
'class' => 'chosen_select',
|
|
|
113 |
'options' => $products,
|
114 |
),
|
115 |
array(
|
119 |
'default' => '',
|
120 |
'type' => 'multiselect',
|
121 |
'class' => 'chosen_select',
|
|
|
122 |
'options' => $products,
|
123 |
),
|
124 |
array(
|
128 |
'default' => '',
|
129 |
'type' => 'multiselect',
|
130 |
'class' => 'chosen_select',
|
|
|
131 |
'options' => $product_cats,
|
132 |
),
|
133 |
array(
|
137 |
'default' => '',
|
138 |
'type' => 'multiselect',
|
139 |
'class' => 'chosen_select',
|
|
|
140 |
'options' => $product_cats,
|
141 |
),
|
142 |
array(
|
146 |
'default' => '',
|
147 |
'type' => 'multiselect',
|
148 |
'class' => 'chosen_select',
|
|
|
149 |
'options' => array_merge( wc_get_product_types(), array( 'variation' => __( 'Variable product\'s variation', 'woocommerce-jetpack' ) ) ),
|
150 |
),
|
151 |
array(
|
152 |
'type' => 'sectionend',
|
153 |
'id' => 'wcj_global_price_labels_options',
|
154 |
),
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
155 |
);
|
includes/settings/wcj-settings-product-add-to-cart.php
CHANGED
@@ -2,7 +2,7 @@
|
|
2 |
/**
|
3 |
* Booster for WooCommerce - Settings - Product Add To Cart
|
4 |
*
|
5 |
-
* @version 3.
|
6 |
* @since 2.8.0
|
7 |
* @author Algoritmika Ltd.
|
8 |
*/
|
@@ -37,12 +37,12 @@ return array(
|
|
37 |
),
|
38 |
array(
|
39 |
'title' => __( 'Per Product', 'woocommerce-jetpack' ),
|
40 |
-
'desc_tip' => __( 'This will add meta boxes to each product\'s edit page.', 'woocommerce-jetpack' ) . ' ' . apply_filters( '
|
41 |
'desc' => __( 'Enable', 'woocommerce-jetpack' ),
|
42 |
'id' => 'wcj_add_to_cart_redirect_per_product_enabled',
|
43 |
'default' => 'no',
|
44 |
'type' => 'checkbox',
|
45 |
-
'custom_attributes' => apply_filters( '
|
46 |
),
|
47 |
array(
|
48 |
'type' => 'sectionend',
|
@@ -81,8 +81,8 @@ return array(
|
|
81 |
'id' => 'wcj_add_to_cart_variable_as_radio_enabled',
|
82 |
'default' => 'no',
|
83 |
'type' => 'checkbox',
|
84 |
-
'custom_attributes' => apply_filters( '
|
85 |
-
'desc_tip' => apply_filters( '
|
86 |
),
|
87 |
array(
|
88 |
'title' => __( 'Variation Label Template', 'woocommerce-jetpack' ),
|
@@ -91,8 +91,8 @@ return array(
|
|
91 |
'default' => '%variation_title% (%variation_price%)',
|
92 |
'type' => 'custom_textarea',
|
93 |
'css' => 'width:99%;',
|
94 |
-
'custom_attributes' => apply_filters( '
|
95 |
-
'desc_tip' => apply_filters( '
|
96 |
),
|
97 |
array(
|
98 |
'title' => __( 'Variation Description Template', 'woocommerce-jetpack' ),
|
@@ -101,8 +101,8 @@ return array(
|
|
101 |
'default' => '<br><small>%variation_description%</small>',
|
102 |
'type' => 'custom_textarea',
|
103 |
'css' => 'width:99%;',
|
104 |
-
'custom_attributes' => apply_filters( '
|
105 |
-
'desc_tip' => apply_filters( '
|
106 |
),
|
107 |
array(
|
108 |
'title' => __( 'Variation Radio Input td Style', 'woocommerce-jetpack' ),
|
@@ -110,8 +110,8 @@ return array(
|
|
110 |
'default' => 'width:10%;',
|
111 |
'type' => 'text',
|
112 |
'css' => 'width:99%;',
|
113 |
-
'custom_attributes' => apply_filters( '
|
114 |
-
'desc_tip' => apply_filters( '
|
115 |
),
|
116 |
array(
|
117 |
'type' => 'sectionend',
|
@@ -168,37 +168,6 @@ return array(
|
|
168 |
'type' => 'sectionend',
|
169 |
'id' => 'wcj_add_to_cart_quantity_options',
|
170 |
),
|
171 |
-
array(
|
172 |
-
'title' => __( 'Add to Cart Button Disabling', 'woocommerce-jetpack' ),
|
173 |
-
'type' => 'title',
|
174 |
-
'id' => 'wcj_add_to_cart_button_options',
|
175 |
-
),
|
176 |
-
array(
|
177 |
-
'title' => __( 'Disable Add to Cart Buttons on per Product Basis', 'woocommerce-jetpack' ),
|
178 |
-
'desc' => __( 'Enable', 'woocommerce-jetpack' ),
|
179 |
-
'desc_tip' => __( 'This will add meta box to each product\'s edit page', 'woocommerce-jetpack' ),
|
180 |
-
'id' => 'wcj_add_to_cart_button_per_product_enabled',
|
181 |
-
'default' => 'no',
|
182 |
-
'type' => 'checkbox',
|
183 |
-
),
|
184 |
-
array(
|
185 |
-
'title' => __( 'Disable Add to Cart Buttons on All Category/Archives Pages', 'woocommerce-jetpack' ),
|
186 |
-
'desc' => __( 'Disable Buttons', 'woocommerce-jetpack' ),
|
187 |
-
'id' => 'wcj_add_to_cart_button_disable_archives',
|
188 |
-
'default' => 'no',
|
189 |
-
'type' => 'checkbox',
|
190 |
-
),
|
191 |
-
array(
|
192 |
-
'title' => __( 'Disable Add to Cart Buttons on All Single Product Pages', 'woocommerce-jetpack' ),
|
193 |
-
'desc' => __( 'Disable Buttons', 'woocommerce-jetpack' ),
|
194 |
-
'id' => 'wcj_add_to_cart_button_disable_single',
|
195 |
-
'default' => 'no',
|
196 |
-
'type' => 'checkbox',
|
197 |
-
),
|
198 |
-
array(
|
199 |
-
'type' => 'sectionend',
|
200 |
-
'id' => 'wcj_add_to_cart_button_options',
|
201 |
-
),
|
202 |
array(
|
203 |
'title' => __( 'Add to Cart Button Custom URL', 'woocommerce-jetpack' ),
|
204 |
'type' => 'title',
|
@@ -268,8 +237,8 @@ return array(
|
|
268 |
'id' => 'wcj_product_add_to_cart_message_continue_shopping_enabled',
|
269 |
'default' => 'no',
|
270 |
'type' => 'checkbox',
|
271 |
-
'custom_attributes' => apply_filters( '
|
272 |
-
'desc_tip' => apply_filters( '
|
273 |
),
|
274 |
array(
|
275 |
'id' => 'wcj_product_add_to_cart_message_continue_shopping_text',
|
@@ -282,8 +251,8 @@ return array(
|
|
282 |
'id' => 'wcj_product_add_to_cart_message_view_cart_enabled',
|
283 |
'default' => 'no',
|
284 |
'type' => 'checkbox',
|
285 |
-
'custom_attributes' => apply_filters( '
|
286 |
-
'desc_tip' => apply_filters( '
|
287 |
),
|
288 |
array(
|
289 |
'id' => 'wcj_product_add_to_cart_message_view_cart_text',
|
@@ -294,4 +263,80 @@ return array(
|
|
294 |
'type' => 'sectionend',
|
295 |
'id' => 'wcj_product_add_to_cart_message_options',
|
296 |
),
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
297 |
);
|
2 |
/**
|
3 |
* Booster for WooCommerce - Settings - Product Add To Cart
|
4 |
*
|
5 |
+
* @version 3.3.0
|
6 |
* @since 2.8.0
|
7 |
* @author Algoritmika Ltd.
|
8 |
*/
|
37 |
),
|
38 |
array(
|
39 |
'title' => __( 'Per Product', 'woocommerce-jetpack' ),
|
40 |
+
'desc_tip' => __( 'This will add meta boxes to each product\'s edit page.', 'woocommerce-jetpack' ) . ' ' . apply_filters( 'booster_message', '', 'desc' ),
|
41 |
'desc' => __( 'Enable', 'woocommerce-jetpack' ),
|
42 |
'id' => 'wcj_add_to_cart_redirect_per_product_enabled',
|
43 |
'default' => 'no',
|
44 |
'type' => 'checkbox',
|
45 |
+
'custom_attributes' => apply_filters( 'booster_message', '', 'disabled' ),
|
46 |
),
|
47 |
array(
|
48 |
'type' => 'sectionend',
|
81 |
'id' => 'wcj_add_to_cart_variable_as_radio_enabled',
|
82 |
'default' => 'no',
|
83 |
'type' => 'checkbox',
|
84 |
+
'custom_attributes' => apply_filters( 'booster_message', '', 'disabled' ),
|
85 |
+
'desc_tip' => apply_filters( 'booster_message', '', 'desc' ),
|
86 |
),
|
87 |
array(
|
88 |
'title' => __( 'Variation Label Template', 'woocommerce-jetpack' ),
|
91 |
'default' => '%variation_title% (%variation_price%)',
|
92 |
'type' => 'custom_textarea',
|
93 |
'css' => 'width:99%;',
|
94 |
+
'custom_attributes' => apply_filters( 'booster_message', '', 'readonly' ),
|
95 |
+
'desc_tip' => apply_filters( 'booster_message', '', 'desc_no_link' ),
|
96 |
),
|
97 |
array(
|
98 |
'title' => __( 'Variation Description Template', 'woocommerce-jetpack' ),
|
101 |
'default' => '<br><small>%variation_description%</small>',
|
102 |
'type' => 'custom_textarea',
|
103 |
'css' => 'width:99%;',
|
104 |
+
'custom_attributes' => apply_filters( 'booster_message', '', 'readonly' ),
|
105 |
+
'desc_tip' => apply_filters( 'booster_message', '', 'desc_no_link' ),
|
106 |
),
|
107 |
array(
|
108 |
'title' => __( 'Variation Radio Input td Style', 'woocommerce-jetpack' ),
|
110 |
'default' => 'width:10%;',
|
111 |
'type' => 'text',
|
112 |
'css' => 'width:99%;',
|
113 |
+
'custom_attributes' => apply_filters( 'booster_message', '', 'readonly' ),
|
114 |
+
'desc_tip' => apply_filters( 'booster_message', '', 'desc_no_link' ),
|
115 |
),
|
116 |
array(
|
117 |
'type' => 'sectionend',
|
168 |
'type' => 'sectionend',
|
169 |
'id' => 'wcj_add_to_cart_quantity_options',
|
170 |
),
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
171 |
array(
|
172 |
'title' => __( 'Add to Cart Button Custom URL', 'woocommerce-jetpack' ),
|
173 |
'type' => 'title',
|
237 |
'id' => 'wcj_product_add_to_cart_message_continue_shopping_enabled',
|
238 |
'default' => 'no',
|
239 |
'type' => 'checkbox',
|
240 |
+
'custom_attributes' => apply_filters( 'booster_message', '', 'disabled' ),
|
241 |
+
'desc_tip' => apply_filters( 'booster_message', '', 'desc' ),
|
242 |
),
|
243 |
array(
|
244 |
'id' => 'wcj_product_add_to_cart_message_continue_shopping_text',
|
251 |
'id' => 'wcj_product_add_to_cart_message_view_cart_enabled',
|
252 |
'default' => 'no',
|
253 |
'type' => 'checkbox',
|
254 |
+
'custom_attributes' => apply_filters( 'booster_message', '', 'disabled' ),
|
255 |
+
'desc_tip' => apply_filters( 'booster_message', '', 'desc' ),
|
256 |
),
|
257 |
array(
|
258 |
'id' => 'wcj_product_add_to_cart_message_view_cart_text',
|
263 |
'type' => 'sectionend',
|
264 |
'id' => 'wcj_product_add_to_cart_message_options',
|
265 |
),
|
266 |
+
array(
|
267 |
+
'title' => __( 'Add to Cart Button Position Options', 'woocommerce-jetpack' ),
|
268 |
+
'type' => 'title',
|
269 |
+
'id' => 'wcj_product_add_to_cart_button_position_options',
|
270 |
+
),
|
271 |
+
array(
|
272 |
+
'title' => __( 'Add to Cart Button Position', 'woocommerce-jetpack' ),
|
273 |
+
'desc' => '<strong>' . __( 'Enable section', 'woocommerce-jetpack' ) . '</strong>',
|
274 |
+
'id' => 'wcj_product_add_to_cart_button_position_enabled',
|
275 |
+
'default' => 'no',
|
276 |
+
'type' => 'checkbox',
|
277 |
+
),
|
278 |
+
array(
|
279 |
+
'title' => __( 'Reposition Button on Single Product Pages', 'woocommerce-jetpack' ),
|
280 |
+
'desc' => __( 'Enable', 'woocommerce-jetpack' ),
|
281 |
+
'id' => 'wcj_product_add_to_cart_button_position_single_enabled',
|
282 |
+
'default' => 'no',
|
283 |
+
'type' => 'checkbox',
|
284 |
+
),
|
285 |
+
array(
|
286 |
+
'title' => __( 'Position', 'woocommerce-jetpack' ),
|
287 |
+
'id' => 'wcj_product_add_to_cart_button_position_hook_single',
|
288 |
+
'default' => 'woocommerce_single_product_summary',
|
289 |
+
'type' => 'select',
|
290 |
+
'options' => array(
|
291 |
+
'woocommerce_before_single_product_summary' => __( 'Before single product summary', 'woocommerce-jetpack' ),
|
292 |
+
'woocommerce_single_product_summary' => __( 'Inside single product summary', 'woocommerce-jetpack' ),
|
293 |
+
'woocommerce_after_single_product_summary' => __( 'After single product summary', 'woocommerce-jetpack' ),
|
294 |
+
),
|
295 |
+
),
|
296 |
+
array(
|
297 |
+
'desc' => __( 'Priority', 'woocommerce-jetpack' ),
|
298 |
+
'desc_tip' => sprintf( __( 'Here are the default WooCommerce priorities for "Inside single product summary" position: %s', 'woocommerce-jetpack' ),
|
299 |
+
implode( ', ', array(
|
300 |
+
'5 - ' . __( 'Title', 'woocommerce-jetpack' ),
|
301 |
+
'10 - ' . __( 'Rating', 'woocommerce-jetpack' ),
|
302 |
+
'10 - ' . __( 'Price', 'woocommerce-jetpack' ),
|
303 |
+
'20 - ' . __( 'Excerpt', 'woocommerce-jetpack' ),
|
304 |
+
'40 - ' . __( 'Meta', 'woocommerce-jetpack' ),
|
305 |
+
'50 - ' . __( 'Sharing', 'woocommerce-jetpack' ),
|
306 |
+
'30 - ' . __( 'Add to Cart', 'woocommerce-jetpack' ),
|
307 |
+
)
|
308 |
+
) ),
|
309 |
+
'id' => 'wcj_product_add_to_cart_button_position_single',
|
310 |
+
'default' => 30,
|
311 |
+
'type' => 'number',
|
312 |
+
),
|
313 |
+
array(
|
314 |
+
'title' => __( 'Reposition Button on Category/Archive Pages', 'woocommerce-jetpack' ),
|
315 |
+
'desc' => __( 'Enable', 'woocommerce-jetpack' ),
|
316 |
+
'id' => 'wcj_product_add_to_cart_button_position_loop_enabled',
|
317 |
+
'default' => 'no',
|
318 |
+
'type' => 'checkbox',
|
319 |
+
),
|
320 |
+
array(
|
321 |
+
'title' => __( 'Position', 'woocommerce-jetpack' ),
|
322 |
+
'id' => 'wcj_product_add_to_cart_button_position_hook_loop',
|
323 |
+
'default' => 'woocommerce_after_shop_loop_item',
|
324 |
+
'type' => 'select',
|
325 |
+
'options' => array(
|
326 |
+
'woocommerce_before_shop_loop_item' => __( 'Before product', 'woocommerce-jetpack' ),
|
327 |
+
'woocommerce_before_shop_loop_item_title' => __( 'Before product title', 'woocommerce-jetpack' ),
|
328 |
+
'woocommerce_after_shop_loop_item' => __( 'After product', 'woocommerce-jetpack' ),
|
329 |
+
'woocommerce_after_shop_loop_item_title' => __( 'After product title', 'woocommerce-jetpack' ),
|
330 |
+
),
|
331 |
+
),
|
332 |
+
array(
|
333 |
+
'desc' => __( 'Priority', 'woocommerce-jetpack' ),
|
334 |
+
'id' => 'wcj_product_add_to_cart_button_position_loop',
|
335 |
+
'default' => 10,
|
336 |
+
'type' => 'number',
|
337 |
+
),
|
338 |
+
array(
|
339 |
+
'type' => 'sectionend',
|
340 |
+
'id' => 'wcj_product_add_to_cart_button_position_options',
|
341 |
+
),
|
342 |
);
|
includes/settings/wcj-settings-product-addons.php
CHANGED
@@ -2,16 +2,24 @@
|
|
2 |
/**
|
3 |
* Booster for WooCommerce - Settings - Product Addons
|
4 |
*
|
5 |
-
* @version 3.
|
6 |
* @since 2.8.0
|
7 |
* @author Algoritmika Ltd.
|
8 |
* @todo add "frontend template" options
|
|
|
9 |
*/
|
10 |
|
11 |
if ( ! defined( 'ABSPATH' ) ) exit; // Exit if accessed directly
|
12 |
|
13 |
$products = wcj_get_products();
|
14 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
15 |
$settings = array();
|
16 |
$settings = array_merge( $settings, array(
|
17 |
array(
|
@@ -52,14 +60,14 @@ $settings = array_merge( $settings, array(
|
|
52 |
'id' => 'wcj_product_addons_all_products_total_number',
|
53 |
'default' => 1,
|
54 |
'type' => 'custom_number',
|
55 |
-
'desc' => apply_filters( '
|
56 |
'custom_attributes' => array_merge(
|
57 |
-
is_array( apply_filters( '
|
58 |
array( 'step' => '1', 'min' => '0', )
|
59 |
),
|
60 |
),
|
61 |
) );
|
62 |
-
$total_number = apply_filters( '
|
63 |
for ( $i = 1; $i <= $total_number; $i++ ) {
|
64 |
$settings = array_merge( $settings, array(
|
65 |
array(
|
@@ -74,7 +82,6 @@ for ( $i = 1; $i <= $total_number; $i++ ) {
|
|
74 |
'id' => 'wcj_product_addons_all_products_type_' . $i,
|
75 |
'default' => 'checkbox',
|
76 |
'type' => 'select',
|
77 |
-
'css' => 'width:300px;',
|
78 |
'options' => array(
|
79 |
'checkbox' => __( 'Checkbox', 'woocommerce-jetpack' ),
|
80 |
'radio' => __( 'Radio Buttons', 'woocommerce-jetpack' ),
|
@@ -87,7 +94,6 @@ for ( $i = 1; $i <= $total_number; $i++ ) {
|
|
87 |
'id' => 'wcj_product_addons_all_products_title_' . $i,
|
88 |
'default' => '',
|
89 |
'type' => 'textarea',
|
90 |
-
'css' => 'width:300px;',
|
91 |
),
|
92 |
array(
|
93 |
'desc' => __( 'Label(s)', 'woocommerce-jetpack' ),
|
@@ -95,7 +101,6 @@ for ( $i = 1; $i <= $total_number; $i++ ) {
|
|
95 |
'id' => 'wcj_product_addons_all_products_label_' . $i,
|
96 |
'default' => '',
|
97 |
'type' => 'textarea',
|
98 |
-
'css' => 'width:300px;',
|
99 |
),
|
100 |
array(
|
101 |
'desc' => __( 'Price(s)', 'woocommerce-jetpack' ),
|
@@ -103,7 +108,6 @@ for ( $i = 1; $i <= $total_number; $i++ ) {
|
|
103 |
'id' => 'wcj_product_addons_all_products_price_' . $i,
|
104 |
'default' => 0,
|
105 |
'type' => 'textarea',
|
106 |
-
'css' => 'width:300px;',
|
107 |
'custom_attributes' => array( 'step' => '0.0001' ),
|
108 |
),
|
109 |
array(
|
@@ -112,7 +116,6 @@ for ( $i = 1; $i <= $total_number; $i++ ) {
|
|
112 |
'id' => 'wcj_product_addons_all_products_tooltip_' . $i,
|
113 |
'default' => '',
|
114 |
'type' => 'textarea',
|
115 |
-
'css' => 'width:300px;',
|
116 |
),
|
117 |
array(
|
118 |
'desc' => __( 'Default Value', 'woocommerce-jetpack' ),
|
@@ -120,7 +123,6 @@ for ( $i = 1; $i <= $total_number; $i++ ) {
|
|
120 |
'id' => 'wcj_product_addons_all_products_default_' . $i,
|
121 |
'default' => '',
|
122 |
'type' => 'text',
|
123 |
-
'css' => 'width:300px;',
|
124 |
),
|
125 |
array(
|
126 |
'desc' => __( 'Placeholder', 'woocommerce-jetpack' ),
|
@@ -128,7 +130,6 @@ for ( $i = 1; $i <= $total_number; $i++ ) {
|
|
128 |
'id' => 'wcj_product_addons_all_products_placeholder_' . $i,
|
129 |
'default' => '',
|
130 |
'type' => 'text',
|
131 |
-
'css' => 'width:300px;',
|
132 |
),
|
133 |
array(
|
134 |
'desc' => __( 'Is Required', 'woocommerce-jetpack' ),
|
@@ -144,6 +145,13 @@ for ( $i = 1; $i <= $total_number; $i++ ) {
|
|
144 |
'class' => 'chosen_select',
|
145 |
'options' => $products,
|
146 |
),
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
147 |
) );
|
148 |
}
|
149 |
$settings = array_merge( $settings, array(
|
@@ -165,13 +173,21 @@ $settings = array_merge( $settings, array(
|
|
165 |
'default' => 'no',
|
166 |
'type' => 'checkbox',
|
167 |
),
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
168 |
array(
|
169 |
'title' => __( 'Addon in Cart Format', 'woocommerce-jetpack' ),
|
170 |
'desc' => __( 'Before', 'woocommerce-jetpack' ),
|
171 |
'id' => 'wcj_product_addons_cart_format_start',
|
172 |
'default' => '<dl class="variation">',
|
173 |
'type' => 'textarea',
|
174 |
-
'css' => 'width:300px;',
|
175 |
),
|
176 |
array(
|
177 |
'desc' => __( 'Each Addon', 'woocommerce-jetpack' ),
|
@@ -179,14 +195,12 @@ $settings = array_merge( $settings, array(
|
|
179 |
'id' => 'wcj_product_addons_cart_format_each_addon',
|
180 |
'default' => '<dt>%addon_label%:</dt><dd>%addon_price%</dd>',
|
181 |
'type' => 'textarea',
|
182 |
-
'css' => 'width:300px;',
|
183 |
),
|
184 |
array(
|
185 |
'desc' => __( 'After', 'woocommerce-jetpack' ),
|
186 |
'id' => 'wcj_product_addons_cart_format_end',
|
187 |
'default' => '</dl>',
|
188 |
'type' => 'textarea',
|
189 |
-
'css' => 'width:300px;',
|
190 |
),
|
191 |
array(
|
192 |
'title' => __( 'Addon in Order Details Table Format', 'woocommerce-jetpack' ),
|
@@ -194,7 +208,6 @@ $settings = array_merge( $settings, array(
|
|
194 |
'id' => 'wcj_product_addons_order_details_format_start',
|
195 |
'default' => '',
|
196 |
'type' => 'textarea',
|
197 |
-
'css' => 'width:300px;',
|
198 |
),
|
199 |
array(
|
200 |
'desc' => __( 'Each Addon', 'woocommerce-jetpack' ),
|
@@ -202,14 +215,12 @@ $settings = array_merge( $settings, array(
|
|
202 |
'id' => 'wcj_product_addons_order_details_format_each_addon',
|
203 |
'default' => ' | %addon_label%: %addon_price%',
|
204 |
'type' => 'textarea',
|
205 |
-
'css' => 'width:300px;',
|
206 |
),
|
207 |
array(
|
208 |
'desc' => __( 'After', 'woocommerce-jetpack' ),
|
209 |
'id' => 'wcj_product_addons_order_details_format_end',
|
210 |
'default' => '',
|
211 |
'type' => 'textarea',
|
212 |
-
'css' => 'width:300px;',
|
213 |
),
|
214 |
array(
|
215 |
'title' => __( 'Admin Order Page', 'woocommerce-jetpack' ),
|
2 |
/**
|
3 |
* Booster for WooCommerce - Settings - Product Addons
|
4 |
*
|
5 |
+
* @version 3.3.0
|
6 |
* @since 2.8.0
|
7 |
* @author Algoritmika Ltd.
|
8 |
* @todo add "frontend template" options
|
9 |
+
* @todo (maybe) add `woocommerce_payment_complete` to `$qty_triggers` (also maybe add this trigger to "PDF Invoicing" module)
|
10 |
*/
|
11 |
|
12 |
if ( ! defined( 'ABSPATH' ) ) exit; // Exit if accessed directly
|
13 |
|
14 |
$products = wcj_get_products();
|
15 |
|
16 |
+
$qty_triggers = array();
|
17 |
+
$qty_triggers['woocommerce_new_order'] = __( 'New order', 'woocommerce-jetpack' );
|
18 |
+
$order_statuses = wcj_get_order_statuses();
|
19 |
+
foreach ( $order_statuses as $status => $desc ) {
|
20 |
+
$qty_triggers[ 'woocommerce_order_status_' . $status ] = sprintf( __( 'Order status "%s"', 'woocommerce-jetpack' ), $desc );
|
21 |
+
}
|
22 |
+
|
23 |
$settings = array();
|
24 |
$settings = array_merge( $settings, array(
|
25 |
array(
|
60 |
'id' => 'wcj_product_addons_all_products_total_number',
|
61 |
'default' => 1,
|
62 |
'type' => 'custom_number',
|
63 |
+
'desc' => apply_filters( 'booster_message', '', 'desc' ),
|
64 |
'custom_attributes' => array_merge(
|
65 |
+
is_array( apply_filters( 'booster_message', '', 'readonly' ) ) ? apply_filters( 'booster_message', '', 'readonly' ) : array(),
|
66 |
array( 'step' => '1', 'min' => '0', )
|
67 |
),
|
68 |
),
|
69 |
) );
|
70 |
+
$total_number = apply_filters( 'booster_option', 1, get_option( 'wcj_product_addons_all_products_total_number', 1 ) );
|
71 |
for ( $i = 1; $i <= $total_number; $i++ ) {
|
72 |
$settings = array_merge( $settings, array(
|
73 |
array(
|
82 |
'id' => 'wcj_product_addons_all_products_type_' . $i,
|
83 |
'default' => 'checkbox',
|
84 |
'type' => 'select',
|
|
|
85 |
'options' => array(
|
86 |
'checkbox' => __( 'Checkbox', 'woocommerce-jetpack' ),
|
87 |
'radio' => __( 'Radio Buttons', 'woocommerce-jetpack' ),
|
94 |
'id' => 'wcj_product_addons_all_products_title_' . $i,
|
95 |
'default' => '',
|
96 |
'type' => 'textarea',
|
|
|
97 |
),
|
98 |
array(
|
99 |
'desc' => __( 'Label(s)', 'woocommerce-jetpack' ),
|
101 |
'id' => 'wcj_product_addons_all_products_label_' . $i,
|
102 |
'default' => '',
|
103 |
'type' => 'textarea',
|
|
|
104 |
),
|
105 |
array(
|
106 |
'desc' => __( 'Price(s)', 'woocommerce-jetpack' ),
|
108 |
'id' => 'wcj_product_addons_all_products_price_' . $i,
|
109 |
'default' => 0,
|
110 |
'type' => 'textarea',
|
|
|
111 |
'custom_attributes' => array( 'step' => '0.0001' ),
|
112 |
),
|
113 |
array(
|
116 |
'id' => 'wcj_product_addons_all_products_tooltip_' . $i,
|
117 |
'default' => '',
|
118 |
'type' => 'textarea',
|
|
|
119 |
),
|
120 |
array(
|
121 |
'desc' => __( 'Default Value', 'woocommerce-jetpack' ),
|
123 |
'id' => 'wcj_product_addons_all_products_default_' . $i,
|
124 |
'default' => '',
|
125 |
'type' => 'text',
|
|
|
126 |
),
|
127 |
array(
|
128 |
'desc' => __( 'Placeholder', 'woocommerce-jetpack' ),
|
130 |
'id' => 'wcj_product_addons_all_products_placeholder_' . $i,
|
131 |
'default' => '',
|
132 |
'type' => 'text',
|
|
|
133 |
),
|
134 |
array(
|
135 |
'desc' => __( 'Is Required', 'woocommerce-jetpack' ),
|
145 |
'class' => 'chosen_select',
|
146 |
'options' => $products,
|
147 |
),
|
148 |
+
array(
|
149 |
+
'desc' => __( 'Quantity', 'woocommerce-jetpack' ),
|
150 |
+
'desc_tip' => __( 'Leave empty to disable quantity calculation for the addon. When set to zero - addon will be disabled.', 'woocommerce-jetpack' ),
|
151 |
+
'id' => 'wcj_product_addons_all_products_qty_' . $i,
|
152 |
+
'default' => '',
|
153 |
+
'type' => 'text',
|
154 |
+
),
|
155 |
) );
|
156 |
}
|
157 |
$settings = array_merge( $settings, array(
|
173 |
'default' => 'no',
|
174 |
'type' => 'checkbox',
|
175 |
),
|
176 |
+
array(
|
177 |
+
'title' => __( 'Decrease Quantity', 'woocommerce-jetpack' ),
|
178 |
+
'desc_tip' => __( 'If you select multiple triggers to decrease quantity, it will be decreased only once (on whichever trigger is executed first).', 'woocommerce-jetpack' ),
|
179 |
+
'id' => 'wcj_product_addons_qty_decrease_triggers',
|
180 |
+
'default' => '',
|
181 |
+
'type' => 'multiselect',
|
182 |
+
'class' => 'chosen_select',
|
183 |
+
'options' => $qty_triggers,
|
184 |
+
),
|
185 |
array(
|
186 |
'title' => __( 'Addon in Cart Format', 'woocommerce-jetpack' ),
|
187 |
'desc' => __( 'Before', 'woocommerce-jetpack' ),
|
188 |
'id' => 'wcj_product_addons_cart_format_start',
|
189 |
'default' => '<dl class="variation">',
|
190 |
'type' => 'textarea',
|
|
|
191 |
),
|
192 |
array(
|
193 |
'desc' => __( 'Each Addon', 'woocommerce-jetpack' ),
|
195 |
'id' => 'wcj_product_addons_cart_format_each_addon',
|
196 |
'default' => '<dt>%addon_label%:</dt><dd>%addon_price%</dd>',
|
197 |
'type' => 'textarea',
|
|
|
198 |
),
|
199 |
array(
|
200 |
'desc' => __( 'After', 'woocommerce-jetpack' ),
|
201 |
'id' => 'wcj_product_addons_cart_format_end',
|
202 |
'default' => '</dl>',
|
203 |
'type' => 'textarea',
|
|
|
204 |
),
|
205 |
array(
|
206 |
'title' => __( 'Addon in Order Details Table Format', 'woocommerce-jetpack' ),
|
208 |
'id' => 'wcj_product_addons_order_details_format_start',
|
209 |
'default' => '',
|
210 |
'type' => 'textarea',
|
|
|
211 |
),
|
212 |
array(
|
213 |
'desc' => __( 'Each Addon', 'woocommerce-jetpack' ),
|
215 |
'id' => 'wcj_product_addons_order_details_format_each_addon',
|
216 |
'default' => ' | %addon_label%: %addon_price%',
|
217 |
'type' => 'textarea',
|
|
|
218 |
),
|
219 |
array(
|
220 |
'desc' => __( 'After', 'woocommerce-jetpack' ),
|
221 |
'id' => 'wcj_product_addons_order_details_format_end',
|
222 |
'default' => '',
|
223 |
'type' => 'textarea',
|
|
|
224 |
),
|
225 |
array(
|
226 |
'title' => __( 'Admin Order Page', 'woocommerce-jetpack' ),
|
includes/settings/wcj-settings-product-bulk-meta-editor.php
CHANGED
@@ -25,12 +25,12 @@ return array(
|
|
25 |
),
|
26 |
array(
|
27 |
'title' => __( 'Add Variations to Products List', 'woocommerce-jetpack' ),
|
28 |
-
'desc_tip' => __( 'When enabled - variations of variable products will be added to the list. If you want to edit only main product\'s meta, disable this option.', 'woocommerce-jetpack' ) . ' ' . apply_filters( '
|
29 |
'desc' => __( 'Enable', 'woocommerce-jetpack' ),
|
30 |
'id' => 'wcj_product_bulk_meta_editor_add_variations',
|
31 |
'default' => 'no',
|
32 |
'type' => 'checkbox',
|
33 |
-
'custom_attributes' => apply_filters( '
|
34 |
),
|
35 |
array(
|
36 |
'title' => __( 'Additional Columns', 'woocommerce-jetpack' ),
|
25 |
),
|
26 |
array(
|
27 |
'title' => __( 'Add Variations to Products List', 'woocommerce-jetpack' ),
|
28 |
+
'desc_tip' => __( 'When enabled - variations of variable products will be added to the list. If you want to edit only main product\'s meta, disable this option.', 'woocommerce-jetpack' ) . ' ' . apply_filters( 'booster_message', '', 'desc' ),
|
29 |
'desc' => __( 'Enable', 'woocommerce-jetpack' ),
|
30 |
'id' => 'wcj_product_bulk_meta_editor_add_variations',
|
31 |
'default' => 'no',
|
32 |
'type' => 'checkbox',
|
33 |
+
'custom_attributes' => apply_filters( 'booster_message', '', 'disabled' ),
|
34 |
),
|
35 |
array(
|
36 |
'title' => __( 'Additional Columns', 'woocommerce-jetpack' ),
|
includes/settings/wcj-settings-product-by-country.php
CHANGED
@@ -54,7 +54,7 @@ return array(
|
|
54 |
'desc' => sprintf(
|
55 |
__( 'If "Manually" option is selected, you can add country selection drop box to frontend with "%s" widget or %s shortcode.', 'woocommerce-jetpack' ),
|
56 |
__( 'Booster - Selector', 'woocommerce-jetpack' ),
|
57 |
-
'<code>' . '[wcj_selector selector_type="country"]' . '</code>' ) . '<br>' . apply_filters( '
|
58 |
'id' => 'wcj_product_by_country_selection_method',
|
59 |
'default' => 'by_ip',
|
60 |
'type' => 'select',
|
@@ -62,7 +62,7 @@ return array(
|
|
62 |
'by_ip' => __( 'Automatically by IP', 'woocommerce-jetpack' ),
|
63 |
'manual' => __( 'Manually', 'woocommerce-jetpack' ),
|
64 |
),
|
65 |
-
'custom_attributes' => apply_filters( '
|
66 |
'css' => 'min-width:250px;',
|
67 |
),
|
68 |
array(
|
@@ -78,7 +78,7 @@ return array(
|
|
78 |
'title' => __( 'Country List', 'woocommerce-jetpack' ),
|
79 |
'desc_tip' => __( 'This option sets which countries will be added to list in product\'s edit page. Possible values: "All countries" or "WooCommerce selling locations".', 'woocommerce-jetpack' ),
|
80 |
'desc' => sprintf( __( 'If "WooCommerce selling locations" option is selected, country list will be set by <a href="%s">WooCommerce > Settings > General > Selling location(s)</a>.', 'woocommerce-jetpack' ),
|
81 |
-
admin_url( 'admin.php?page=wc-settings' ) ) . '<br>' . apply_filters( '
|
82 |
'id' => 'wcj_product_by_country_country_list',
|
83 |
'default' => 'all',
|
84 |
'type' => 'select',
|
@@ -86,7 +86,7 @@ return array(
|
|
86 |
'all' => __( 'All countries', 'woocommerce-jetpack' ),
|
87 |
'wc' => __( 'WooCommerce selling locations', 'woocommerce-jetpack' ),
|
88 |
),
|
89 |
-
'custom_attributes' => apply_filters( '
|
90 |
'css' => 'min-width:250px;',
|
91 |
),
|
92 |
array(
|
@@ -100,8 +100,8 @@ return array(
|
|
100 |
'invisible' => __( 'Set invisible countries', 'woocommerce-jetpack' ),
|
101 |
'both' => __( 'Set both', 'woocommerce-jetpack' ),
|
102 |
),
|
103 |
-
'desc' => '<br>' . apply_filters( '
|
104 |
-
'custom_attributes' => apply_filters( '
|
105 |
'css' => 'min-width:250px;',
|
106 |
),
|
107 |
array(
|
54 |
'desc' => sprintf(
|
55 |
__( 'If "Manually" option is selected, you can add country selection drop box to frontend with "%s" widget or %s shortcode.', 'woocommerce-jetpack' ),
|
56 |
__( 'Booster - Selector', 'woocommerce-jetpack' ),
|
57 |
+
'<code>' . '[wcj_selector selector_type="country"]' . '</code>' ) . '<br>' . apply_filters( 'booster_message', '', 'desc' ),
|
58 |
'id' => 'wcj_product_by_country_selection_method',
|
59 |
'default' => 'by_ip',
|
60 |
'type' => 'select',
|
62 |
'by_ip' => __( 'Automatically by IP', 'woocommerce-jetpack' ),
|
63 |
'manual' => __( 'Manually', 'woocommerce-jetpack' ),
|
64 |
),
|
65 |
+
'custom_attributes' => apply_filters( 'booster_message', '', 'disabled' ),
|
66 |
'css' => 'min-width:250px;',
|
67 |
),
|
68 |
array(
|
78 |
'title' => __( 'Country List', 'woocommerce-jetpack' ),
|
79 |
'desc_tip' => __( 'This option sets which countries will be added to list in product\'s edit page. Possible values: "All countries" or "WooCommerce selling locations".', 'woocommerce-jetpack' ),
|
80 |
'desc' => sprintf( __( 'If "WooCommerce selling locations" option is selected, country list will be set by <a href="%s">WooCommerce > Settings > General > Selling location(s)</a>.', 'woocommerce-jetpack' ),
|
81 |
+
admin_url( 'admin.php?page=wc-settings' ) ) . '<br>' . apply_filters( 'booster_message', '', 'desc' ),
|
82 |
'id' => 'wcj_product_by_country_country_list',
|
83 |
'default' => 'all',
|
84 |
'type' => 'select',
|
86 |
'all' => __( 'All countries', 'woocommerce-jetpack' ),
|
87 |
'wc' => __( 'WooCommerce selling locations', 'woocommerce-jetpack' ),
|
88 |
),
|
89 |
+
'custom_attributes' => apply_filters( 'booster_message', '', 'disabled' ),
|
90 |
'css' => 'min-width:250px;',
|
91 |
),
|
92 |
array(
|
100 |
'invisible' => __( 'Set invisible countries', 'woocommerce-jetpack' ),
|
101 |
'both' => __( 'Set both', 'woocommerce-jetpack' ),
|
102 |
),
|
103 |
+
'desc' => '<br>' . apply_filters( 'booster_message', '', 'desc' ),
|
104 |
+
'custom_attributes' => apply_filters( 'booster_message', '', 'disabled' ),
|
105 |
'css' => 'min-width:250px;',
|
106 |
),
|
107 |
array(
|
includes/settings/wcj-settings-product-by-date.php
CHANGED
@@ -70,24 +70,24 @@ $settings = array_merge( $settings, array(
|
|
70 |
'desc' => __( 'Message when product is not available by date.', 'woocommerce-jetpack' ) .
|
71 |
' ' . wcj_message_replaced_values( array( '%product_title%', '%date_this_month%' ) ) . '.' .
|
72 |
' ' . __( 'You can also use shortcodes here.', 'woocommerce-jetpack' ) .
|
73 |
-
' ' . apply_filters( '
|
74 |
'id' => 'wcj_product_by_date_unavailable_message',
|
75 |
'default' => __( '<p style="color:red;">%product_title% is available only on %date_this_month% this month.</p>', 'woocommerce-jetpack' ),
|
76 |
'type' => 'custom_textarea',
|
77 |
'css' => 'width:66%;min-width:300px;',
|
78 |
-
'custom_attributes' => apply_filters( '
|
79 |
),
|
80 |
array(
|
81 |
'title' => __( 'Message (Month Off)', 'woocommerce-jetpack' ),
|
82 |
'desc' => __( 'Message when product is not available by date (month off).', 'woocommerce-jetpack' ) .
|
83 |
' ' . wcj_message_replaced_values( array( '%product_title%' ) ) . '.' .
|
84 |
' ' . __( 'You can also use shortcodes here.', 'woocommerce-jetpack' ) .
|
85 |
-
' ' . apply_filters( '
|
86 |
'id' => 'wcj_product_by_date_unavailable_message_month_off',
|
87 |
'default' => __( '<p style="color:red;">%product_title% is not available this month.</p>', 'woocommerce-jetpack' ),
|
88 |
'type' => 'custom_textarea',
|
89 |
'css' => 'width:66%;min-width:300px;',
|
90 |
-
'custom_attributes' => apply_filters( '
|
91 |
),
|
92 |
array(
|
93 |
'type' => 'sectionend',
|
70 |
'desc' => __( 'Message when product is not available by date.', 'woocommerce-jetpack' ) .
|
71 |
' ' . wcj_message_replaced_values( array( '%product_title%', '%date_this_month%' ) ) . '.' .
|
72 |
' ' . __( 'You can also use shortcodes here.', 'woocommerce-jetpack' ) .
|
73 |
+
' ' . apply_filters( 'booster_message', '', 'desc' ),
|
74 |
'id' => 'wcj_product_by_date_unavailable_message',
|
75 |
'default' => __( '<p style="color:red;">%product_title% is available only on %date_this_month% this month.</p>', 'woocommerce-jetpack' ),
|
76 |
'type' => 'custom_textarea',
|
77 |
'css' => 'width:66%;min-width:300px;',
|
78 |
+
'custom_attributes' => apply_filters( 'booster_message', '', 'readonly' ),
|
79 |
),
|
80 |
array(
|
81 |
'title' => __( 'Message (Month Off)', 'woocommerce-jetpack' ),
|
82 |
'desc' => __( 'Message when product is not available by date (month off).', 'woocommerce-jetpack' ) .
|
83 |
' ' . wcj_message_replaced_values( array( '%product_title%' ) ) . '.' .
|
84 |
' ' . __( 'You can also use shortcodes here.', 'woocommerce-jetpack' ) .
|
85 |
+
' ' . apply_filters( 'booster_message', '', 'desc' ),
|
86 |
'id' => 'wcj_product_by_date_unavailable_message_month_off',
|
87 |
'default' => __( '<p style="color:red;">%product_title% is not available this month.</p>', 'woocommerce-jetpack' ),
|
88 |
'type' => 'custom_textarea',
|
89 |
'css' => 'width:66%;min-width:300px;',
|
90 |
+
'custom_attributes' => apply_filters( 'booster_message', '', 'readonly' ),
|
91 |
),
|
92 |
array(
|
93 |
'type' => 'sectionend',
|
includes/settings/wcj-settings-product-by-time.php
CHANGED
@@ -70,24 +70,24 @@ $settings = array_merge( $settings, array(
|
|
70 |
'desc' => __( 'Message when product is not available by time.', 'woocommerce-jetpack' ) .
|
71 |
' ' . __( 'Replaceable values:', 'woocommerce-jetpack' ) . ' ' . '<code>%product_title%</code>' . ', ' . '<code>%time_today%</code>' . '.' .
|
72 |
' ' . __( 'You can also use shortcodes here.', 'woocommerce-jetpack' ) .
|
73 |
-
' ' . apply_filters( '
|
74 |
'id' => 'wcj_product_by_time_unavailable_message',
|
75 |
'default' => __( '<p style="color:red;">%product_title% is available only at %time_today% today.</p>', 'woocommerce-jetpack' ),
|
76 |
'type' => 'custom_textarea',
|
77 |
'css' => 'width:66%;min-width:300px;',
|
78 |
-
'custom_attributes' => apply_filters( '
|
79 |
),
|
80 |
array(
|
81 |
'title' => __( 'Message (Day Off)', 'woocommerce-jetpack' ),
|
82 |
'desc' => __( 'Message when product is not available by time (day off).', 'woocommerce-jetpack' ) .
|
83 |
' ' . __( 'Replaceable value:', 'woocommerce-jetpack' ) . ' ' . '<code>%product_title%</code>' . '.' .
|
84 |
' ' . __( 'You can also use shortcodes here.', 'woocommerce-jetpack' ) .
|
85 |
-
' ' . apply_filters( '
|
86 |
'id' => 'wcj_product_by_time_unavailable_message_day_off',
|
87 |
'default' => __( '<p style="color:red;">%product_title% is not available today.</p>', 'woocommerce-jetpack' ),
|
88 |
'type' => 'custom_textarea',
|
89 |
'css' => 'width:66%;min-width:300px;',
|
90 |
-
'custom_attributes' => apply_filters( '
|
91 |
),
|
92 |
array(
|
93 |
'type' => 'sectionend',
|
70 |
'desc' => __( 'Message when product is not available by time.', 'woocommerce-jetpack' ) .
|
71 |
' ' . __( 'Replaceable values:', 'woocommerce-jetpack' ) . ' ' . '<code>%product_title%</code>' . ', ' . '<code>%time_today%</code>' . '.' .
|
72 |
' ' . __( 'You can also use shortcodes here.', 'woocommerce-jetpack' ) .
|
73 |
+
' ' . apply_filters( 'booster_message', '', 'desc' ),
|
74 |
'id' => 'wcj_product_by_time_unavailable_message',
|
75 |
'default' => __( '<p style="color:red;">%product_title% is available only at %time_today% today.</p>', 'woocommerce-jetpack' ),
|
76 |
'type' => 'custom_textarea',
|
77 |
'css' => 'width:66%;min-width:300px;',
|
78 |
+
'custom_attributes' => apply_filters( 'booster_message', '', 'readonly' ),
|
79 |
),
|
80 |
array(
|
81 |
'title' => __( 'Message (Day Off)', 'woocommerce-jetpack' ),
|
82 |
'desc' => __( 'Message when product is not available by time (day off).', 'woocommerce-jetpack' ) .
|
83 |
' ' . __( 'Replaceable value:', 'woocommerce-jetpack' ) . ' ' . '<code>%product_title%</code>' . '.' .
|
84 |
' ' . __( 'You can also use shortcodes here.', 'woocommerce-jetpack' ) .
|
85 |
+
' ' . apply_filters( 'booster_message', '', 'desc' ),
|
86 |
'id' => 'wcj_product_by_time_unavailable_message_day_off',
|
87 |
'default' => __( '<p style="color:red;">%product_title% is not available today.</p>', 'woocommerce-jetpack' ),
|
88 |
'type' => 'custom_textarea',
|
89 |
'css' => 'width:66%;min-width:300px;',
|
90 |
+
'custom_attributes' => apply_filters( 'booster_message', '', 'readonly' ),
|
91 |
),
|
92 |
array(
|
93 |
'type' => 'sectionend',
|
includes/settings/wcj-settings-product-by-user.php
CHANGED
@@ -38,8 +38,8 @@ foreach ( $fields as $field_id => $field_desc ) {
|
|
38 |
'default' => 'no',
|
39 |
'type' => 'checkbox',
|
40 |
'checkboxgroup' => $checkboxgroup,
|
41 |
-
'custom_attributes' => ( ( 'image' === $field_id ) ? apply_filters( '
|
42 |
-
'desc_tip' => ( ( 'image' === $field_id ) ? apply_filters( '
|
43 |
);
|
44 |
$fields_required_options[] = array(
|
45 |
'title' => ( ( 1 === $i ) ? __( 'Is Required', 'woocommerce-jetpack' ) : '' ),
|
@@ -48,8 +48,8 @@ foreach ( $fields as $field_id => $field_desc ) {
|
|
48 |
'default' => 'no',
|
49 |
'type' => 'checkbox',
|
50 |
'checkboxgroup' => $checkboxgroup,
|
51 |
-
'custom_attributes' => ( ( 'image' === $field_id ) ? apply_filters( '
|
52 |
-
'desc_tip' => ( ( 'image' === $field_id ) ? apply_filters( '
|
53 |
);
|
54 |
}
|
55 |
|
@@ -93,7 +93,7 @@ $settings = array_merge(
|
|
93 |
'simple' => __( 'Simple product', 'woocommerce-jetpack' ),
|
94 |
'external' => __( 'External/Affiliate product', 'woocommerce-jetpack' ),
|
95 |
),
|
96 |
-
// 'desc' => apply_filters( '
|
97 |
),
|
98 |
array(
|
99 |
'title' => __( 'Product Status', 'woocommerce-jetpack' ),
|
@@ -136,13 +136,13 @@ $settings = array_merge(
|
|
136 |
'default' => 1,
|
137 |
'type' => 'custom_number',
|
138 |
'desc_tip' => __( 'Press Save changes after you change this number.', 'woocommerce-jetpack' ),
|
139 |
-
'desc' => apply_filters( '
|
140 |
-
'custom_attributes' => is_array( apply_filters( '
|
141 |
-
apply_filters( '
|
142 |
),
|
143 |
)
|
144 |
);
|
145 |
-
for ( $i = 1; $i <= apply_filters( '
|
146 |
$settings = array_merge( $settings, array(
|
147 |
array(
|
148 |
'title' => __( 'Custom Taxonomy', 'woocommerce-jetpack' ) . ' #' . $i,
|
38 |
'default' => 'no',
|
39 |
'type' => 'checkbox',
|
40 |
'checkboxgroup' => $checkboxgroup,
|
41 |
+
'custom_attributes' => ( ( 'image' === $field_id ) ? apply_filters( 'booster_message', '', 'disabled' ) : '' ),
|
42 |
+
'desc_tip' => ( ( 'image' === $field_id ) ? apply_filters( 'booster_message', '', 'desc' ) : '' ),
|
43 |
);
|
44 |
$fields_required_options[] = array(
|
45 |
'title' => ( ( 1 === $i ) ? __( 'Is Required', 'woocommerce-jetpack' ) : '' ),
|
48 |
'default' => 'no',
|
49 |
'type' => 'checkbox',
|
50 |
'checkboxgroup' => $checkboxgroup,
|
51 |
+
'custom_attributes' => ( ( 'image' === $field_id ) ? apply_filters( 'booster_message', '', 'disabled' ) : '' ),
|
52 |
+
'desc_tip' => ( ( 'image' === $field_id ) ? apply_filters( 'booster_message', '', 'desc' ) : '' ),
|
53 |
);
|
54 |
}
|
55 |
|
93 |
'simple' => __( 'Simple product', 'woocommerce-jetpack' ),
|
94 |
'external' => __( 'External/Affiliate product', 'woocommerce-jetpack' ),
|
95 |
),
|
96 |
+
// 'desc' => apply_filters( 'booster_message', '', 'desc_advanced', array( 'option' => __( 'Variable product', 'woocommerce-jetpack' ) ) ),
|
97 |
),
|
98 |
array(
|
99 |
'title' => __( 'Product Status', 'woocommerce-jetpack' ),
|
136 |
'default' => 1,
|
137 |
'type' => 'custom_number',
|
138 |
'desc_tip' => __( 'Press Save changes after you change this number.', 'woocommerce-jetpack' ),
|
139 |
+
'desc' => apply_filters( 'booster_message', '', 'desc' ),
|
140 |
+
'custom_attributes' => is_array( apply_filters( 'booster_message', '', 'readonly' ) ) ?
|
141 |
+
apply_filters( 'booster_message', '', 'readonly' ) : array( 'step' => '1', 'min' => '1' ),
|
142 |
),
|
143 |
)
|
144 |
);
|
145 |
+
for ( $i = 1; $i <= apply_filters( 'booster_option', 1, get_option( 'wcj_product_by_user_custom_taxonomies_total', 1 ) ); $i++ ) {
|
146 |
$settings = array_merge( $settings, array(
|
147 |
array(
|
148 |
'title' => __( 'Custom Taxonomy', 'woocommerce-jetpack' ) . ' #' . $i,
|
includes/settings/wcj-settings-product-custom-info.php
CHANGED
@@ -52,15 +52,15 @@ foreach ( $single_or_archive_array as $single_or_archive ) {
|
|
52 |
'id' => 'wcj_product_custom_info_total_number_' . $single_or_archive,
|
53 |
'default' => 1,
|
54 |
'type' => 'custom_number',
|
55 |
-
'desc' => apply_filters( '
|
56 |
-
'custom_attributes' => apply_filters( '
|
57 |
),
|
58 |
array(
|
59 |
'type' => 'sectionend',
|
60 |
'id' => 'wcj_product_custom_info_options_' . $single_or_archive,
|
61 |
),
|
62 |
) );
|
63 |
-
for ( $i = 1; $i <= apply_filters( '
|
64 |
|
65 |
wcj_maybe_convert_and_update_option_value( array(
|
66 |
array( 'id' => 'wcj_product_custom_info_products_to_include_' . $single_or_archive . '_' . $i, 'default' => '' ),
|
52 |
'id' => 'wcj_product_custom_info_total_number_' . $single_or_archive,
|
53 |
'default' => 1,
|
54 |
'type' => 'custom_number',
|
55 |
+
'desc' => apply_filters( 'booster_message', '', 'desc' ),
|
56 |
+
'custom_attributes' => apply_filters( 'booster_message', '', 'readonly' ),
|
57 |
),
|
58 |
array(
|
59 |
'type' => 'sectionend',
|
60 |
'id' => 'wcj_product_custom_info_options_' . $single_or_archive,
|
61 |
),
|
62 |
) );
|
63 |
+
for ( $i = 1; $i <= apply_filters( 'booster_option', 1, get_option( 'wcj_product_custom_info_total_number_' . $single_or_archive, 1 ) ); $i++ ) {
|
64 |
|
65 |
wcj_maybe_convert_and_update_option_value( array(
|
66 |
array( 'id' => 'wcj_product_custom_info_products_to_include_' . $single_or_archive . '_' . $i, 'default' => '' ),
|
includes/settings/wcj-settings-product-input-fields.php
CHANGED
@@ -31,9 +31,9 @@ $settings = array(
|
|
31 |
'desc_tip' => __( 'You will be able to change this number later as well as define the fields, for each product individually, in product\'s "Edit".', 'woocommerce-jetpack' ),
|
32 |
'default' => 1,
|
33 |
'type' => 'number',
|
34 |
-
'desc' => apply_filters( '
|
35 |
'custom_attributes' => array_merge(
|
36 |
-
is_array( apply_filters( '
|
37 |
array( 'step' => '1', 'min' => '1' )
|
38 |
),
|
39 |
),
|
@@ -61,9 +61,9 @@ $settings = array(
|
|
61 |
'id' => 'wcj_product_input_fields_global_total_number',
|
62 |
'default' => 1,
|
63 |
'type' => 'custom_number',
|
64 |
-
'desc' => apply_filters( '
|
65 |
'custom_attributes' => array_merge(
|
66 |
-
is_array( apply_filters( '
|
67 |
array( 'step' => '1', 'min' => '1' )
|
68 |
),
|
69 |
),
|
@@ -77,7 +77,7 @@ $products = ( $is_multiselect_products ? wcj_get_products() :
|
|
77 |
$product_cats = wcj_get_terms( 'product_cat' );
|
78 |
$product_tags = wcj_get_terms( 'product_tag' );
|
79 |
$options = $this->get_global_product_fields_options();
|
80 |
-
for ( $i = 1; $i <= apply_filters( '
|
81 |
$settings = array_merge( $settings, array(
|
82 |
array(
|
83 |
'title' => __( 'Product Input Field', 'woocommerce-jetpack' ) . ' #' . $i,
|
31 |
'desc_tip' => __( 'You will be able to change this number later as well as define the fields, for each product individually, in product\'s "Edit".', 'woocommerce-jetpack' ),
|
32 |
'default' => 1,
|
33 |
'type' => 'number',
|
34 |
+
'desc' => apply_filters( 'booster_message', '', 'desc' ),
|
35 |
'custom_attributes' => array_merge(
|
36 |
+
is_array( apply_filters( 'booster_message', '', 'readonly' ) ) ? apply_filters( 'booster_message', '', 'readonly' ) : array(),
|
37 |
array( 'step' => '1', 'min' => '1' )
|
38 |
),
|
39 |
),
|
61 |
'id' => 'wcj_product_input_fields_global_total_number',
|
62 |
'default' => 1,
|
63 |
'type' => 'custom_number',
|
64 |
+
'desc' => apply_filters( 'booster_message', '', 'desc' ),
|
65 |
'custom_attributes' => array_merge(
|
66 |
+
is_array( apply_filters( 'booster_message', '', 'readonly' ) ) ? apply_filters( 'booster_message', '', 'readonly' ) : array(),
|
67 |
array( 'step' => '1', 'min' => '1' )
|
68 |
),
|
69 |
),
|
77 |
$product_cats = wcj_get_terms( 'product_cat' );
|
78 |
$product_tags = wcj_get_terms( 'product_tag' );
|
79 |
$options = $this->get_global_product_fields_options();
|
80 |
+
for ( $i = 1; $i <= apply_filters( 'booster_option', 1, get_option( 'wcj_product_input_fields_global_total_number', 1 ) ); $i++ ) {
|
81 |
$settings = array_merge( $settings, array(
|
82 |
array(
|
83 |
'title' => __( 'Product Input Field', 'woocommerce-jetpack' ) . ' #' . $i,
|
includes/settings/wcj-settings-product-listings.php
CHANGED
@@ -86,8 +86,8 @@ return array(
|
|
86 |
'id' => 'wcj_product_listings_hide_cats_count_on_archive',
|
87 |
'default' => 'no',
|
88 |
'type' => 'checkbox',
|
89 |
-
'custom_attributes' => apply_filters( '
|
90 |
-
'desc_tip' => apply_filters( '
|
91 |
),
|
92 |
array(
|
93 |
'title' => __( 'Exclude Subcategories', 'woocommerce-jetpack' ),
|
86 |
'id' => 'wcj_product_listings_hide_cats_count_on_archive',
|
87 |
'default' => 'no',
|
88 |
'type' => 'checkbox',
|
89 |
+
'custom_attributes' => apply_filters( 'booster_message', '', 'disabled' ),
|
90 |
+
'desc_tip' => apply_filters( 'booster_message', '', 'desc' ),
|
91 |
),
|
92 |
array(
|
93 |
'title' => __( 'Exclude Subcategories', 'woocommerce-jetpack' ),
|
includes/settings/wcj-settings-product-open-pricing.php
CHANGED
@@ -2,7 +2,7 @@
|
|
2 |
/**
|
3 |
* Booster for WooCommerce - Settings - Product Open Pricing
|
4 |
*
|
5 |
-
* @version
|
6 |
* @since 2.8.0
|
7 |
* @author Algoritmika Ltd.
|
8 |
* @todo set default for "wcj_product_open_price_enable_js_validation" to "yes"
|
@@ -22,7 +22,7 @@ return array(
|
|
22 |
'id' => 'wcj_product_open_price_label_frontend',
|
23 |
'default' => __( 'Name Your Price', 'woocommerce-jetpack' ),
|
24 |
'type' => 'text',
|
25 |
-
'css' => 'width:
|
26 |
),
|
27 |
array(
|
28 |
'title' => __( 'Frontend Template', 'woocommerce-jetpack' ),
|
@@ -31,21 +31,21 @@ return array(
|
|
31 |
'id' => 'wcj_product_open_price_frontend_template',
|
32 |
'default' => '<label for="wcj_open_price">%frontend_label%</label> %open_price_input% %currency_symbol%',
|
33 |
'type' => 'textarea',
|
34 |
-
'css' => '
|
35 |
),
|
36 |
array(
|
37 |
'title' => __( 'Frontend Input Style', 'woocommerce-jetpack' ),
|
38 |
'id' => 'wcj_product_open_price_input_style',
|
39 |
'default' => 'width:75px;text-align:center;',
|
40 |
'type' => 'text',
|
41 |
-
'css' => 'width:
|
42 |
),
|
43 |
array(
|
44 |
'title' => __( 'Frontend Input Placeholder', 'woocommerce-jetpack' ),
|
45 |
'id' => 'wcj_product_open_price_input_placeholder',
|
46 |
'default' => '',
|
47 |
'type' => 'text',
|
48 |
-
'css' => 'width:
|
49 |
),
|
50 |
array(
|
51 |
'title' => __( 'Frontend Input Price Step', 'woocommerce-jetpack' ),
|
@@ -59,21 +59,21 @@ return array(
|
|
59 |
'id' => 'wcj_product_open_price_messages_required',
|
60 |
'default' => __( 'Price is required!', 'woocommerce-jetpack' ),
|
61 |
'type' => 'text',
|
62 |
-
'css' => 'width:
|
63 |
),
|
64 |
array(
|
65 |
'title' => __( 'Message on Price too Small', 'woocommerce-jetpack' ),
|
66 |
'id' => 'wcj_product_open_price_messages_to_small',
|
67 |
'default' => __( 'Entered price is too small!', 'woocommerce-jetpack' ),
|
68 |
'type' => 'text',
|
69 |
-
'css' => 'width:
|
70 |
),
|
71 |
array(
|
72 |
'title' => __( 'Message on Price too Big', 'woocommerce-jetpack' ),
|
73 |
'id' => 'wcj_product_open_price_messages_to_big',
|
74 |
'default' => __( 'Entered price is too big!', 'woocommerce-jetpack' ),
|
75 |
'type' => 'text',
|
76 |
-
'css' => 'width:
|
77 |
),
|
78 |
array(
|
79 |
'title' => __( 'Disable Quantity Input', 'woocommerce-jetpack' ),
|
@@ -101,11 +101,11 @@ return array(
|
|
101 |
'id' => 'wcj_product_open_price_loop_price_info_template',
|
102 |
'default' => '<span class="price">%default_price%</span>',
|
103 |
'type' => 'custom_textarea',
|
104 |
-
'css' => '
|
105 |
),
|
106 |
array(
|
107 |
'title' => __( 'Add "Open Pricing" Column to Admin Product List', 'woocommerce-jetpack' ),
|
108 |
-
'desc' => __( '
|
109 |
'id' => 'wcj_product_open_price_enable_admin_product_list_column',
|
110 |
'default' => 'no',
|
111 |
'type' => 'checkbox',
|
2 |
/**
|
3 |
* Booster for WooCommerce - Settings - Product Open Pricing
|
4 |
*
|
5 |
+
* @version 3.3.0
|
6 |
* @since 2.8.0
|
7 |
* @author Algoritmika Ltd.
|
8 |
* @todo set default for "wcj_product_open_price_enable_js_validation" to "yes"
|
22 |
'id' => 'wcj_product_open_price_label_frontend',
|
23 |
'default' => __( 'Name Your Price', 'woocommerce-jetpack' ),
|
24 |
'type' => 'text',
|
25 |
+
'css' => 'width:100%;',
|
26 |
),
|
27 |
array(
|
28 |
'title' => __( 'Frontend Template', 'woocommerce-jetpack' ),
|
31 |
'id' => 'wcj_product_open_price_frontend_template',
|
32 |
'default' => '<label for="wcj_open_price">%frontend_label%</label> %open_price_input% %currency_symbol%',
|
33 |
'type' => 'textarea',
|
34 |
+
'css' => 'width:100%;',
|
35 |
),
|
36 |
array(
|
37 |
'title' => __( 'Frontend Input Style', 'woocommerce-jetpack' ),
|
38 |
'id' => 'wcj_product_open_price_input_style',
|
39 |
'default' => 'width:75px;text-align:center;',
|
40 |
'type' => 'text',
|
41 |
+
'css' => 'width:100%;',
|
42 |
),
|
43 |
array(
|
44 |
'title' => __( 'Frontend Input Placeholder', 'woocommerce-jetpack' ),
|
45 |
'id' => 'wcj_product_open_price_input_placeholder',
|
46 |
'default' => '',
|
47 |
'type' => 'text',
|
48 |
+
'css' => 'width:100%;',
|
49 |
),
|
50 |
array(
|
51 |
'title' => __( 'Frontend Input Price Step', 'woocommerce-jetpack' ),
|
59 |
'id' => 'wcj_product_open_price_messages_required',
|
60 |
'default' => __( 'Price is required!', 'woocommerce-jetpack' ),
|
61 |
'type' => 'text',
|
62 |
+
'css' => 'width:100%;',
|
63 |
),
|
64 |
array(
|
65 |
'title' => __( 'Message on Price too Small', 'woocommerce-jetpack' ),
|
66 |
'id' => 'wcj_product_open_price_messages_to_small',
|
67 |
'default' => __( 'Entered price is too small!', 'woocommerce-jetpack' ),
|
68 |
'type' => 'text',
|
69 |
+
'css' => 'width:100%;',
|
70 |
),
|
71 |
array(
|
72 |
'title' => __( 'Message on Price too Big', 'woocommerce-jetpack' ),
|
73 |
'id' => 'wcj_product_open_price_messages_to_big',
|
74 |
'default' => __( 'Entered price is too big!', 'woocommerce-jetpack' ),
|
75 |
'type' => 'text',
|
76 |
+
'css' => 'width:100%;',
|
77 |
),
|
78 |
array(
|
79 |
'title' => __( 'Disable Quantity Input', 'woocommerce-jetpack' ),
|
101 |
'id' => 'wcj_product_open_price_loop_price_info_template',
|
102 |
'default' => '<span class="price">%default_price%</span>',
|
103 |
'type' => 'custom_textarea',
|
104 |
+
'css' => 'width:100%;',
|
105 |
),
|
106 |
array(
|
107 |
'title' => __( 'Add "Open Pricing" Column to Admin Product List', 'woocommerce-jetpack' ),
|
108 |
+
'desc' => __( 'Add', 'woocommerce-jetpack' ),
|
109 |
'id' => 'wcj_product_open_price_enable_admin_product_list_column',
|
110 |
'default' => 'no',
|
111 |
'type' => 'checkbox',
|
includes/settings/wcj-settings-product-price-by-formula.php
CHANGED
@@ -31,8 +31,8 @@ $settings = array(
|
|
31 |
'type' => 'checkbox',
|
32 |
'id' => 'wcj_product_price_by_formula_enable_for_all_products',
|
33 |
'default' => 'no',
|
34 |
-
'desc_tip' => apply_filters( '
|
35 |
-
'custom_attributes' => apply_filters( '
|
36 |
),
|
37 |
array(
|
38 |
'title' => __( 'Total Params', 'woocommerce-jetpack' ),
|
31 |
'type' => 'checkbox',
|
32 |
'id' => 'wcj_product_price_by_formula_enable_for_all_products',
|
33 |
'default' => 'no',
|
34 |
+
'desc_tip' => apply_filters( 'booster_message', '', 'desc_no_link' ),
|
35 |
+
'custom_attributes' => apply_filters( 'booster_message', '', 'disabled' ),
|
36 |
),
|
37 |
array(
|
38 |
'title' => __( 'Total Params', 'woocommerce-jetpack' ),
|
includes/settings/wcj-settings-product-tabs.php
CHANGED
@@ -31,9 +31,9 @@ $settings = array(
|
|
31 |
'id' => 'wcj_custom_product_tabs_global_total_number',
|
32 |
'default' => 1,
|
33 |
'type' => 'number',
|
34 |
-
'desc' => apply_filters( '
|
35 |
'custom_attributes' => array_merge(
|
36 |
-
is_array( apply_filters( '
|
37 |
array(
|
38 |
'step' => '1',
|
39 |
'min' => '0',
|
@@ -44,7 +44,7 @@ $settings = array(
|
|
44 |
$product_tags_options = wcj_get_terms( 'product_tag' );
|
45 |
$product_cats_options = wcj_get_terms( 'product_cat' );
|
46 |
$products_options = wcj_get_products();
|
47 |
-
for ( $i = 1; $i <= apply_filters( '
|
48 |
$settings = array_merge( $settings,
|
49 |
array(
|
50 |
array(
|
@@ -234,9 +234,9 @@ $settings = array_merge( $settings, array(
|
|
234 |
'id' => 'wcj_custom_product_tabs_local_total_number_default',
|
235 |
'default' => 1,
|
236 |
'type' => 'number',
|
237 |
-
'desc' => apply_filters( '
|
238 |
'custom_attributes' => array_merge(
|
239 |
-
is_array( apply_filters( '
|
240 |
array(
|
241 |
'step' => '1',
|
242 |
'min' => '0',
|
@@ -244,7 +244,7 @@ $settings = array_merge( $settings, array(
|
|
244 |
),
|
245 |
),
|
246 |
) );
|
247 |
-
for ( $i = 1; $i <= apply_filters( '
|
248 |
$settings = array_merge( $settings, array(
|
249 |
array(
|
250 |
'title' => __( 'Custom Product Tab', 'woocommerce-jetpack' ) . ' #' . $i,
|
@@ -375,8 +375,8 @@ $settings = array_merge( $settings, array(
|
|
375 |
'id' => 'wcj_product_info_product_tabs_description_priority',
|
376 |
'default' => 10,
|
377 |
'type' => 'number',
|
378 |
-
'desc' => __( 'Priority (i.e. Order)', 'woocommerce-jetpack' ) . ' ' . apply_filters( '
|
379 |
-
'custom_attributes' => apply_filters( '
|
380 |
),
|
381 |
array(
|
382 |
'title' => __( 'Additional Information Tab', 'woocommerce-jetpack' ),
|
@@ -396,8 +396,8 @@ $settings = array_merge( $settings, array(
|
|
396 |
'id' => 'wcj_product_info_product_tabs_additional_information_priority',
|
397 |
'default' => 20,
|
398 |
'type' => 'number',
|
399 |
-
'desc' => __( 'Priority (i.e. Order)', 'woocommerce-jetpack' ) . ' ' . apply_filters( '
|
400 |
-
'custom_attributes' => apply_filters( '
|
401 |
),
|
402 |
array(
|
403 |
'title' => __( 'Reviews Tab', 'woocommerce-jetpack' ),
|
@@ -417,8 +417,8 @@ $settings = array_merge( $settings, array(
|
|
417 |
'id' => 'wcj_product_info_product_tabs_reviews_priority',
|
418 |
'default' => 30,
|
419 |
'type' => 'number',
|
420 |
-
'desc' => __( 'Priority (i.e. Order)', 'woocommerce-jetpack' ) . ' ' . apply_filters( '
|
421 |
-
'custom_attributes' => apply_filters( '
|
422 |
),
|
423 |
array(
|
424 |
'type' => 'sectionend',
|
31 |
'id' => 'wcj_custom_product_tabs_global_total_number',
|
32 |
'default' => 1,
|
33 |
'type' => 'number',
|
34 |
+
'desc' => apply_filters( 'booster_message', '', 'desc' ),
|
35 |
'custom_attributes' => array_merge(
|
36 |
+
is_array( apply_filters( 'booster_message', '', 'readonly' ) ) ? apply_filters( 'booster_message', '', 'readonly' ) : array(),
|
37 |
array(
|
38 |
'step' => '1',
|
39 |
'min' => '0',
|
44 |
$product_tags_options = wcj_get_terms( 'product_tag' );
|
45 |
$product_cats_options = wcj_get_terms( 'product_cat' );
|
46 |
$products_options = wcj_get_products();
|
47 |
+
for ( $i = 1; $i <= apply_filters( 'booster_option', 1, get_option( 'wcj_custom_product_tabs_global_total_number', 1 ) ); $i++ ) {
|
48 |
$settings = array_merge( $settings,
|
49 |
array(
|
50 |
array(
|
234 |
'id' => 'wcj_custom_product_tabs_local_total_number_default',
|
235 |
'default' => 1,
|
236 |
'type' => 'number',
|
237 |
+
'desc' => apply_filters( 'booster_message', '', 'desc' ),
|
238 |
'custom_attributes' => array_merge(
|
239 |
+
is_array( apply_filters( 'booster_message', '', 'readonly' ) ) ? apply_filters( 'booster_message', '', 'readonly' ) : array(),
|
240 |
array(
|
241 |
'step' => '1',
|
242 |
'min' => '0',
|
244 |
),
|
245 |
),
|
246 |
) );
|
247 |
+
for ( $i = 1; $i <= apply_filters( 'booster_option', 1, get_option( 'wcj_custom_product_tabs_local_total_number_default', 1 ) ); $i++ ) {
|
248 |
$settings = array_merge( $settings, array(
|
249 |
array(
|
250 |
'title' => __( 'Custom Product Tab', 'woocommerce-jetpack' ) . ' #' . $i,
|
375 |
'id' => 'wcj_product_info_product_tabs_description_priority',
|
376 |
'default' => 10,
|
377 |
'type' => 'number',
|
378 |
+
'desc' => __( 'Priority (i.e. Order)', 'woocommerce-jetpack' ) . ' ' . apply_filters( 'booster_message', '', 'desc' ),
|
379 |
+
'custom_attributes' => apply_filters( 'booster_message', '', 'readonly' ),
|
380 |
),
|
381 |
array(
|
382 |
'title' => __( 'Additional Information Tab', 'woocommerce-jetpack' ),
|
396 |
'id' => 'wcj_product_info_product_tabs_additional_information_priority',
|
397 |
'default' => 20,
|
398 |
'type' => 'number',
|
399 |
+
'desc' => __( 'Priority (i.e. Order)', 'woocommerce-jetpack' ) . ' ' . apply_filters( 'booster_message', '', 'desc' ),
|
400 |
+
'custom_attributes' => apply_filters( 'booster_message', '', 'readonly' ),
|
401 |
),
|
402 |
array(
|
403 |
'title' => __( 'Reviews Tab', 'woocommerce-jetpack' ),
|
417 |
'id' => 'wcj_product_info_product_tabs_reviews_priority',
|
418 |
'default' => 30,
|
419 |
'type' => 'number',
|
420 |
+
'desc' => __( 'Priority (i.e. Order)', 'woocommerce-jetpack' ) . ' ' . apply_filters( 'booster_message', '', 'desc' ),
|
421 |
+
'custom_attributes' => apply_filters( 'booster_message', '', 'readonly' ),
|
422 |
),
|
423 |
array(
|
424 |
'type' => 'sectionend',
|
includes/settings/wcj-settings-products-per-page.php
CHANGED
@@ -22,8 +22,8 @@ return array(
|
|
22 |
'default' => '10|10' . PHP_EOL . '25|25' . PHP_EOL . '50|50' . PHP_EOL . '100|100' . PHP_EOL . 'All|-1',
|
23 |
'type' => 'textarea',
|
24 |
'css' => 'height:200px;',
|
25 |
-
'custom_attributes' => apply_filters( '
|
26 |
-
'desc_tip' => apply_filters( '
|
27 |
),
|
28 |
array(
|
29 |
'title' => __( 'Default', 'woocommerce-jetpack' ),
|
22 |
'default' => '10|10' . PHP_EOL . '25|25' . PHP_EOL . '50|50' . PHP_EOL . '100|100' . PHP_EOL . 'All|-1',
|
23 |
'type' => 'textarea',
|
24 |
'css' => 'height:200px;',
|
25 |
+
'custom_attributes' => apply_filters( 'booster_message', '', 'readonly' ),
|
26 |
+
'desc_tip' => apply_filters( 'booster_message', '', 'desc_no_link' ),
|
27 |
),
|
28 |
array(
|
29 |
'title' => __( 'Default', 'woocommerce-jetpack' ),
|
includes/settings/wcj-settings-products-xml.php
CHANGED
@@ -2,7 +2,7 @@
|
|
2 |
/**
|
3 |
* Booster for WooCommerce - Settings - Products XML
|
4 |
*
|
5 |
-
* @version 3.
|
6 |
* @since 2.8.0
|
7 |
* @author Algoritmika Ltd.
|
8 |
*/
|
@@ -25,9 +25,9 @@ $settings = array(
|
|
25 |
'default' => 1,
|
26 |
'type' => 'custom_number',
|
27 |
'desc_tip' => __( 'Press Save changes after you change this number.', 'woocommerce-jetpack' ),
|
28 |
-
'desc' => apply_filters( '
|
29 |
-
'custom_attributes' => is_array( apply_filters( '
|
30 |
-
apply_filters( '
|
31 |
),
|
32 |
array(
|
33 |
'title' => __( 'Advanced: Block Size', 'woocommerce-jetpack' ),
|
@@ -42,26 +42,22 @@ $settings = array(
|
|
42 |
'id' => 'wcj_products_xml_options',
|
43 |
),
|
44 |
);
|
45 |
-
for ( $i = 1; $i <= apply_filters( '
|
46 |
wcj_maybe_convert_and_update_option_value( array(
|
47 |
array( 'id' => 'wcj_products_xml_products_incl_' . $i, 'default' => '' ),
|
48 |
array( 'id' => 'wcj_products_xml_products_excl_' . $i, 'default' => '' ),
|
49 |
), $is_multiselect_products );
|
50 |
$products_xml_cron_desc = '';
|
51 |
if ( $this->is_enabled() ) {
|
52 |
-
|
53 |
-
|
54 |
-
|
55 |
-
$products_xml_cron_desc = '<em>' . sprintf( __( '%s seconds till next update.', 'woocommerce-jetpack' ), $scheduled_time_diff ) . '</em>';
|
56 |
-
}
|
57 |
-
}
|
58 |
-
$products_xml_cron_desc .= '<br><a href="' . add_query_arg( 'wcj_create_products_xml', $i ) . '">' . __( 'Create Now', 'woocommerce-jetpack' ) . '</a>';
|
59 |
}
|
60 |
$products_time_file_created_desc = '';
|
61 |
if ( '' != get_option( 'wcj_products_time_file_created_' . $i, '' ) ) {
|
62 |
$products_time_file_created_desc = sprintf(
|
63 |
__( 'Recent file was created on %s', 'woocommerce-jetpack' ),
|
64 |
-
date_i18n( get_option( 'date_format' ) . ' ' . get_option( 'time_format' ), get_option( 'wcj_products_time_file_created_' . $i, '' ) )
|
65 |
);
|
66 |
}
|
67 |
$default_file_name = ( ( 1 == $i ) ? 'products.xml' : 'products_' . $i . '.xml' );
|
@@ -81,7 +77,7 @@ for ( $i = 1; $i <= apply_filters( 'booster_get_option', 1, get_option( 'wcj_pro
|
|
81 |
),
|
82 |
array(
|
83 |
'title' => __( 'XML Header', 'woocommerce-jetpack' ),
|
84 |
-
'desc' => __( 'You can use shortcodes here. For example
|
85 |
'id' => 'wcj_products_xml_header_' . $i,
|
86 |
'default' => '<?xml version = "1.0" encoding = "utf-8" ?>' . PHP_EOL . '<root>' . PHP_EOL,
|
87 |
'type' => 'custom_textarea',
|
@@ -136,8 +132,8 @@ for ( $i = 1; $i <= apply_filters( 'booster_get_option', 1, get_option( 'wcj_pro
|
|
136 |
'daily' => __( 'Update Daily', 'woocommerce-jetpack' ),
|
137 |
'weekly' => __( 'Update Weekly', 'woocommerce-jetpack' ),
|
138 |
),
|
139 |
-
'desc_tip' => __( 'Possible update periods are: every minute, hourly, twice daily, daily and weekly.', 'woocommerce-jetpack' ) . ' ' . apply_filters( '
|
140 |
-
'custom_attributes' => apply_filters( '
|
141 |
),
|
142 |
wcj_get_settings_as_multiselect_or_text(
|
143 |
array(
|
2 |
/**
|
3 |
* Booster for WooCommerce - Settings - Products XML
|
4 |
*
|
5 |
+
* @version 3.3.0
|
6 |
* @since 2.8.0
|
7 |
* @author Algoritmika Ltd.
|
8 |
*/
|
25 |
'default' => 1,
|
26 |
'type' => 'custom_number',
|
27 |
'desc_tip' => __( 'Press Save changes after you change this number.', 'woocommerce-jetpack' ),
|
28 |
+
'desc' => apply_filters( 'booster_message', '', 'desc' ),
|
29 |
+
'custom_attributes' => is_array( apply_filters( 'booster_message', '', 'readonly' ) ) ?
|
30 |
+
apply_filters( 'booster_message', '', 'readonly' ) : array( 'step' => '1', 'min' => '1', ),
|
31 |
),
|
32 |
array(
|
33 |
'title' => __( 'Advanced: Block Size', 'woocommerce-jetpack' ),
|
42 |
'id' => 'wcj_products_xml_options',
|
43 |
),
|
44 |
);
|
45 |
+
for ( $i = 1; $i <= apply_filters( 'booster_option', 1, get_option( 'wcj_products_xml_total_files', 1 ) ); $i++ ) {
|
46 |
wcj_maybe_convert_and_update_option_value( array(
|
47 |
array( 'id' => 'wcj_products_xml_products_incl_' . $i, 'default' => '' ),
|
48 |
array( 'id' => 'wcj_products_xml_products_excl_' . $i, 'default' => '' ),
|
49 |
), $is_multiselect_products );
|
50 |
$products_xml_cron_desc = '';
|
51 |
if ( $this->is_enabled() ) {
|
52 |
+
$products_xml_cron_desc = '<a class="button" title="' . __( 'If you\'ve made any changes in module\'s settings - don\'t forget to save changes before clicking this button.', 'woocommerce-jetpack' ) . '"' .
|
53 |
+
' href="' . add_query_arg( 'wcj_create_products_xml', $i, remove_query_arg( 'wcj_create_products_xml_result' ) ) . '">' . __( 'Create Now', 'woocommerce-jetpack' ) . '</a>' .
|
54 |
+
wcj_crons_get_next_event_time_message( 'wcj_create_products_xml_cron_time_' . $i );
|
|
|
|
|
|
|
|
|
55 |
}
|
56 |
$products_time_file_created_desc = '';
|
57 |
if ( '' != get_option( 'wcj_products_time_file_created_' . $i, '' ) ) {
|
58 |
$products_time_file_created_desc = sprintf(
|
59 |
__( 'Recent file was created on %s', 'woocommerce-jetpack' ),
|
60 |
+
'<code>' . date_i18n( get_option( 'date_format' ) . ' ' . get_option( 'time_format' ), get_option( 'wcj_products_time_file_created_' . $i, '' ) ) . '</code>'
|
61 |
);
|
62 |
}
|
63 |
$default_file_name = ( ( 1 == $i ) ? 'products.xml' : 'products_' . $i . '.xml' );
|
77 |
),
|
78 |
array(
|
79 |
'title' => __( 'XML Header', 'woocommerce-jetpack' ),
|
80 |
+
'desc' => sprintf( __( 'You can use shortcodes here. For example %s.', 'woocommerce-jetpack' ), '<code>[wcj_current_datetime]</code>' ),
|
81 |
'id' => 'wcj_products_xml_header_' . $i,
|
82 |
'default' => '<?xml version = "1.0" encoding = "utf-8" ?>' . PHP_EOL . '<root>' . PHP_EOL,
|
83 |
'type' => 'custom_textarea',
|
132 |
'daily' => __( 'Update Daily', 'woocommerce-jetpack' ),
|
133 |
'weekly' => __( 'Update Weekly', 'woocommerce-jetpack' ),
|
134 |
),
|
135 |
+
'desc_tip' => __( 'Possible update periods are: every minute, hourly, twice daily, daily and weekly.', 'woocommerce-jetpack' ) . ' ' . apply_filters( 'booster_message', '', 'desc_no_link' ),
|
136 |
+
'custom_attributes' => apply_filters( 'booster_message', '', 'disabled' ),
|
137 |
),
|
138 |
wcj_get_settings_as_multiselect_or_text(
|
139 |
array(
|
includes/settings/wcj-settings-purchase-data.php
CHANGED
@@ -53,11 +53,11 @@ $settings = array(
|
|
53 |
'id' => 'wcj_purchase_data_custom_price_fields_total_number',
|
54 |
'default' => 1,
|
55 |
'type' => 'custom_number',
|
56 |
-
'desc' => apply_filters( '
|
57 |
-
'custom_attributes' => apply_filters( '
|
58 |
),
|
59 |
);
|
60 |
-
$total_number = apply_filters( '
|
61 |
for ( $i = 1; $i <= $total_number; $i++ ) {
|
62 |
$settings = array_merge( $settings, array(
|
63 |
array(
|
@@ -135,8 +135,8 @@ $settings = array_merge( $settings, array(
|
|
135 |
'id' => 'wcj_purchase_data_custom_products_columns_profit',
|
136 |
'default' => 'no',
|
137 |
'type' => 'checkbox',
|
138 |
-
'desc_tip' => apply_filters( '
|
139 |
-
'custom_attributes' => apply_filters( '
|
140 |
),
|
141 |
array(
|
142 |
'title' => __( 'Purchase Cost', 'woocommerce-jetpack' ),
|
@@ -144,8 +144,8 @@ $settings = array_merge( $settings, array(
|
|
144 |
'id' => 'wcj_purchase_data_custom_products_columns_purchase_cost',
|
145 |
'default' => 'no',
|
146 |
'type' => 'checkbox',
|
147 |
-
'desc_tip' => apply_filters( '
|
148 |
-
'custom_attributes' => apply_filters( '
|
149 |
),
|
150 |
array(
|
151 |
'type' => 'sectionend',
|
53 |
'id' => 'wcj_purchase_data_custom_price_fields_total_number',
|
54 |
'default' => 1,
|
55 |
'type' => 'custom_number',
|
56 |
+
'desc' => apply_filters( 'booster_message', '', 'desc' ),
|
57 |
+
'custom_attributes' => apply_filters( 'booster_message', '', 'readonly' ),
|
58 |
),
|
59 |
);
|
60 |
+
$total_number = apply_filters( 'booster_option', 1, get_option( 'wcj_purchase_data_custom_price_fields_total_number', 1 ) );
|
61 |
for ( $i = 1; $i <= $total_number; $i++ ) {
|
62 |
$settings = array_merge( $settings, array(
|
63 |
array(
|
135 |
'id' => 'wcj_purchase_data_custom_products_columns_profit',
|
136 |
'default' => 'no',
|
137 |
'type' => 'checkbox',
|
138 |
+
'desc_tip' => apply_filters( 'booster_message', '', 'desc' ),
|
139 |
+
'custom_attributes' => apply_filters( 'booster_message', '', 'disabled' ),
|
140 |
),
|
141 |
array(
|
142 |
'title' => __( 'Purchase Cost', 'woocommerce-jetpack' ),
|
144 |
'id' => 'wcj_purchase_data_custom_products_columns_purchase_cost',
|
145 |
'default' => 'no',
|
146 |
'type' => 'checkbox',
|
147 |
+
'desc_tip' => apply_filters( 'booster_message', '', 'desc' ),
|
148 |
+
'custom_attributes' => apply_filters( 'booster_message', '', 'disabled' ),
|
149 |
),
|
150 |
array(
|
151 |
'type' => 'sectionend',
|
includes/settings/wcj-settings-related-products.php
CHANGED
@@ -149,11 +149,11 @@ $settings = array_merge( $settings, array(
|
|
149 |
'desc' => __( 'Enable', 'woocommerce-jetpack' ),
|
150 |
'desc_tip' => __( 'This will add metabox to each product\'s edit page.', 'woocommerce-jetpack' ) .
|
151 |
' ' . __( 'You will be able to select related products manually for each product individually. There is also an option to remove related products on per product basis.', 'woocommerce-jetpack' ) .
|
152 |
-
' ' . apply_filters( '
|
153 |
'id' => 'wcj_product_info_related_products_per_product',
|
154 |
'default' => 'no',
|
155 |
'type' => 'checkbox',
|
156 |
-
'custom_attributes' => apply_filters( '
|
157 |
),
|
158 |
array(
|
159 |
'type' => 'sectionend',
|
149 |
'desc' => __( 'Enable', 'woocommerce-jetpack' ),
|
150 |
'desc_tip' => __( 'This will add metabox to each product\'s edit page.', 'woocommerce-jetpack' ) .
|
151 |
' ' . __( 'You will be able to select related products manually for each product individually. There is also an option to remove related products on per product basis.', 'woocommerce-jetpack' ) .
|
152 |
+
' ' . apply_filters( 'booster_message', '', 'desc' ),
|
153 |
'id' => 'wcj_product_info_related_products_per_product',
|
154 |
'default' => 'no',
|
155 |
'type' => 'checkbox',
|
156 |
+
'custom_attributes' => apply_filters( 'booster_message', '', 'disabled' ),
|
157 |
),
|
158 |
array(
|
159 |
'type' => 'sectionend',
|
includes/settings/wcj-settings-sale-flash.php
CHANGED
@@ -63,11 +63,11 @@ $settings = array(
|
|
63 |
array(
|
64 |
'title' => __( 'Per Product', 'woocommerce-jetpack' ),
|
65 |
'desc' => '<strong>' . __( 'Enable section', 'woocommerce-jetpack' ) . '</strong>',
|
66 |
-
'desc_tip' => __( 'This will add meta box to each product\'s edit page.', 'woocommerce-jetpack' ) . ' ' . apply_filters( '
|
67 |
'id' => 'wcj_sale_flash_per_product_enabled',
|
68 |
'default' => 'no',
|
69 |
'type' => 'checkbox',
|
70 |
-
'custom_attributes' => apply_filters( '
|
71 |
),
|
72 |
array(
|
73 |
'type' => 'sectionend',
|
@@ -88,11 +88,11 @@ foreach ( $product_terms as $id => $product_term ) {
|
|
88 |
array(
|
89 |
'title' => $title,
|
90 |
'desc' => '<strong>' . __( 'Enable section', 'woocommerce-jetpack' ) . '</strong>',
|
91 |
-
'desc_tip' => apply_filters( '
|
92 |
'id' => 'wcj_sale_flash_per_' . $id . '_enabled',
|
93 |
'default' => 'no',
|
94 |
'type' => 'checkbox',
|
95 |
-
'custom_attributes' => apply_filters( '
|
96 |
),
|
97 |
) );
|
98 |
foreach ( $product_term as $term_id => $term_desc ) {
|
63 |
array(
|
64 |
'title' => __( 'Per Product', 'woocommerce-jetpack' ),
|
65 |
'desc' => '<strong>' . __( 'Enable section', 'woocommerce-jetpack' ) . '</strong>',
|
66 |
+
'desc_tip' => __( 'This will add meta box to each product\'s edit page.', 'woocommerce-jetpack' ) . ' ' . apply_filters( 'booster_message', '', 'desc' ),
|
67 |
'id' => 'wcj_sale_flash_per_product_enabled',
|
68 |
'default' => 'no',
|
69 |
'type' => 'checkbox',
|
70 |
+
'custom_attributes' => apply_filters( 'booster_message', '', 'disabled' ),
|
71 |
),
|
72 |
array(
|
73 |
'type' => 'sectionend',
|
88 |
array(
|
89 |
'title' => $title,
|
90 |
'desc' => '<strong>' . __( 'Enable section', 'woocommerce-jetpack' ) . '</strong>',
|
91 |
+
'desc_tip' => apply_filters( 'booster_message', '', 'desc' ),
|
92 |
'id' => 'wcj_sale_flash_per_' . $id . '_enabled',
|
93 |
'default' => 'no',
|
94 |
'type' => 'checkbox',
|
95 |
+
'custom_attributes' => apply_filters( 'booster_message', '', 'disabled' ),
|
96 |
),
|
97 |
) );
|
98 |
foreach ( $product_term as $term_id => $term_desc ) {
|
includes/settings/wcj-settings-shipping-by-condition.php
CHANGED
@@ -31,11 +31,11 @@ foreach ( $this->condition_options as $options_id => $options_data ) {
|
|
31 |
$settings = array_merge( $settings, $this->get_additional_section_settings( $options_id ) );
|
32 |
foreach ( WC()->shipping()->load_shipping_methods() as $method ) {
|
33 |
if ( ! in_array( $method->id, array( 'flat_rate', 'local_pickup' ) ) ) {
|
34 |
-
$custom_attributes = apply_filters( '
|
35 |
if ( '' == $custom_attributes ) {
|
36 |
$custom_attributes = array();
|
37 |
}
|
38 |
-
$desc_tip = apply_filters( '
|
39 |
} else {
|
40 |
$custom_attributes = array();
|
41 |
$desc_tip = '';
|
31 |
$settings = array_merge( $settings, $this->get_additional_section_settings( $options_id ) );
|
32 |
foreach ( WC()->shipping()->load_shipping_methods() as $method ) {
|
33 |
if ( ! in_array( $method->id, array( 'flat_rate', 'local_pickup' ) ) ) {
|
34 |
+
$custom_attributes = apply_filters( 'booster_message', '', 'disabled' );
|
35 |
if ( '' == $custom_attributes ) {
|
36 |
$custom_attributes = array();
|
37 |
}
|
38 |
+
$desc_tip = apply_filters( 'booster_message', '', 'desc_no_link' );
|
39 |
} else {
|
40 |
$custom_attributes = array();
|
41 |
$desc_tip = '';
|
includes/settings/wcj-settings-shipping-by-order-amount.php
CHANGED
@@ -19,11 +19,11 @@ $settings = array(
|
|
19 |
);
|
20 |
foreach ( WC()->shipping()->load_shipping_methods() as $method ) {
|
21 |
if ( ! in_array( $method->id, array( 'flat_rate', 'free_shipping' ) ) ) {
|
22 |
-
$custom_attributes = apply_filters( '
|
23 |
if ( '' == $custom_attributes ) {
|
24 |
$custom_attributes = array();
|
25 |
}
|
26 |
-
$desc_tip = apply_filters( '
|
27 |
} else {
|
28 |
$custom_attributes = array();
|
29 |
$desc_tip = '';
|
19 |
);
|
20 |
foreach ( WC()->shipping()->load_shipping_methods() as $method ) {
|
21 |
if ( ! in_array( $method->id, array( 'flat_rate', 'free_shipping' ) ) ) {
|
22 |
+
$custom_attributes = apply_filters( 'booster_message', '', 'disabled' );
|
23 |
if ( '' == $custom_attributes ) {
|
24 |
$custom_attributes = array();
|
25 |
}
|
26 |
+
$desc_tip = apply_filters( 'booster_message', '', 'desc_no_link' );
|
27 |
} else {
|
28 |
$custom_attributes = array();
|
29 |
$desc_tip = '';
|
includes/settings/wcj-settings-shipping-calculator.php
CHANGED
@@ -70,24 +70,24 @@ return array(
|
|
70 |
'id' => 'wcj_shipping_calculator_labels_enabled',
|
71 |
'default' => 'no',
|
72 |
'type' => 'checkbox',
|
73 |
-
'desc_tip' => apply_filters( '
|
74 |
-
'custom_attributes' => apply_filters( '
|
75 |
),
|
76 |
array(
|
77 |
'title' => __( 'Label for Calculate Shipping', 'woocommerce-jetpack' ),
|
78 |
'id' => 'wcj_shipping_calculator_label_calculate_shipping',
|
79 |
'default' => __( 'Calculate Shipping', 'woocommerce-jetpack' ),
|
80 |
'type' => 'text',
|
81 |
-
'desc_tip' => apply_filters( '
|
82 |
-
'custom_attributes' => apply_filters( '
|
83 |
),
|
84 |
array(
|
85 |
'title' => __( 'Label for Update Totals', 'woocommerce-jetpack' ),
|
86 |
'id' => 'wcj_shipping_calculator_label_update_totals',
|
87 |
'default' => __( 'Update Totals', 'woocommerce-jetpack' ),
|
88 |
'type' => 'text',
|
89 |
-
'desc_tip' => apply_filters( '
|
90 |
-
'custom_attributes' => apply_filters( '
|
91 |
),
|
92 |
array(
|
93 |
'type' => 'sectionend',
|
70 |
'id' => 'wcj_shipping_calculator_labels_enabled',
|
71 |
'default' => 'no',
|
72 |
'type' => 'checkbox',
|
73 |
+
'desc_tip' => apply_filters( 'booster_message', '', 'desc' ),
|
74 |
+
'custom_attributes' => apply_filters( 'booster_message', '', 'disabled' ),
|
75 |
),
|
76 |
array(
|
77 |
'title' => __( 'Label for Calculate Shipping', 'woocommerce-jetpack' ),
|
78 |
'id' => 'wcj_shipping_calculator_label_calculate_shipping',
|
79 |
'default' => __( 'Calculate Shipping', 'woocommerce-jetpack' ),
|
80 |
'type' => 'text',
|
81 |
+
'desc_tip' => apply_filters( 'booster_message', '', 'desc_no_link' ),
|
82 |
+
'custom_attributes' => apply_filters( 'booster_message', '', 'readonly' ),
|
83 |
),
|
84 |
array(
|
85 |
'title' => __( 'Label for Update Totals', 'woocommerce-jetpack' ),
|
86 |
'id' => 'wcj_shipping_calculator_label_update_totals',
|
87 |
'default' => __( 'Update Totals', 'woocommerce-jetpack' ),
|
88 |
'type' => 'text',
|
89 |
+
'desc_tip' => apply_filters( 'booster_message', '', 'desc_no_link' ),
|
90 |
+
'custom_attributes' => apply_filters( 'booster_message', '', 'readonly' ),
|
91 |
),
|
92 |
array(
|
93 |
'type' => 'sectionend',
|
includes/settings/wcj-settings-shipping-options.php
CHANGED
@@ -33,8 +33,8 @@ $settings = array(
|
|
33 |
'except_local_pickup' => __( 'Hide all except "Local Pickup"', 'woocommerce-jetpack' ),
|
34 |
'flat_rate_only' => __( 'Hide "Flat Rate" only', 'woocommerce-jetpack' ),
|
35 |
),
|
36 |
-
'desc' => apply_filters( '
|
37 |
-
'custom_attributes' => apply_filters( '
|
38 |
),
|
39 |
array(
|
40 |
'title' => __( 'Advanced: Filter Priority', 'woocommerce-jetpack' ),
|
@@ -83,8 +83,8 @@ $settings = array_merge( $settings, array(
|
|
83 |
'all' => __( 'All products in cart must grant free shipping', 'woocommerce-jetpack' ),
|
84 |
'at_least_one' => __( 'At least one product in cart must grant free shipping', 'woocommerce-jetpack' ),
|
85 |
),
|
86 |
-
'desc' => apply_filters( '
|
87 |
-
'custom_attributes' => apply_filters( '
|
88 |
),
|
89 |
array(
|
90 |
'type' => 'sectionend',
|
@@ -116,8 +116,8 @@ $settings = array_merge( $settings, array(
|
|
116 |
'checkout_only' => __( 'Only on checkout page', 'woocommerce-jetpack' ),
|
117 |
),
|
118 |
'desc_tip' => __( 'Possible values: on both cart and checkout pages; only on cart page; only on checkout page', 'woocommerce-jetpack' ),
|
119 |
-
'desc' => apply_filters( '
|
120 |
-
'custom_attributes' => apply_filters( '
|
121 |
),
|
122 |
) );
|
123 |
foreach ( WC()->shipping->get_shipping_methods() as $method ) {
|
@@ -172,8 +172,8 @@ $settings = array_merge( $settings, array(
|
|
172 |
'checkout_only' => __( 'Only on checkout page', 'woocommerce-jetpack' ),
|
173 |
),
|
174 |
'desc_tip' => __( 'Possible values: on both cart and checkout pages; only on cart page; only on checkout page', 'woocommerce-jetpack' ),
|
175 |
-
'desc' => apply_filters( '
|
176 |
-
'custom_attributes' => apply_filters( '
|
177 |
),
|
178 |
array(
|
179 |
'title' => __( 'Icon Style', 'woocommerce-jetpack' ),
|
33 |
'except_local_pickup' => __( 'Hide all except "Local Pickup"', 'woocommerce-jetpack' ),
|
34 |
'flat_rate_only' => __( 'Hide "Flat Rate" only', 'woocommerce-jetpack' ),
|
35 |
),
|
36 |
+
'desc' => apply_filters( 'booster_message', '', 'desc' ),
|
37 |
+
'custom_attributes' => apply_filters( 'booster_message', '', 'disabled' ),
|
38 |
),
|
39 |
array(
|
40 |
'title' => __( 'Advanced: Filter Priority', 'woocommerce-jetpack' ),
|
83 |
'all' => __( 'All products in cart must grant free shipping', 'woocommerce-jetpack' ),
|
84 |
'at_least_one' => __( 'At least one product in cart must grant free shipping', 'woocommerce-jetpack' ),
|
85 |
),
|
86 |
+
'desc' => apply_filters( 'booster_message', '', 'desc' ),
|
87 |
+
'custom_attributes' => apply_filters( 'booster_message', '', 'disabled' ),
|
88 |
),
|
89 |
array(
|
90 |
'type' => 'sectionend',
|
116 |
'checkout_only' => __( 'Only on checkout page', 'woocommerce-jetpack' ),
|
117 |
),
|
118 |
'desc_tip' => __( 'Possible values: on both cart and checkout pages; only on cart page; only on checkout page', 'woocommerce-jetpack' ),
|
119 |
+
'desc' => apply_filters( 'booster_message', '', 'desc' ),
|
120 |
+
'custom_attributes' => apply_filters( 'booster_message', '', 'disabled' ),
|
121 |
),
|
122 |
) );
|
123 |
foreach ( WC()->shipping->get_shipping_methods() as $method ) {
|
172 |
'checkout_only' => __( 'Only on checkout page', 'woocommerce-jetpack' ),
|
173 |
),
|
174 |
'desc_tip' => __( 'Possible values: on both cart and checkout pages; only on cart page; only on checkout page', 'woocommerce-jetpack' ),
|
175 |
+
'desc' => apply_filters( 'booster_message', '', 'desc' ),
|
176 |
+
'custom_attributes' => apply_filters( 'booster_message', '', 'disabled' ),
|
177 |
),
|
178 |
array(
|
179 |
'title' => __( 'Icon Style', 'woocommerce-jetpack' ),
|
includes/settings/wcj-settings-sku.php
CHANGED
@@ -29,8 +29,8 @@ $settings = array(
|
|
29 |
),
|
30 |
'desc_tip' => __( 'Number generation method.', 'woocommerce-jetpack' ) . ' ' .
|
31 |
__( 'Possible values: from product ID, sequential or pseudorandom.', 'woocommerce-jetpack' ),
|
32 |
-
'desc' => apply_filters( '
|
33 |
-
'custom_attributes' => apply_filters( '
|
34 |
),
|
35 |
array(
|
36 |
'title' => __( 'Sequential Number Generation - Counter', 'woocommerce-jetpack' ),
|
@@ -38,20 +38,20 @@ $settings = array(
|
|
38 |
'id' => 'wcj_sku_number_generation_sequential',
|
39 |
'default' => 1,
|
40 |
'type' => 'number',
|
41 |
-
'desc' => apply_filters( '
|
42 |
'custom_attributes' => array_merge(
|
43 |
-
is_array( apply_filters( '
|
44 |
array( 'step' => '1', 'min' => '0', )
|
45 |
),
|
46 |
),
|
47 |
array(
|
48 |
'title' => __( 'Sequential Number Generation - By Category', 'woocommerce-jetpack' ),
|
49 |
-
'desc_tip' => __( 'Enables sequential number generation by category.', 'woocommerce-jetpack' ) . ' ' . apply_filters( '
|
50 |
'desc' => __( 'Enable', 'woocommerce-jetpack' ),
|
51 |
'id' => 'wcj_sku_number_generation_sequential_by_cat',
|
52 |
'default' => 'no',
|
53 |
'type' => 'checkbox',
|
54 |
-
'custom_attributes' => apply_filters( '
|
55 |
),
|
56 |
array(
|
57 |
'title' => __( 'Prefix', 'woocommerce-jetpack' ),
|
@@ -95,8 +95,8 @@ $settings = array(
|
|
95 |
'as_variation' => __( 'Generate different SKU for each variation', 'woocommerce-jetpack' ),
|
96 |
'as_variable_with_suffix' => __( 'SKU same as parent\'s product + variation letter suffix', 'woocommerce-jetpack' ),
|
97 |
),
|
98 |
-
'desc' => apply_filters( '
|
99 |
-
'custom_attributes' => apply_filters( '
|
100 |
),
|
101 |
array(
|
102 |
'type' => 'sectionend',
|
@@ -120,8 +120,8 @@ if ( ! empty( $product_categories ) && ! is_wp_error( $product_categories ) ){
|
|
120 |
'id' => 'wcj_sku_prefix_cat_' . $product_category->term_id,
|
121 |
'default' => '',
|
122 |
'type' => 'text',
|
123 |
-
'desc_tip' => apply_filters( '
|
124 |
-
'custom_attributes' => apply_filters( '
|
125 |
),
|
126 |
array(
|
127 |
'title' => '',
|
29 |
),
|
30 |
'desc_tip' => __( 'Number generation method.', 'woocommerce-jetpack' ) . ' ' .
|
31 |
__( 'Possible values: from product ID, sequential or pseudorandom.', 'woocommerce-jetpack' ),
|
32 |
+
'desc' => apply_filters( 'booster_message', '', 'desc' ),
|
33 |
+
'custom_attributes' => apply_filters( 'booster_message', '', 'disabled' ),
|
34 |
),
|
35 |
array(
|
36 |
'title' => __( 'Sequential Number Generation - Counter', 'woocommerce-jetpack' ),
|
38 |
'id' => 'wcj_sku_number_generation_sequential',
|
39 |
'default' => 1,
|
40 |
'type' => 'number',
|
41 |
+
'desc' => apply_filters( 'booster_message', '', 'desc' ),
|
42 |
'custom_attributes' => array_merge(
|
43 |
+
is_array( apply_filters( 'booster_message', '', 'readonly' ) ) ? apply_filters( 'booster_message', '', 'readonly' ) : array(),
|
44 |
array( 'step' => '1', 'min' => '0', )
|
45 |
),
|
46 |
),
|
47 |
array(
|
48 |
'title' => __( 'Sequential Number Generation - By Category', 'woocommerce-jetpack' ),
|
49 |
+
'desc_tip' => __( 'Enables sequential number generation by category.', 'woocommerce-jetpack' ) . ' ' . apply_filters( 'booster_message', '', 'desc' ),
|
50 |
'desc' => __( 'Enable', 'woocommerce-jetpack' ),
|
51 |
'id' => 'wcj_sku_number_generation_sequential_by_cat',
|
52 |
'default' => 'no',
|
53 |
'type' => 'checkbox',
|
54 |
+
'custom_attributes' => apply_filters( 'booster_message', '', 'disabled' ),
|
55 |
),
|
56 |
array(
|
57 |
'title' => __( 'Prefix', 'woocommerce-jetpack' ),
|
95 |
'as_variation' => __( 'Generate different SKU for each variation', 'woocommerce-jetpack' ),
|
96 |
'as_variable_with_suffix' => __( 'SKU same as parent\'s product + variation letter suffix', 'woocommerce-jetpack' ),
|
97 |
),
|
98 |
+
'desc' => apply_filters( 'booster_message', '', 'desc' ),
|
99 |
+
'custom_attributes' => apply_filters( 'booster_message', '', 'disabled' ),
|
100 |
),
|
101 |
array(
|
102 |
'type' => 'sectionend',
|
120 |
'id' => 'wcj_sku_prefix_cat_' . $product_category->term_id,
|
121 |
'default' => '',
|
122 |
'type' => 'text',
|
123 |
+
'desc_tip' => apply_filters( 'booster_message', '', 'desc_no_link' ),
|
124 |
+
'custom_attributes' => apply_filters( 'booster_message', '', 'readonly' ),
|
125 |
),
|
126 |
array(
|
127 |
'title' => '',
|
includes/settings/wcj-settings-sorting.php
CHANGED
@@ -64,8 +64,8 @@ $settings = array(
|
|
64 |
'id' => 'wcj_sorting_by_sku_num_enabled',
|
65 |
'default' => 'no',
|
66 |
'type' => 'checkbox',
|
67 |
-
'desc_tip' => apply_filters( '
|
68 |
-
'custom_attributes' => apply_filters( '
|
69 |
),
|
70 |
array(
|
71 |
'title' => __( 'Sort by stock quantity', 'woocommerce-jetpack' ),
|
@@ -124,8 +124,8 @@ $settings = array(
|
|
124 |
'id' => 'wcj_sorting_default_sorting_enabled',
|
125 |
'default' => 'no',
|
126 |
'type' => 'checkbox',
|
127 |
-
'desc_tip' => apply_filters( '
|
128 |
-
'custom_attributes' => apply_filters( '
|
129 |
),
|
130 |
);
|
131 |
foreach ( $this->get_woocommerce_default_sortings() as $sorting_key => $sorting_desc ) {
|
@@ -160,11 +160,11 @@ $settings = array_merge( $settings, array(
|
|
160 |
array(
|
161 |
'title' => __( 'Remove All Sorting', 'woocommerce-jetpack' ),
|
162 |
'desc' => __( 'Remove all sorting (including WooCommerce default) from shop\'s frontend', 'woocommerce-jetpack' ),
|
163 |
-
'desc_tip' => apply_filters( '
|
164 |
'id' => 'wcj_sorting_remove_all_enabled',
|
165 |
'default' => 'no',
|
166 |
'type' => 'checkbox',
|
167 |
-
'custom_attributes' => apply_filters( '
|
168 |
),
|
169 |
array(
|
170 |
'type' => 'sectionend',
|
64 |
'id' => 'wcj_sorting_by_sku_num_enabled',
|
65 |
'default' => 'no',
|
66 |
'type' => 'checkbox',
|
67 |
+
'desc_tip' => apply_filters( 'booster_message', '', 'desc' ),
|
68 |
+
'custom_attributes' => apply_filters( 'booster_message', '', 'disabled' ),
|
69 |
),
|
70 |
array(
|
71 |
'title' => __( 'Sort by stock quantity', 'woocommerce-jetpack' ),
|
124 |
'id' => 'wcj_sorting_default_sorting_enabled',
|
125 |
'default' => 'no',
|
126 |
'type' => 'checkbox',
|
127 |
+
'desc_tip' => apply_filters( 'booster_message', '', 'desc' ),
|
128 |
+
'custom_attributes' => apply_filters( 'booster_message', '', 'disabled' ),
|
129 |
),
|
130 |
);
|
131 |
foreach ( $this->get_woocommerce_default_sortings() as $sorting_key => $sorting_desc ) {
|
160 |
array(
|
161 |
'title' => __( 'Remove All Sorting', 'woocommerce-jetpack' ),
|
162 |
'desc' => __( 'Remove all sorting (including WooCommerce default) from shop\'s frontend', 'woocommerce-jetpack' ),
|
163 |
+
'desc_tip' => apply_filters( 'booster_message', '', 'desc' ),
|
164 |
'id' => 'wcj_sorting_remove_all_enabled',
|
165 |
'default' => 'no',
|
166 |
'type' => 'checkbox',
|
167 |
+
'custom_attributes' => apply_filters( 'booster_message', '', 'disabled' ),
|
168 |
),
|
169 |
array(
|
170 |
'type' => 'sectionend',
|
includes/settings/wcj-settings-track-users.php
CHANGED
@@ -43,12 +43,12 @@ return array(
|
|
43 |
'title' => __( 'Track Orders', 'woocommerce-jetpack' ),
|
44 |
'desc_tip' => __( 'Save customer\'s acquisition source (i.e. HTTP referer) for orders.', 'woocommerce-jetpack' ) . ' ' .
|
45 |
__( 'This will add "Booster: Acquisition Source" meta box to each order\'s edit page.', 'woocommerce-jetpack' ) . ' ' .
|
46 |
-
apply_filters( '
|
47 |
'desc' => __( 'Enable', 'woocommerce-jetpack' ),
|
48 |
'id' => 'wcj_track_users_save_order_http_referer_enabled',
|
49 |
'default' => 'no',
|
50 |
'type' => 'checkbox',
|
51 |
-
'custom_attributes' => apply_filters( '
|
52 |
),
|
53 |
array(
|
54 |
'type' => 'sectionend',
|
43 |
'title' => __( 'Track Orders', 'woocommerce-jetpack' ),
|
44 |
'desc_tip' => __( 'Save customer\'s acquisition source (i.e. HTTP referer) for orders.', 'woocommerce-jetpack' ) . ' ' .
|
45 |
__( 'This will add "Booster: Acquisition Source" meta box to each order\'s edit page.', 'woocommerce-jetpack' ) . ' ' .
|
46 |
+
apply_filters( 'booster_message', '', 'desc' ),
|
47 |
'desc' => __( 'Enable', 'woocommerce-jetpack' ),
|
48 |
'id' => 'wcj_track_users_save_order_http_referer_enabled',
|
49 |
'default' => 'no',
|
50 |
'type' => 'checkbox',
|
51 |
+
'custom_attributes' => apply_filters( 'booster_message', '', 'disabled' ),
|
52 |
),
|
53 |
array(
|
54 |
'type' => 'sectionend',
|
includes/settings/wcj-settings-url-coupons.php
CHANGED
@@ -38,8 +38,8 @@ $settings = array(
|
|
38 |
'checkout' => __( 'Redirect to checkout', 'woocommerce-jetpack' ),
|
39 |
'custom' => __( 'Redirect to custom local URL', 'woocommerce-jetpack' ),
|
40 |
),
|
41 |
-
'desc' => apply_filters( '
|
42 |
-
'custom_attributes' => apply_filters( '
|
43 |
),
|
44 |
array(
|
45 |
'desc' => __( 'Custom Local URL', 'woocommerce-jetpack' ),
|
@@ -55,8 +55,8 @@ $settings = array(
|
|
55 |
'id' => 'wcj_url_coupons_fixed_product_discount_add_products',
|
56 |
'default' => 'no',
|
57 |
'type' => 'checkbox',
|
58 |
-
'desc_tip' => apply_filters( '
|
59 |
-
'custom_attributes' => apply_filters( '
|
60 |
),
|
61 |
array(
|
62 |
'type' => 'sectionend',
|
38 |
'checkout' => __( 'Redirect to checkout', 'woocommerce-jetpack' ),
|
39 |
'custom' => __( 'Redirect to custom local URL', 'woocommerce-jetpack' ),
|
40 |
),
|
41 |
+
'desc' => apply_filters( 'booster_message', '', 'desc' ),
|
42 |
+
'custom_attributes' => apply_filters( 'booster_message', '', 'disabled' ),
|
43 |
),
|
44 |
array(
|
45 |
'desc' => __( 'Custom Local URL', 'woocommerce-jetpack' ),
|
55 |
'id' => 'wcj_url_coupons_fixed_product_discount_add_products',
|
56 |
'default' => 'no',
|
57 |
'type' => 'checkbox',
|
58 |
+
'desc_tip' => apply_filters( 'booster_message', '', 'desc' ),
|
59 |
+
'custom_attributes' => apply_filters( 'booster_message', '', 'disabled' ),
|
60 |
),
|
61 |
array(
|
62 |
'type' => 'sectionend',
|
includes/settings/wcj-settings-wholesale-price.php
CHANGED
@@ -2,7 +2,7 @@
|
|
2 |
/**
|
3 |
* Booster for WooCommerce - Settings - Wholesale Price
|
4 |
*
|
5 |
-
* @version 3.
|
6 |
* @since 2.8.0
|
7 |
* @author Algoritmika Ltd.
|
8 |
*/
|
@@ -38,6 +38,14 @@ $settings = array(
|
|
38 |
'default' => 'no',
|
39 |
'type' => 'checkbox',
|
40 |
),
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
41 |
array(
|
42 |
'title' => __( 'Show discount info on cart page', 'woocommerce-jetpack' ),
|
43 |
'desc' => __( 'Show', 'woocommerce-jetpack' ),
|
@@ -94,14 +102,14 @@ $settings = array(
|
|
94 |
'id' => 'wcj_wholesale_price_levels_number',
|
95 |
'default' => 1,
|
96 |
'type' => 'custom_number',
|
97 |
-
'desc' => apply_filters( '
|
98 |
'custom_attributes' => array_merge(
|
99 |
-
is_array( apply_filters( '
|
100 |
array('step' => '1', 'min' => '1', ) ),
|
101 |
'css' => 'width:100px;',
|
102 |
),
|
103 |
);
|
104 |
-
for ( $i = 1; $i <= apply_filters( '
|
105 |
$settings = array_merge( $settings, array(
|
106 |
array(
|
107 |
'title' => __( 'Min quantity', 'woocommerce-jetpack' ) . ' #' . $i,
|
@@ -151,14 +159,14 @@ if ( ! empty( $user_roles ) ) {
|
|
151 |
'id' => 'wcj_wholesale_price_levels_number_' . $user_role_key,
|
152 |
'default' => 1,
|
153 |
'type' => 'custom_number',
|
154 |
-
'desc' => apply_filters( '
|
155 |
'custom_attributes' => array_merge(
|
156 |
-
is_array( apply_filters( '
|
157 |
array('step' => '1', 'min' => '1', ) ),
|
158 |
'css' => 'width:100px;',
|
159 |
),
|
160 |
) );
|
161 |
-
for ( $i = 1; $i <= apply_filters( '
|
162 |
$settings = array_merge( $settings, array(
|
163 |
array(
|
164 |
'title' => __( 'Min quantity', 'woocommerce-jetpack' ) . ' #' . $i . ' [' . $user_role_key . ']',
|
2 |
/**
|
3 |
* Booster for WooCommerce - Settings - Wholesale Price
|
4 |
*
|
5 |
+
* @version 3.3.0
|
6 |
* @since 2.8.0
|
7 |
* @author Algoritmika Ltd.
|
8 |
*/
|
38 |
'default' => 'no',
|
39 |
'type' => 'checkbox',
|
40 |
),
|
41 |
+
array(
|
42 |
+
'title' => __( 'Round single product price', 'woocommerce-jetpack' ),
|
43 |
+
'desc_tip' => __( 'If enabled will round single product price with precision set in WooCommerce > Settings > General > Number of decimals.', 'woocommerce-jetpack' ),
|
44 |
+
'desc' => __( 'Enable', 'woocommerce-jetpack' ),
|
45 |
+
'id' => 'wcj_wholesale_price_rounding_enabled',
|
46 |
+
'default' => 'yes',
|
47 |
+
'type' => 'checkbox',
|
48 |
+
),
|
49 |
array(
|
50 |
'title' => __( 'Show discount info on cart page', 'woocommerce-jetpack' ),
|
51 |
'desc' => __( 'Show', 'woocommerce-jetpack' ),
|
102 |
'id' => 'wcj_wholesale_price_levels_number',
|
103 |
'default' => 1,
|
104 |
'type' => 'custom_number',
|
105 |
+
'desc' => apply_filters( 'booster_message', '', 'desc' ),
|
106 |
'custom_attributes' => array_merge(
|
107 |
+
is_array( apply_filters( 'booster_message', '', 'readonly' ) ) ? apply_filters( 'booster_message', '', 'readonly' ) : array(),
|
108 |
array('step' => '1', 'min' => '1', ) ),
|
109 |
'css' => 'width:100px;',
|
110 |
),
|
111 |
);
|
112 |
+
for ( $i = 1; $i <= apply_filters( 'booster_option', 1, get_option( 'wcj_wholesale_price_levels_number', 1 ) ); $i++ ) {
|
113 |
$settings = array_merge( $settings, array(
|
114 |
array(
|
115 |
'title' => __( 'Min quantity', 'woocommerce-jetpack' ) . ' #' . $i,
|
159 |
'id' => 'wcj_wholesale_price_levels_number_' . $user_role_key,
|
160 |
'default' => 1,
|
161 |
'type' => 'custom_number',
|
162 |
+
'desc' => apply_filters( 'booster_message', '', 'desc' ),
|
163 |
'custom_attributes' => array_merge(
|
164 |
+
is_array( apply_filters( 'booster_message', '', 'readonly' ) ) ? apply_filters( 'booster_message', '', 'readonly' ) : array(),
|
165 |
array('step' => '1', 'min' => '1', ) ),
|
166 |
'css' => 'width:100px;',
|
167 |
),
|
168 |
) );
|
169 |
+
for ( $i = 1; $i <= apply_filters( 'booster_option', 1, get_option( 'wcj_wholesale_price_levels_number_' . $user_role_key, 1 ) ); $i++ ) {
|
170 |
$settings = array_merge( $settings, array(
|
171 |
array(
|
172 |
'title' => __( 'Min quantity', 'woocommerce-jetpack' ) . ' #' . $i . ' [' . $user_role_key . ']',
|
includes/shipping/class-wc-shipping-wcj-custom-with-shipping-zones.php
CHANGED
@@ -149,7 +149,7 @@ if ( ! function_exists( 'init_wc_shipping_wcj_custom_w_zones_class' ) ) {
|
|
149 |
'by_total_cart_weight_table' => __( 'By Total Cart Weight Table', 'woocommerce-jetpack' ),
|
150 |
'by_total_cart_quantity' => __( 'By Total Cart Quantity', 'woocommerce-jetpack' ),
|
151 |
);
|
152 |
-
$type_options = apply_filters( '
|
153 |
'by_total_cart_quantity_table' => __( 'By Total Cart Quantity Table', 'woocommerce-jetpack' ),
|
154 |
) ) );
|
155 |
$this->instance_form_fields = array(
|
@@ -163,7 +163,7 @@ if ( ! function_exists( 'init_wc_shipping_wcj_custom_w_zones_class' ) ) {
|
|
163 |
'type' => array(
|
164 |
'title' => __( 'Type', 'woocommerce' ),
|
165 |
'type' => 'select',
|
166 |
-
'description' => __( 'Cost calculation type.', 'woocommerce-jetpack' ) . ' ' . apply_filters( '
|
167 |
'default' => 'flat_rate',
|
168 |
'desc_tip' => true,
|
169 |
'options' => $type_options,
|
149 |
'by_total_cart_weight_table' => __( 'By Total Cart Weight Table', 'woocommerce-jetpack' ),
|
150 |
'by_total_cart_quantity' => __( 'By Total Cart Quantity', 'woocommerce-jetpack' ),
|
151 |
);
|
152 |
+
$type_options = apply_filters( 'booster_option', $type_options, array_merge( $type_options, array(
|
153 |
'by_total_cart_quantity_table' => __( 'By Total Cart Quantity Table', 'woocommerce-jetpack' ),
|
154 |
) ) );
|
155 |
$this->instance_form_fields = array(
|
163 |
'type' => array(
|
164 |
'title' => __( 'Type', 'woocommerce' ),
|
165 |
'type' => 'select',
|
166 |
+
'description' => __( 'Cost calculation type.', 'woocommerce-jetpack' ) . ' ' . apply_filters( 'booster_message', '', 'desc_advanced_no_link', array( 'option' => __( 'By Total Cart Quantity Table', 'woocommerce-jetpack' ) ) ),
|
167 |
'default' => 'flat_rate',
|
168 |
'desc_tip' => true,
|
169 |
'options' => $type_options,
|
includes/shipping/class-wc-shipping-wcj-custom.php
CHANGED
@@ -102,7 +102,7 @@ if ( ! function_exists( 'init_wc_shipping_wcj_custom_class' ) ) {
|
|
102 |
'by_total_cart_weight_table' => __( 'By Total Cart Weight Table', 'woocommerce-jetpack' ),
|
103 |
'by_total_cart_quantity' => __( 'By Total Cart Quantity', 'woocommerce-jetpack' ),
|
104 |
);
|
105 |
-
$type_options = apply_filters( '
|
106 |
'by_total_cart_quantity_table' => __( 'By Total Cart Quantity Table', 'woocommerce-jetpack' ),
|
107 |
) ) );
|
108 |
$this->form_fields = array(
|
@@ -122,7 +122,7 @@ if ( ! function_exists( 'init_wc_shipping_wcj_custom_class' ) ) {
|
|
122 |
'type' => array(
|
123 |
'title' => __( 'Type', 'woocommerce' ),
|
124 |
'type' => 'select',
|
125 |
-
'description' => __( 'Cost calculation type.', 'woocommerce-jetpack' ) . ' ' . apply_filters( '
|
126 |
'default' => 'flat_rate',
|
127 |
'desc_tip' => true,
|
128 |
'options' => $type_options,
|
102 |
'by_total_cart_weight_table' => __( 'By Total Cart Weight Table', 'woocommerce-jetpack' ),
|
103 |
'by_total_cart_quantity' => __( 'By Total Cart Quantity', 'woocommerce-jetpack' ),
|
104 |
);
|
105 |
+
$type_options = apply_filters( 'booster_option', $type_options, array_merge( $type_options, array(
|
106 |
'by_total_cart_quantity_table' => __( 'By Total Cart Quantity Table', 'woocommerce-jetpack' ),
|
107 |
) ) );
|
108 |
$this->form_fields = array(
|
122 |
'type' => array(
|
123 |
'title' => __( 'Type', 'woocommerce' ),
|
124 |
'type' => 'select',
|
125 |
+
'description' => __( 'Cost calculation type.', 'woocommerce-jetpack' ) . ' ' . apply_filters( 'booster_message', '', 'desc_advanced_no_link', array( 'option' => __( 'By Total Cart Quantity Table', 'woocommerce-jetpack' ) ) ),
|
126 |
'default' => 'flat_rate',
|
127 |
'desc_tip' => true,
|
128 |
'options' => $type_options,
|
includes/shortcodes/class-wcj-shortcodes-general.php
CHANGED
@@ -2,7 +2,7 @@
|
|
2 |
/**
|
3 |
* Booster for WooCommerce - Shortcodes - General
|
4 |
*
|
5 |
-
* @version 3.
|
6 |
* @author Algoritmika Ltd.
|
7 |
*/
|
8 |
|
@@ -15,13 +15,12 @@ class WCJ_General_Shortcodes extends WCJ_Shortcodes {
|
|
15 |
/**
|
16 |
* Constructor.
|
17 |
*
|
18 |
-
* @version 3.
|
19 |
*/
|
20 |
function __construct() {
|
21 |
|
22 |
$this->the_shortcodes = array(
|
23 |
'wcj_barcode',
|
24 |
-
'wcj_tcpdf_barcode',
|
25 |
'wcj_button_toggle_tax_display',
|
26 |
'wcj_cart_items_total_quantity',
|
27 |
'wcj_cart_items_total_weight',
|
@@ -47,7 +46,9 @@ class WCJ_General_Shortcodes extends WCJ_Shortcodes {
|
|
47 |
'wcj_selector',
|
48 |
'wcj_site_url',
|
49 |
'wcj_store_address',
|
|
|
50 |
'wcj_tcpdf_pagebreak',
|
|
|
51 |
'wcj_text',
|
52 |
'wcj_wholesale_price_table',
|
53 |
'wcj_wp_option',
|
@@ -92,6 +93,8 @@ class WCJ_General_Shortcodes extends WCJ_Shortcodes {
|
|
92 |
'width' => 0,
|
93 |
'height' => 0,
|
94 |
'color' => 'black',
|
|
|
|
|
95 |
);
|
96 |
|
97 |
parent::__construct();
|
@@ -99,104 +102,57 @@ class WCJ_General_Shortcodes extends WCJ_Shortcodes {
|
|
99 |
}
|
100 |
|
101 |
/**
|
102 |
-
*
|
103 |
*
|
104 |
-
* @version 3.
|
105 |
-
* @since 3.
|
106 |
-
* @
|
107 |
-
* @todo
|
|
|
|
|
|
|
108 |
*/
|
109 |
-
function
|
110 |
-
|
111 |
-
|
112 |
-
|
113 |
-
|
114 |
-
|
115 |
-
|
116 |
-
|
117 |
-
$atts['
|
118 |
-
|
119 |
-
|
120 |
-
$
|
121 |
-
|
122 |
-
|
123 |
-
|
124 |
-
|
125 |
-
$atts['type'],
|
126 |
-
'', // x
|
127 |
-
'', // y
|
128 |
-
$atts['width'],
|
129 |
-
$atts['height'],
|
130 |
-
0.4, // xres
|
131 |
-
array( // style
|
132 |
-
'position' => 'S',
|
133 |
-
'border' => true,
|
134 |
-
'padding' => 4,
|
135 |
-
'fgcolor' => array( 0, 0, 0 ),
|
136 |
-
'bgcolor' => array( 255, 255, 255 ),
|
137 |
-
'text' => false,
|
138 |
-
),
|
139 |
-
'N', // align
|
140 |
-
);
|
141 |
-
} else {
|
142 |
-
$params = array(
|
143 |
-
$atts['code'],
|
144 |
-
$atts['type'],
|
145 |
-
'', // x
|
146 |
-
'', // y
|
147 |
-
$atts['width'],
|
148 |
-
$atts['height'],
|
149 |
-
array( // style
|
150 |
-
'border' => true,
|
151 |
-
'vpadding' => 'auto',
|
152 |
-
'hpadding' => 'auto',
|
153 |
-
'fgcolor' => array( 0, 0, 0 ),
|
154 |
-
'bgcolor' => array( 255, 255, 255 ),
|
155 |
-
'module_width' => 1, // width of a single module in points
|
156 |
-
'module_height' => 1, // height of a single module in points
|
157 |
-
),
|
158 |
-
'N', // align
|
159 |
-
false, // distort
|
160 |
-
);
|
161 |
-
}
|
162 |
require_once( WCJ_PLUGIN_PATH . '/includes/lib/tcpdf_min/include/tcpdf_static.php' );
|
163 |
$params = TCPDF_STATIC::serializeTCPDFtagParameters( $params );
|
164 |
-
$method =
|
165 |
return '<tcpdf method="' . $method . '" params="' . $params . '" />';
|
166 |
}
|
167 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
168 |
/**
|
169 |
* wcj_barcode.
|
170 |
*
|
171 |
-
* @version 3.
|
172 |
* @since 3.2.4
|
173 |
-
* @todo
|
174 |
-
* @todo `code` from product data (SKU etc.), i.e. `[wcj_product_barcode]`
|
175 |
-
* @todo (maybe) "Barcodes" module
|
176 |
-
* @todo (maybe) `getBarcodePNG()`
|
177 |
*/
|
178 |
function wcj_barcode( $atts ) {
|
179 |
-
|
180 |
-
return '';
|
181 |
-
}
|
182 |
-
if ( '' === $atts['type'] ) {
|
183 |
-
$atts['type'] = ( '1D' === $atts['dimension'] ? 'C39' : 'PDF417' );
|
184 |
-
}
|
185 |
-
if ( 0 === $atts['width'] ) {
|
186 |
-
$atts['width'] = ( '1D' === $atts['dimension'] ? 2 : 10 );
|
187 |
-
}
|
188 |
-
if ( 0 === $atts['height'] ) {
|
189 |
-
$atts['height'] = ( '1D' === $atts['dimension'] ? 30 : 10 );
|
190 |
-
}
|
191 |
-
if ( '1D' === $atts['dimension'] ) {
|
192 |
-
require_once( WCJ_PLUGIN_PATH . '/includes/lib/tcpdf_min/tcpdf_barcodes_1d.php' );
|
193 |
-
$barcode = new TCPDFBarcode( $atts['code'], $atts['type'] );
|
194 |
-
} else {
|
195 |
-
require_once( WCJ_PLUGIN_PATH . '/includes/lib/tcpdf_min/tcpdf_barcodes_2d.php' );
|
196 |
-
$barcode = new TCPDF2DBarcode( $atts['code'], $atts['type'] );
|
197 |
-
}
|
198 |
-
$barcode_array = $barcode->getBarcodeArray();
|
199 |
-
return ( ! empty( $barcode_array ) && is_array( $barcode_array ) ? $barcode->getBarcodeHTML( $atts['width'], $atts['height'], $atts['color'] ) : '' );
|
200 |
}
|
201 |
|
202 |
/**
|
@@ -472,7 +428,7 @@ class WCJ_General_Shortcodes extends WCJ_Shortcodes {
|
|
472 |
$shortcode_currencies = explode( ',', $shortcode_currencies );
|
473 |
}
|
474 |
if ( empty( $shortcode_currencies ) ) {
|
475 |
-
$total_number = apply_filters( '
|
476 |
for ( $i = 1; $i <= $total_number; $i++ ) {
|
477 |
$shortcode_currencies[] = get_option( 'wcj_multicurrency_currency_' . $i );
|
478 |
}
|
@@ -506,7 +462,7 @@ class WCJ_General_Shortcodes extends WCJ_Shortcodes {
|
|
506 |
}
|
507 |
|
508 |
$wholesale_price_levels = array();
|
509 |
-
for ( $i = 1; $i <= apply_filters( '
|
510 |
$level_qty = get_option( 'wcj_wholesale_price_level_min_qty' . $role_option_name_addon . '_' . $i, PHP_INT_MAX );
|
511 |
$discount = get_option( 'wcj_wholesale_price_level_discount_percent' . $role_option_name_addon . '_' . $i, 0 );
|
512 |
$wholesale_price_levels[] = array( 'quantity' => $level_qty, 'discount' => $discount, );
|
2 |
/**
|
3 |
* Booster for WooCommerce - Shortcodes - General
|
4 |
*
|
5 |
+
* @version 3.3.0
|
6 |
* @author Algoritmika Ltd.
|
7 |
*/
|
8 |
|
15 |
/**
|
16 |
* Constructor.
|
17 |
*
|
18 |
+
* @version 3.3.0
|
19 |
*/
|
20 |
function __construct() {
|
21 |
|
22 |
$this->the_shortcodes = array(
|
23 |
'wcj_barcode',
|
|
|
24 |
'wcj_button_toggle_tax_display',
|
25 |
'wcj_cart_items_total_quantity',
|
26 |
'wcj_cart_items_total_weight',
|
46 |
'wcj_selector',
|
47 |
'wcj_site_url',
|
48 |
'wcj_store_address',
|
49 |
+
'wcj_tcpdf_barcode',
|
50 |
'wcj_tcpdf_pagebreak',
|
51 |
+
'wcj_tcpdf_rectangle',
|
52 |
'wcj_text',
|
53 |
'wcj_wholesale_price_table',
|
54 |
'wcj_wp_option',
|
93 |
'width' => 0,
|
94 |
'height' => 0,
|
95 |
'color' => 'black',
|
96 |
+
'x' => 0,
|
97 |
+
'y' => 0,
|
98 |
);
|
99 |
|
100 |
parent::__construct();
|
102 |
}
|
103 |
|
104 |
/**
|
105 |
+
* wcj_tcpdf_rectangle.
|
106 |
*
|
107 |
+
* @version 3.3.0
|
108 |
+
* @since 3.3.0
|
109 |
+
* @see https://tcpdf.org/examples/example_012/
|
110 |
+
* @todo add more atts (e.g. style, fill color etc.)
|
111 |
+
* @todo add options to take `width` and `height` from custom source (e.g. item or order meta)
|
112 |
+
* @todo (maybe) move all `tcpdf` shortcodes to `class-wcj-shortcodes-tcpdf.php`
|
113 |
+
* @todo (maybe) create general `[wcj_tcpdf_method]` shortcode (not sure how to solve `$params` part though)
|
114 |
*/
|
115 |
+
function wcj_tcpdf_rectangle( $atts ) {
|
116 |
+
|
117 |
+
$style = 'D';
|
118 |
+
$border_style = array( 'all' => array( 'width' => 0.5, 'cap' => 'round', 'join' => 'round', 'dash' => 0, 'color' => array( 0, 0, 0 ) ) );
|
119 |
+
$fill_color = array();
|
120 |
+
|
121 |
+
$params = array(
|
122 |
+
$atts['x'],
|
123 |
+
$atts['y'],
|
124 |
+
$atts['width'],
|
125 |
+
$atts['height'],
|
126 |
+
$style,
|
127 |
+
$border_style,
|
128 |
+
$fill_color,
|
129 |
+
);
|
130 |
+
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
131 |
require_once( WCJ_PLUGIN_PATH . '/includes/lib/tcpdf_min/include/tcpdf_static.php' );
|
132 |
$params = TCPDF_STATIC::serializeTCPDFtagParameters( $params );
|
133 |
+
$method = 'Rect';
|
134 |
return '<tcpdf method="' . $method . '" params="' . $params . '" />';
|
135 |
}
|
136 |
|
137 |
+
/**
|
138 |
+
* wcj_tcpdf_barcode.
|
139 |
+
*
|
140 |
+
* @version 3.3.0
|
141 |
+
* @since 3.2.4
|
142 |
+
*/
|
143 |
+
function wcj_tcpdf_barcode( $atts ) {
|
144 |
+
return wcj_tcpdf_barcode( $atts );
|
145 |
+
}
|
146 |
+
|
147 |
/**
|
148 |
* wcj_barcode.
|
149 |
*
|
150 |
+
* @version 3.3.0
|
151 |
* @since 3.2.4
|
152 |
+
* @todo (maybe) current page url as `code`
|
|
|
|
|
|
|
153 |
*/
|
154 |
function wcj_barcode( $atts ) {
|
155 |
+
return wcj_barcode( $atts );
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
156 |
}
|
157 |
|
158 |
/**
|
428 |
$shortcode_currencies = explode( ',', $shortcode_currencies );
|
429 |
}
|
430 |
if ( empty( $shortcode_currencies ) ) {
|
431 |
+
$total_number = apply_filters( 'booster_option', 2, get_option( 'wcj_multicurrency_total_number', 2 ) );
|
432 |
for ( $i = 1; $i <= $total_number; $i++ ) {
|
433 |
$shortcode_currencies[] = get_option( 'wcj_multicurrency_currency_' . $i );
|
434 |
}
|
462 |
}
|
463 |
|
464 |
$wholesale_price_levels = array();
|
465 |
+
for ( $i = 1; $i <= apply_filters( 'booster_option', 1, get_option( 'wcj_wholesale_price_levels_number' . $role_option_name_addon, 1 ) ); $i++ ) {
|
466 |
$level_qty = get_option( 'wcj_wholesale_price_level_min_qty' . $role_option_name_addon . '_' . $i, PHP_INT_MAX );
|
467 |
$discount = get_option( 'wcj_wholesale_price_level_discount_percent' . $role_option_name_addon . '_' . $i, 0 );
|
468 |
$wholesale_price_levels[] = array( 'quantity' => $level_qty, 'discount' => $discount, );
|
includes/shortcodes/class-wcj-shortcodes-order-items.php
CHANGED
@@ -2,7 +2,7 @@
|
|
2 |
/**
|
3 |
* Booster for WooCommerce - Shortcodes - Order Items
|
4 |
*
|
5 |
-
* @version 3.
|
6 |
* @author Algoritmika Ltd.
|
7 |
*/
|
8 |
|
@@ -25,7 +25,7 @@ class WCJ_Order_Items_Shortcodes extends WCJ_Shortcodes {
|
|
25 |
/**
|
26 |
* add_extra_atts.
|
27 |
*
|
28 |
-
* @version 3.
|
29 |
*/
|
30 |
function add_extra_atts( $atts ) {
|
31 |
$modified_atts = array_merge( array(
|
@@ -60,6 +60,8 @@ class WCJ_Order_Items_Shortcodes extends WCJ_Shortcodes {
|
|
60 |
'hide_zero_prices' => 'no',
|
61 |
'multicolumns_glue' => '<br>',
|
62 |
'sort_by_column' => 0,
|
|
|
|
|
63 |
), $atts );
|
64 |
return $modified_atts;
|
65 |
}
|
@@ -312,7 +314,7 @@ class WCJ_Order_Items_Shortcodes extends WCJ_Shortcodes {
|
|
312 |
$data = array();
|
313 |
$item_counter = 0;
|
314 |
foreach ( $the_items as $item_id => $item ) {
|
315 |
-
$item['is_custom'] = ( isset( $item['is_custom'] ) ); // $item['is_custom'] may be defined only if WCJ_IS_WC_VERSION_BELOW_3
|
316 |
$the_product = ( true === $item['is_custom'] ) ? null : $the_order->get_product_from_item( $item );
|
317 |
// Check if it's not excluded by category
|
318 |
if ( '' != $atts['exclude_by_categories'] && $the_product ) {
|
@@ -438,7 +440,7 @@ class WCJ_Order_Items_Shortcodes extends WCJ_Shortcodes {
|
|
438 |
/**
|
439 |
* get_cell.
|
440 |
*
|
441 |
-
* @version 3.
|
442 |
* @since 3.2.0
|
443 |
*/
|
444 |
function get_cell( $column, $column_param, $atts, $the_order, $columns, $item_counter, $item_id, $item, $the_product ) {
|
@@ -620,10 +622,18 @@ class WCJ_Order_Items_Shortcodes extends WCJ_Shortcodes {
|
|
620 |
return $this->wcj_price_shortcode( $the_order->get_item_total( $item, true, true ), $atts );
|
621 |
|
622 |
case 'item_subtotal_tax_excl':
|
623 |
-
return
|
|
|
|
|
|
|
|
|
624 |
|
625 |
case 'item_subtotal_tax_incl':
|
626 |
-
return
|
|
|
|
|
|
|
|
|
627 |
|
628 |
case 'item_tax':
|
629 |
return $this->wcj_price_shortcode( $the_order->get_item_tax( $item, true ), $atts );
|
@@ -637,10 +647,18 @@ class WCJ_Order_Items_Shortcodes extends WCJ_Shortcodes {
|
|
637 |
return $this->wcj_price_shortcode( $the_order->get_line_total( $item, true, true ), $atts );
|
638 |
|
639 |
case 'line_subtotal_tax_excl':
|
640 |
-
return
|
|
|
|
|
|
|
|
|
641 |
|
642 |
case 'line_subtotal_tax_incl':
|
643 |
-
return
|
|
|
|
|
|
|
|
|
644 |
|
645 |
case 'line_tax':
|
646 |
$line_tax = $the_order->get_line_tax( $item );
|
@@ -648,7 +666,10 @@ class WCJ_Order_Items_Shortcodes extends WCJ_Shortcodes {
|
|
648 |
return $this->wcj_price_shortcode( $line_tax, $atts );
|
649 |
|
650 |
case 'line_subtax':
|
651 |
-
$line_subtax =
|
|
|
|
|
|
|
652 |
return $this->wcj_price_shortcode( $line_subtax, $atts );
|
653 |
|
654 |
case 'item_tax_percent':
|
@@ -705,6 +726,38 @@ class WCJ_Order_Items_Shortcodes extends WCJ_Shortcodes {
|
|
705 |
case 'product_purchase_note':
|
706 |
return ( ! is_object( $the_product ) ) ? '' : $the_product->get_purchase_note();
|
707 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
708 |
default:
|
709 |
return '';
|
710 |
}
|
2 |
/**
|
3 |
* Booster for WooCommerce - Shortcodes - Order Items
|
4 |
*
|
5 |
+
* @version 3.3.0
|
6 |
* @author Algoritmika Ltd.
|
7 |
*/
|
8 |
|
25 |
/**
|
26 |
* add_extra_atts.
|
27 |
*
|
28 |
+
* @version 3.3.0
|
29 |
*/
|
30 |
function add_extra_atts( $atts ) {
|
31 |
$modified_atts = array_merge( array(
|
60 |
'hide_zero_prices' => 'no',
|
61 |
'multicolumns_glue' => '<br>',
|
62 |
'sort_by_column' => 0,
|
63 |
+
'product_barcode_width' => 60,
|
64 |
+
'product_barcode_height' => 60,
|
65 |
), $atts );
|
66 |
return $modified_atts;
|
67 |
}
|
314 |
$data = array();
|
315 |
$item_counter = 0;
|
316 |
foreach ( $the_items as $item_id => $item ) {
|
317 |
+
$item['is_custom'] = ( isset( $item['is_custom'] ) ); // todo: $item['is_custom'] may be defined only if WCJ_IS_WC_VERSION_BELOW_3
|
318 |
$the_product = ( true === $item['is_custom'] ) ? null : $the_order->get_product_from_item( $item );
|
319 |
// Check if it's not excluded by category
|
320 |
if ( '' != $atts['exclude_by_categories'] && $the_product ) {
|
440 |
/**
|
441 |
* get_cell.
|
442 |
*
|
443 |
+
* @version 3.3.0
|
444 |
* @since 3.2.0
|
445 |
*/
|
446 |
function get_cell( $column, $column_param, $atts, $the_order, $columns, $item_counter, $item_id, $item, $the_product ) {
|
622 |
return $this->wcj_price_shortcode( $the_order->get_item_total( $item, true, true ), $atts );
|
623 |
|
624 |
case 'item_subtotal_tax_excl':
|
625 |
+
$return = ( is_callable( array( $item, 'get_subtotal' ) ) ? // could also use `is_object( $the_product )`
|
626 |
+
$the_order->get_item_subtotal( $item, false, true ) :
|
627 |
+
$the_order->get_item_total( $item, false, true )
|
628 |
+
);
|
629 |
+
return $this->wcj_price_shortcode( $return, $atts );
|
630 |
|
631 |
case 'item_subtotal_tax_incl':
|
632 |
+
$return = ( is_callable( array( $item, 'get_subtotal' ) ) ?
|
633 |
+
$the_order->get_item_subtotal( $item, true, true ) :
|
634 |
+
$the_order->get_item_total( $item, true, true )
|
635 |
+
);
|
636 |
+
return $this->wcj_price_shortcode( $return, $atts );
|
637 |
|
638 |
case 'item_tax':
|
639 |
return $this->wcj_price_shortcode( $the_order->get_item_tax( $item, true ), $atts );
|
647 |
return $this->wcj_price_shortcode( $the_order->get_line_total( $item, true, true ), $atts );
|
648 |
|
649 |
case 'line_subtotal_tax_excl':
|
650 |
+
$return = ( is_callable( array( $item, 'get_subtotal' ) ) ?
|
651 |
+
$the_order->get_line_subtotal( $item, false, true ) :
|
652 |
+
$the_order->get_line_total( $item, false, true )
|
653 |
+
);
|
654 |
+
return $this->wcj_price_shortcode( $return, $atts );
|
655 |
|
656 |
case 'line_subtotal_tax_incl':
|
657 |
+
$return = ( is_callable( array( $item, 'get_subtotal' ) ) ?
|
658 |
+
$the_order->get_line_subtotal( $item, true, true ) :
|
659 |
+
$the_order->get_line_total( $item, true, true )
|
660 |
+
);
|
661 |
+
return $this->wcj_price_shortcode( $return, $atts );
|
662 |
|
663 |
case 'line_tax':
|
664 |
$line_tax = $the_order->get_line_tax( $item );
|
666 |
return $this->wcj_price_shortcode( $line_tax, $atts );
|
667 |
|
668 |
case 'line_subtax':
|
669 |
+
$line_subtax = ( is_callable( array( $item, 'get_subtotal' ) ) ?
|
670 |
+
$the_order->get_line_subtotal( $item, true, false ) - $the_order->get_line_subtotal( $item, false, false ) :
|
671 |
+
$the_order->get_line_total( $item, true, false ) - $the_order->get_line_total( $item, false, false )
|
672 |
+
);
|
673 |
return $this->wcj_price_shortcode( $line_subtax, $atts );
|
674 |
|
675 |
case 'item_tax_percent':
|
726 |
case 'product_purchase_note':
|
727 |
return ( ! is_object( $the_product ) ) ? '' : $the_product->get_purchase_note();
|
728 |
|
729 |
+
case 'product_barcode':
|
730 |
+
if ( is_object( $the_product ) ) {
|
731 |
+
if ( ! isset( $column_param ) || '' == $column_param ) {
|
732 |
+
$code = $the_product->get_sku();
|
733 |
+
} else {
|
734 |
+
switch ( $column_param ) {
|
735 |
+
case '%id%':
|
736 |
+
$code = $the_product->get_id();
|
737 |
+
break;
|
738 |
+
case '%sku%':
|
739 |
+
$code = $the_product->get_sku();
|
740 |
+
break;
|
741 |
+
case '%url%':
|
742 |
+
$code = $the_product->get_permalink();
|
743 |
+
break;
|
744 |
+
default: // meta
|
745 |
+
$code = get_post_meta( $the_product->get_id(), $column_param, true );
|
746 |
+
}
|
747 |
+
}
|
748 |
+
$atts = array(
|
749 |
+
'code' => $code,
|
750 |
+
'type' => 'PDF417',
|
751 |
+
'dimension' => '2D',
|
752 |
+
'width' => $atts['product_barcode_width'],
|
753 |
+
'height' => $atts['product_barcode_height'],
|
754 |
+
'color' => 'black',
|
755 |
+
);
|
756 |
+
return wcj_tcpdf_barcode( $atts );
|
757 |
+
} else {
|
758 |
+
return '';
|
759 |
+
}
|
760 |
+
|
761 |
default:
|
762 |
return '';
|
763 |
}
|
includes/shortcodes/class-wcj-shortcodes-orders.php
CHANGED
@@ -2,7 +2,7 @@
|
|
2 |
/**
|
3 |
* Booster for WooCommerce - Shortcodes - Orders
|
4 |
*
|
5 |
-
* @version 3.
|
6 |
* @author Algoritmika Ltd.
|
7 |
*/
|
8 |
|
@@ -15,7 +15,7 @@ class WCJ_Orders_Shortcodes extends WCJ_Shortcodes {
|
|
15 |
/**
|
16 |
* Constructor.
|
17 |
*
|
18 |
-
* @version 3.
|
19 |
*/
|
20 |
function __construct() {
|
21 |
|
@@ -38,6 +38,7 @@ class WCJ_Orders_Shortcodes extends WCJ_Shortcodes {
|
|
38 |
'wcj_order_function',
|
39 |
'wcj_order_id',
|
40 |
'wcj_order_items',
|
|
|
41 |
'wcj_order_items_meta',
|
42 |
'wcj_order_items_total_number',
|
43 |
'wcj_order_items_total_quantity',
|
@@ -46,6 +47,7 @@ class WCJ_Orders_Shortcodes extends WCJ_Shortcodes {
|
|
46 |
'wcj_order_number',
|
47 |
'wcj_order_payment_method',
|
48 |
'wcj_order_payment_method_transaction_id',
|
|
|
49 |
'wcj_order_refunds_table',
|
50 |
'wcj_order_remaining_refund_amount',
|
51 |
'wcj_order_shipping_address',
|
@@ -61,6 +63,7 @@ class WCJ_Orders_Shortcodes extends WCJ_Shortcodes {
|
|
61 |
'wcj_order_subtotal_to_display',
|
62 |
'wcj_order_tax_by_class',
|
63 |
'wcj_order_taxes_html',
|
|
|
64 |
'wcj_order_time',
|
65 |
'wcj_order_total',
|
66 |
'wcj_order_total_after_refund',
|
@@ -92,7 +95,7 @@ class WCJ_Orders_Shortcodes extends WCJ_Shortcodes {
|
|
92 |
/**
|
93 |
* add_extra_atts.
|
94 |
*
|
95 |
-
* @version 3.
|
96 |
*/
|
97 |
function add_extra_atts( $atts ) {
|
98 |
$modified_atts = array_merge( array(
|
@@ -128,6 +131,14 @@ class WCJ_Orders_Shortcodes extends WCJ_Shortcodes {
|
|
128 |
'insert_page_break' => '',
|
129 |
'key' => null,
|
130 |
'days' => 0,
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
131 |
), $atts );
|
132 |
|
133 |
return $modified_atts;
|
@@ -135,20 +146,29 @@ class WCJ_Orders_Shortcodes extends WCJ_Shortcodes {
|
|
135 |
|
136 |
/**
|
137 |
* init_atts.
|
|
|
|
|
138 |
*/
|
139 |
function init_atts( $atts ) {
|
140 |
|
141 |
// Atts
|
142 |
-
$atts['excl_tax'] = ( 'yes' === $atts['excl_tax'] )
|
143 |
|
144 |
-
if ( 0 == $atts['order_id'] )
|
145 |
-
|
146 |
-
|
147 |
-
|
|
|
|
|
|
|
|
|
|
|
148 |
|
149 |
// Class properties
|
150 |
$this->the_order = ( 'shop_order' === get_post_type( $atts['order_id'] ) ) ? wc_get_order( $atts['order_id'] ) : null;
|
151 |
-
if ( ! $this->the_order )
|
|
|
|
|
152 |
|
153 |
return $atts;
|
154 |
}
|
@@ -177,10 +197,88 @@ class WCJ_Orders_Shortcodes extends WCJ_Shortcodes {
|
|
177 |
/**
|
178 |
* wcj_price_shortcode.
|
179 |
*
|
180 |
-
* @version
|
181 |
*/
|
182 |
private function wcj_price_shortcode( $raw_price, $atts ) {
|
183 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
184 |
}
|
185 |
|
186 |
/**
|
2 |
/**
|
3 |
* Booster for WooCommerce - Shortcodes - Orders
|
4 |
*
|
5 |
+
* @version 3.3.0
|
6 |
* @author Algoritmika Ltd.
|
7 |
*/
|
8 |
|
15 |
/**
|
16 |
* Constructor.
|
17 |
*
|
18 |
+
* @version 3.3.0
|
19 |
*/
|
20 |
function __construct() {
|
21 |
|
38 |
'wcj_order_function',
|
39 |
'wcj_order_id',
|
40 |
'wcj_order_items',
|
41 |
+
'wcj_order_items_cost',
|
42 |
'wcj_order_items_meta',
|
43 |
'wcj_order_items_total_number',
|
44 |
'wcj_order_items_total_quantity',
|
47 |
'wcj_order_number',
|
48 |
'wcj_order_payment_method',
|
49 |
'wcj_order_payment_method_transaction_id',
|
50 |
+
'wcj_order_profit',
|
51 |
'wcj_order_refunds_table',
|
52 |
'wcj_order_remaining_refund_amount',
|
53 |
'wcj_order_shipping_address',
|
63 |
'wcj_order_subtotal_to_display',
|
64 |
'wcj_order_tax_by_class',
|
65 |
'wcj_order_taxes_html',
|
66 |
+
'wcj_order_tcpdf_barcode',
|
67 |
'wcj_order_time',
|
68 |
'wcj_order_total',
|
69 |
'wcj_order_total_after_refund',
|
95 |
/**
|
96 |
* add_extra_atts.
|
97 |
*
|
98 |
+
* @version 3.3.0
|
99 |
*/
|
100 |
function add_extra_atts( $atts ) {
|
101 |
$modified_atts = array_merge( array(
|
131 |
'insert_page_break' => '',
|
132 |
'key' => null,
|
133 |
'days' => 0,
|
134 |
+
'code' => '',
|
135 |
+
'type' => '',
|
136 |
+
'dimension' => '2D',
|
137 |
+
'width' => 0,
|
138 |
+
'height' => 0,
|
139 |
+
'color' => 'black',
|
140 |
+
'currency' => '',
|
141 |
+
'doc_type' => 'invoice',
|
142 |
), $atts );
|
143 |
|
144 |
return $modified_atts;
|
146 |
|
147 |
/**
|
148 |
* init_atts.
|
149 |
+
*
|
150 |
+
* @todo (maybe) `if ( 'shop_order' !== get_post_type( $atts['order_id'] ) ) return false;`
|
151 |
*/
|
152 |
function init_atts( $atts ) {
|
153 |
|
154 |
// Atts
|
155 |
+
$atts['excl_tax'] = ( 'yes' === $atts['excl_tax'] );
|
156 |
|
157 |
+
if ( 0 == $atts['order_id'] ) {
|
158 |
+
$atts['order_id'] = ( isset( $_GET['order_id'] ) ) ? $_GET['order_id'] : get_the_ID();
|
159 |
+
}
|
160 |
+
if ( 0 == $atts['order_id'] ) {
|
161 |
+
$atts['order_id'] = ( isset( $_GET['pdf_invoice'] ) ) ? $_GET['pdf_invoice'] : 0; // PDF Invoices V1 compatibility
|
162 |
+
}
|
163 |
+
if ( 0 == $atts['order_id'] ) {
|
164 |
+
return false;
|
165 |
+
}
|
166 |
|
167 |
// Class properties
|
168 |
$this->the_order = ( 'shop_order' === get_post_type( $atts['order_id'] ) ) ? wc_get_order( $atts['order_id'] ) : null;
|
169 |
+
if ( ! $this->the_order ) {
|
170 |
+
return false;
|
171 |
+
}
|
172 |
|
173 |
return $atts;
|
174 |
}
|
197 |
/**
|
198 |
* wcj_price_shortcode.
|
199 |
*
|
200 |
+
* @version 3.3.0
|
201 |
*/
|
202 |
private function wcj_price_shortcode( $raw_price, $atts ) {
|
203 |
+
if ( 'yes' === $atts['hide_if_zero'] && 0 == $raw_price ) {
|
204 |
+
return '';
|
205 |
+
} else {
|
206 |
+
$order_currency = wcj_get_order_currency( $this->the_order );
|
207 |
+
if ( '' === $atts['currency'] ) {
|
208 |
+
return wcj_price( $raw_price, $order_currency, $atts['hide_currency'] );
|
209 |
+
} else {
|
210 |
+
$convert_to_currency = $atts['currency'];
|
211 |
+
if ( '%shop_currency%' === $convert_to_currency ) {
|
212 |
+
$convert_to_currency = get_option( 'woocommerce_currency' );
|
213 |
+
}
|
214 |
+
return wcj_price( $raw_price * wcj_get_saved_exchange_rate( $order_currency, $convert_to_currency ), $convert_to_currency, $atts['hide_currency'] );
|
215 |
+
}
|
216 |
+
}
|
217 |
+
}
|
218 |
+
|
219 |
+
/**
|
220 |
+
* wcj_order_items_cost.
|
221 |
+
*
|
222 |
+
* @version 3.3.0
|
223 |
+
* @since 3.3.0
|
224 |
+
*/
|
225 |
+
function wcj_order_items_cost( $atts ) {
|
226 |
+
$atts['type'] = 'items_cost';
|
227 |
+
return $this->wcj_order_profit( $atts );
|
228 |
+
}
|
229 |
+
|
230 |
+
/**
|
231 |
+
* wcj_order_profit.
|
232 |
+
*
|
233 |
+
* @version 3.3.0
|
234 |
+
* @since 3.3.0
|
235 |
+
*/
|
236 |
+
function wcj_order_profit( $atts ) {
|
237 |
+
$total = 0;
|
238 |
+
foreach ( $this->the_order->get_items() as $item_id => $item ) {
|
239 |
+
$product_id = ( ( isset( $item['variation_id'] ) && 0 != $item['variation_id'] && 'no' === get_option( 'wcj_purchase_data_variable_as_simple_enabled', 'no' ) )
|
240 |
+
? $item['variation_id'] : $item['product_id'] );
|
241 |
+
$value = 0;
|
242 |
+
if ( 0 != ( $purchase_price = wc_get_product_purchase_price( $product_id ) ) ) {
|
243 |
+
if ( 'profit' === $atts['type'] || '' === $atts['type'] ) {
|
244 |
+
// profit
|
245 |
+
$_order_prices_include_tax = ( WCJ_IS_WC_VERSION_BELOW_3 ? $this->the_order->prices_include_tax : $this->the_order->get_prices_include_tax() );
|
246 |
+
$line_total = ( $_order_prices_include_tax ? ( $item['line_total'] + $item['line_tax'] ) : $item['line_total'] );
|
247 |
+
$value = $line_total - $purchase_price * $item['qty'];
|
248 |
+
} else {
|
249 |
+
// 'items_cost'
|
250 |
+
$value = $purchase_price * $item['qty'];
|
251 |
+
}
|
252 |
+
}
|
253 |
+
$total += $value;
|
254 |
+
}
|
255 |
+
return $this->wcj_price_shortcode( $total, $atts );
|
256 |
+
}
|
257 |
+
|
258 |
+
/**
|
259 |
+
* wcj_order_tcpdf_barcode.
|
260 |
+
*
|
261 |
+
* @version 3.3.0
|
262 |
+
* @since 3.3.0
|
263 |
+
*/
|
264 |
+
function wcj_order_tcpdf_barcode( $atts ) {
|
265 |
+
switch ( $atts['code'] ) {
|
266 |
+
case '%url%':
|
267 |
+
$atts['code'] = $this->the_order->get_view_order_url();
|
268 |
+
break;
|
269 |
+
case '%id%':
|
270 |
+
$atts['code'] = $atts['order_id'];
|
271 |
+
break;
|
272 |
+
case '%doc_number%':
|
273 |
+
$atts['code'] = wcj_get_invoice_number( $atts['order_id'], $atts['doc_type'] );
|
274 |
+
break;
|
275 |
+
case '%meta%':
|
276 |
+
$atts['code'] = get_post_meta( $atts['order_id'], $atts['meta_key'], true );
|
277 |
+
break;
|
278 |
+
default:
|
279 |
+
return '';
|
280 |
+
}
|
281 |
+
return wcj_tcpdf_barcode( $atts );
|
282 |
}
|
283 |
|
284 |
/**
|
includes/shortcodes/class-wcj-shortcodes-products-add-form.php
CHANGED
@@ -37,7 +37,7 @@ class WCJ_Products_Add_Form_Shortcodes extends WCJ_Shortcodes {
|
|
37 |
'external_url_enabled' => get_option( 'wcj_product_by_user_external_url_enabled', 'no' ),
|
38 |
'cats_enabled' => get_option( 'wcj_product_by_user_cats_enabled', 'no' ),
|
39 |
'tags_enabled' => get_option( 'wcj_product_by_user_tags_enabled', 'no' ),
|
40 |
-
'image_enabled' => apply_filters( '
|
41 |
|
42 |
'desc_required' => get_option( 'wcj_product_by_user_desc_required', 'no' ),
|
43 |
'short_desc_required' => get_option( 'wcj_product_by_user_short_desc_required', 'no' ),
|
@@ -46,7 +46,7 @@ class WCJ_Products_Add_Form_Shortcodes extends WCJ_Shortcodes {
|
|
46 |
'external_url_required' => get_option( 'wcj_product_by_user_external_url_required', 'no' ),
|
47 |
'cats_required' => get_option( 'wcj_product_by_user_cats_required', 'no' ),
|
48 |
'tags_required' => get_option( 'wcj_product_by_user_tags_required', 'no' ),
|
49 |
-
'image_required' => apply_filters( '
|
50 |
|
51 |
'visibility' => implode( ',', get_option( 'wcj_product_by_user_user_visibility', array() ) ),
|
52 |
'module' => 'product_by_user',
|
@@ -58,7 +58,7 @@ class WCJ_Products_Add_Form_Shortcodes extends WCJ_Shortcodes {
|
|
58 |
$this->the_atts['external_url_required'] = 'no';
|
59 |
}
|
60 |
|
61 |
-
$this->the_atts['custom_taxonomies_total'] = apply_filters( '
|
62 |
for ( $i = 1; $i <= $this->the_atts['custom_taxonomies_total']; $i++ ) {
|
63 |
$this->the_atts[ 'custom_taxonomy_' . $i . '_enabled' ] = get_option( 'wcj_product_by_user_custom_taxonomy_' . $i . '_enabled', 'no' );
|
64 |
$this->the_atts[ 'custom_taxonomy_' . $i . '_required' ] = get_option( 'wcj_product_by_user_custom_taxonomy_' . $i . '_required', 'no' );
|
37 |
'external_url_enabled' => get_option( 'wcj_product_by_user_external_url_enabled', 'no' ),
|
38 |
'cats_enabled' => get_option( 'wcj_product_by_user_cats_enabled', 'no' ),
|
39 |
'tags_enabled' => get_option( 'wcj_product_by_user_tags_enabled', 'no' ),
|
40 |
+
'image_enabled' => apply_filters( 'booster_option', 'no', get_option( 'wcj_product_by_user_image_enabled', 'no' ) ),
|
41 |
|
42 |
'desc_required' => get_option( 'wcj_product_by_user_desc_required', 'no' ),
|
43 |
'short_desc_required' => get_option( 'wcj_product_by_user_short_desc_required', 'no' ),
|
46 |
'external_url_required' => get_option( 'wcj_product_by_user_external_url_required', 'no' ),
|
47 |
'cats_required' => get_option( 'wcj_product_by_user_cats_required', 'no' ),
|
48 |
'tags_required' => get_option( 'wcj_product_by_user_tags_required', 'no' ),
|
49 |
+
'image_required' => apply_filters( 'booster_option', 'no', get_option( 'wcj_product_by_user_image_required', 'no' ) ),
|
50 |
|
51 |
'visibility' => implode( ',', get_option( 'wcj_product_by_user_user_visibility', array() ) ),
|
52 |
'module' => 'product_by_user',
|
58 |
$this->the_atts['external_url_required'] = 'no';
|
59 |
}
|
60 |
|
61 |
+
$this->the_atts['custom_taxonomies_total'] = apply_filters( 'booster_option', 1, get_option( 'wcj_product_by_user_custom_taxonomies_total', 1 ) );
|
62 |
for ( $i = 1; $i <= $this->the_atts['custom_taxonomies_total']; $i++ ) {
|
63 |
$this->the_atts[ 'custom_taxonomy_' . $i . '_enabled' ] = get_option( 'wcj_product_by_user_custom_taxonomy_' . $i . '_enabled', 'no' );
|
64 |
$this->the_atts[ 'custom_taxonomy_' . $i . '_required' ] = get_option( 'wcj_product_by_user_custom_taxonomy_' . $i . '_required', 'no' );
|
includes/shortcodes/class-wcj-shortcodes-products-crowdfunding.php
CHANGED
@@ -2,7 +2,7 @@
|
|
2 |
/**
|
3 |
* Booster for WooCommerce - Shortcodes - Products Crowdfunding
|
4 |
*
|
5 |
-
* @version
|
6 |
* @since 2.5.4
|
7 |
* @author Algoritmika Ltd.
|
8 |
*/
|
@@ -46,29 +46,37 @@ class WCJ_Products_Crowdfunding_Shortcodes extends WCJ_Shortcodes {
|
|
46 |
/**
|
47 |
* Inits shortcode atts and properties.
|
48 |
*
|
49 |
-
* @version
|
50 |
* @since 2.5.4
|
51 |
* @param array $atts Shortcode atts.
|
52 |
* @return array The (modified) shortcode atts.
|
|
|
53 |
*/
|
54 |
function init_atts( $atts ) {
|
55 |
|
56 |
// Atts
|
|
|
57 |
if ( 0 == $atts['product_id'] ) {
|
58 |
-
|
59 |
-
|
60 |
-
$
|
61 |
} else {
|
62 |
$atts['product_id'] = get_the_ID();
|
63 |
}
|
64 |
-
if ( 0 == $atts['product_id'] )
|
|
|
|
|
65 |
}
|
66 |
$the_post_type = get_post_type( $atts['product_id'] );
|
67 |
-
if ( 'product' !== $the_post_type && 'product_variation' !== $the_post_type )
|
|
|
|
|
68 |
|
69 |
// Class properties
|
70 |
-
$this->the_product = wc_get_product( $atts['product_id'] );
|
71 |
-
if ( ! $this->the_product )
|
|
|
|
|
72 |
|
73 |
return $atts;
|
74 |
}
|
2 |
/**
|
3 |
* Booster for WooCommerce - Shortcodes - Products Crowdfunding
|
4 |
*
|
5 |
+
* @version 3.3.0
|
6 |
* @since 2.5.4
|
7 |
* @author Algoritmika Ltd.
|
8 |
*/
|
46 |
/**
|
47 |
* Inits shortcode atts and properties.
|
48 |
*
|
49 |
+
* @version 3.3.0
|
50 |
* @since 2.5.4
|
51 |
* @param array $atts Shortcode atts.
|
52 |
* @return array The (modified) shortcode atts.
|
53 |
+
* @todo (maybe) call this function from `WCJ_Products_Shortcodes` class (i.e. make `WCJ_Products_Crowdfunding_Shortcodes extends WCJ_Products_Shortcodes`)
|
54 |
*/
|
55 |
function init_atts( $atts ) {
|
56 |
|
57 |
// Atts
|
58 |
+
$is_passed_product = false;
|
59 |
if ( 0 == $atts['product_id'] ) {
|
60 |
+
if ( isset( $this->passed_product ) ) {
|
61 |
+
$atts['product_id'] = wcj_get_product_id( $this->passed_product );
|
62 |
+
$is_passed_product = true;
|
63 |
} else {
|
64 |
$atts['product_id'] = get_the_ID();
|
65 |
}
|
66 |
+
if ( 0 == $atts['product_id'] ) {
|
67 |
+
return false;
|
68 |
+
}
|
69 |
}
|
70 |
$the_post_type = get_post_type( $atts['product_id'] );
|
71 |
+
if ( 'product' !== $the_post_type && 'product_variation' !== $the_post_type ) {
|
72 |
+
return false;
|
73 |
+
}
|
74 |
|
75 |
// Class properties
|
76 |
+
$this->the_product = ( $is_passed_product ? $this->passed_product : wc_get_product( $atts['product_id'] ) );
|
77 |
+
if ( ! $this->the_product ) {
|
78 |
+
return false;
|
79 |
+
}
|
80 |
|
81 |
return $atts;
|
82 |
}
|
includes/shortcodes/class-wcj-shortcodes-products.php
CHANGED
@@ -2,7 +2,7 @@
|
|
2 |
/**
|
3 |
* Booster for WooCommerce - Shortcodes - Products
|
4 |
*
|
5 |
-
* @version 3.
|
6 |
* @author Algoritmika Ltd.
|
7 |
*/
|
8 |
|
@@ -15,7 +15,7 @@ class WCJ_Products_Shortcodes extends WCJ_Shortcodes {
|
|
15 |
/**
|
16 |
* Constructor.
|
17 |
*
|
18 |
-
* @version 3.
|
19 |
* @todo (maybe) add `[wcj_product_stock_price]`
|
20 |
*/
|
21 |
function __construct() {
|
@@ -27,6 +27,7 @@ class WCJ_Products_Shortcodes extends WCJ_Shortcodes {
|
|
27 |
'wcj_product_author_link_all_posts',
|
28 |
'wcj_product_available_variations',
|
29 |
'wcj_product_average_rating',
|
|
|
30 |
'wcj_product_categories',
|
31 |
'wcj_product_categories_names',
|
32 |
'wcj_product_categories_urls',
|
@@ -106,6 +107,13 @@ class WCJ_Products_Shortcodes extends WCJ_Shortcodes {
|
|
106 |
'variations' => 'no',
|
107 |
'columns_style' => 'text-align: center;',
|
108 |
'currency' => '',
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
109 |
);
|
110 |
|
111 |
parent::__construct();
|
@@ -114,32 +122,65 @@ class WCJ_Products_Shortcodes extends WCJ_Shortcodes {
|
|
114 |
/**
|
115 |
* Inits shortcode atts and properties.
|
116 |
*
|
117 |
-
* @version
|
118 |
* @param array $atts Shortcode atts.
|
119 |
* @return array The (modified) shortcode atts.
|
120 |
*/
|
121 |
function init_atts( $atts ) {
|
122 |
|
123 |
// Atts
|
|
|
124 |
if ( 0 == $atts['product_id'] ) {
|
125 |
-
|
126 |
-
|
127 |
-
$
|
128 |
} else {
|
129 |
$atts['product_id'] = get_the_ID();
|
130 |
}
|
131 |
-
if ( 0 == $atts['product_id'] )
|
|
|
|
|
132 |
}
|
133 |
$the_post_type = get_post_type( $atts['product_id'] );
|
134 |
-
if ( 'product' !== $the_post_type && 'product_variation' !== $the_post_type )
|
|
|
|
|
135 |
|
136 |
// Class properties
|
137 |
-
$this->the_product = wc_get_product( $atts['product_id'] );
|
138 |
-
if ( ! $this->the_product )
|
|
|
|
|
139 |
|
140 |
return $atts;
|
141 |
}
|
142 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
143 |
/**
|
144 |
* wcj_product_id.
|
145 |
*
|
@@ -736,13 +777,13 @@ class WCJ_Products_Shortcodes extends WCJ_Shortcodes {
|
|
736 |
|
737 |
$wholesale_price_levels = array();
|
738 |
if ( wcj_is_product_wholesale_enabled_per_product( $product_id ) ) {
|
739 |
-
for ( $i = 1; $i <= apply_filters( '
|
740 |
$level_qty = get_post_meta( $product_id, '_' . 'wcj_wholesale_price_level_min_qty' . $role_option_name_addon . '_' . $i, true );
|
741 |
$discount = get_post_meta( $product_id, '_' . 'wcj_wholesale_price_level_discount' . $role_option_name_addon . '_' . $i, true );
|
742 |
$wholesale_price_levels[] = array( 'quantity' => $level_qty, 'discount' => $discount, );
|
743 |
}
|
744 |
} else {
|
745 |
-
for ( $i = 1; $i <= apply_filters( '
|
746 |
$level_qty = get_option( 'wcj_wholesale_price_level_min_qty' . $role_option_name_addon . '_' . $i, PHP_INT_MAX );
|
747 |
$discount = get_option( 'wcj_wholesale_price_level_discount_percent' . $role_option_name_addon . '_' . $i, 0 );
|
748 |
$wholesale_price_levels[] = array( 'quantity' => $level_qty, 'discount' => $discount, );
|
2 |
/**
|
3 |
* Booster for WooCommerce - Shortcodes - Products
|
4 |
*
|
5 |
+
* @version 3.3.0
|
6 |
* @author Algoritmika Ltd.
|
7 |
*/
|
8 |
|
15 |
/**
|
16 |
* Constructor.
|
17 |
*
|
18 |
+
* @version 3.3.0
|
19 |
* @todo (maybe) add `[wcj_product_stock_price]`
|
20 |
*/
|
21 |
function __construct() {
|
27 |
'wcj_product_author_link_all_posts',
|
28 |
'wcj_product_available_variations',
|
29 |
'wcj_product_average_rating',
|
30 |
+
'wcj_product_barcode',
|
31 |
'wcj_product_categories',
|
32 |
'wcj_product_categories_names',
|
33 |
'wcj_product_categories_urls',
|
107 |
'variations' => 'no',
|
108 |
'columns_style' => 'text-align: center;',
|
109 |
'currency' => '',
|
110 |
+
'code' => '',
|
111 |
+
'type' => '',
|
112 |
+
'dimension' => '2D',
|
113 |
+
'width' => 0,
|
114 |
+
'height' => 0,
|
115 |
+
'color' => 'black',
|
116 |
+
'meta_key' => '',
|
117 |
);
|
118 |
|
119 |
parent::__construct();
|
122 |
/**
|
123 |
* Inits shortcode atts and properties.
|
124 |
*
|
125 |
+
* @version 3.3.0
|
126 |
* @param array $atts Shortcode atts.
|
127 |
* @return array The (modified) shortcode atts.
|
128 |
*/
|
129 |
function init_atts( $atts ) {
|
130 |
|
131 |
// Atts
|
132 |
+
$is_passed_product = false;
|
133 |
if ( 0 == $atts['product_id'] ) {
|
134 |
+
if ( isset( $this->passed_product ) ) {
|
135 |
+
$atts['product_id'] = wcj_get_product_id( $this->passed_product );
|
136 |
+
$is_passed_product = true;
|
137 |
} else {
|
138 |
$atts['product_id'] = get_the_ID();
|
139 |
}
|
140 |
+
if ( 0 == $atts['product_id'] ) {
|
141 |
+
return false;
|
142 |
+
}
|
143 |
}
|
144 |
$the_post_type = get_post_type( $atts['product_id'] );
|
145 |
+
if ( 'product' !== $the_post_type && 'product_variation' !== $the_post_type ) {
|
146 |
+
return false;
|
147 |
+
}
|
148 |
|
149 |
// Class properties
|
150 |
+
$this->the_product = ( $is_passed_product ? $this->passed_product : wc_get_product( $atts['product_id'] ) );
|
151 |
+
if ( ! $this->the_product ) {
|
152 |
+
return false;
|
153 |
+
}
|
154 |
|
155 |
return $atts;
|
156 |
}
|
157 |
|
158 |
+
/**
|
159 |
+
* wcj_product_barcode.
|
160 |
+
*
|
161 |
+
* @version 3.3.0
|
162 |
+
* @since 3.3.0
|
163 |
+
*/
|
164 |
+
function wcj_product_barcode( $atts ) {
|
165 |
+
switch ( $atts['code'] ) {
|
166 |
+
case '%id%':
|
167 |
+
$atts['code'] = $atts['product_id'];
|
168 |
+
break;
|
169 |
+
case '%sku%':
|
170 |
+
$atts['code'] = $this->the_product->get_sku();
|
171 |
+
break;
|
172 |
+
case '%url%':
|
173 |
+
$atts['code'] = $this->the_product->get_permalink();
|
174 |
+
break;
|
175 |
+
case '%meta%':
|
176 |
+
$atts['code'] = get_post_meta( $atts['product_id'], $atts['meta_key'], true );
|
177 |
+
break;
|
178 |
+
default:
|
179 |
+
return '';
|
180 |
+
}
|
181 |
+
return wcj_barcode( $atts );
|
182 |
+
}
|
183 |
+
|
184 |
/**
|
185 |
* wcj_product_id.
|
186 |
*
|
777 |
|
778 |
$wholesale_price_levels = array();
|
779 |
if ( wcj_is_product_wholesale_enabled_per_product( $product_id ) ) {
|
780 |
+
for ( $i = 1; $i <= apply_filters( 'booster_option', 1, get_post_meta( $product_id, '_' . 'wcj_wholesale_price_levels_number' . $role_option_name_addon, true ) ); $i++ ) {
|
781 |
$level_qty = get_post_meta( $product_id, '_' . 'wcj_wholesale_price_level_min_qty' . $role_option_name_addon . '_' . $i, true );
|
782 |
$discount = get_post_meta( $product_id, '_' . 'wcj_wholesale_price_level_discount' . $role_option_name_addon . '_' . $i, true );
|
783 |
$wholesale_price_levels[] = array( 'quantity' => $level_qty, 'discount' => $discount, );
|
784 |
}
|
785 |
} else {
|
786 |
+
for ( $i = 1; $i <= apply_filters( 'booster_option', 1, get_option( 'wcj_wholesale_price_levels_number' . $role_option_name_addon, 1 ) ); $i++ ) {
|
787 |
$level_qty = get_option( 'wcj_wholesale_price_level_min_qty' . $role_option_name_addon . '_' . $i, PHP_INT_MAX );
|
788 |
$discount = get_option( 'wcj_wholesale_price_level_discount_percent' . $role_option_name_addon . '_' . $i, 0 );
|
789 |
$wholesale_price_levels[] = array( 'quantity' => $level_qty, 'discount' => $discount, );
|
includes/templates/cart-empty.php
CHANGED
@@ -1,36 +1,36 @@
|
|
1 |
-
<?php
|
2 |
-
/**
|
3 |
-
* Empty cart page
|
4 |
-
*
|
5 |
-
* This template can be overridden by copying it to yourtheme/woocommerce/cart/cart-empty.php.
|
6 |
-
*
|
7 |
-
* HOWEVER, on occasion WooCommerce will need to update template files and you
|
8 |
-
* (the theme developer) will need to copy the new files to your theme to
|
9 |
-
* maintain compatibility. We try to do this as little as possible, but it does
|
10 |
-
* happen. When this occurs the version of the template file will be bumped and
|
11 |
-
* the readme will list any important changes.
|
12 |
-
*
|
13 |
-
* @see https://docs.woocommerce.com/document/template-structure/
|
14 |
-
* @author WooThemes
|
15 |
-
* @package WooCommerce/Templates
|
16 |
-
* @version 3.1.0
|
17 |
-
*/
|
18 |
-
|
19 |
-
if ( ! defined( 'ABSPATH' ) ) {
|
20 |
-
exit; // Exit if accessed directly
|
21 |
-
}
|
22 |
-
|
23 |
-
wc_print_notices();
|
24 |
-
|
25 |
-
/**
|
26 |
-
* @hooked wc_empty_cart_message - 10
|
27 |
-
*/
|
28 |
-
do_action( 'woocommerce_cart_is_empty' );
|
29 |
-
|
30 |
-
if ( wc_get_page_id( 'shop' ) > 0 ) : ?>
|
31 |
-
<p class="return-to-shop">
|
32 |
-
<a class="button wc-backward" href="<?php echo esc_url( apply_filters( 'woocommerce_return_to_shop_redirect', wc_get_page_permalink( 'shop' ) ) ); ?>">
|
33 |
-
<?php echo apply_filters( 'wcj_return_to_shop_text', __( 'Return to shop', 'woocommerce' ) ); ?>
|
34 |
-
</a>
|
35 |
-
</p>
|
36 |
-
<?php endif; ?>
|
1 |
+
<?php
|
2 |
+
/**
|
3 |
+
* Empty cart page
|
4 |
+
*
|
5 |
+
* This template can be overridden by copying it to yourtheme/woocommerce/cart/cart-empty.php.
|
6 |
+
*
|
7 |
+
* HOWEVER, on occasion WooCommerce will need to update template files and you
|
8 |
+
* (the theme developer) will need to copy the new files to your theme to
|
9 |
+
* maintain compatibility. We try to do this as little as possible, but it does
|
10 |
+
* happen. When this occurs the version of the template file will be bumped and
|
11 |
+
* the readme will list any important changes.
|
12 |
+
*
|
13 |
+
* @see https://docs.woocommerce.com/document/template-structure/
|
14 |
+
* @author WooThemes
|
15 |
+
* @package WooCommerce/Templates
|
16 |
+
* @version 3.1.0
|
17 |
+
*/
|
18 |
+
|
19 |
+
if ( ! defined( 'ABSPATH' ) ) {
|
20 |
+
exit; // Exit if accessed directly
|
21 |
+
}
|
22 |
+
|
23 |
+
wc_print_notices();
|
24 |
+
|
25 |
+
/**
|
26 |
+
* @hooked wc_empty_cart_message - 10
|
27 |
+
*/
|
28 |
+
do_action( 'woocommerce_cart_is_empty' );
|
29 |
+
|
30 |
+
if ( wc_get_page_id( 'shop' ) > 0 ) : ?>
|
31 |
+
<p class="return-to-shop">
|
32 |
+
<a class="button wc-backward" href="<?php echo esc_url( apply_filters( 'woocommerce_return_to_shop_redirect', wc_get_page_permalink( 'shop' ) ) ); ?>">
|
33 |
+
<?php echo apply_filters( 'wcj_return_to_shop_text', __( 'Return to shop', 'woocommerce' ) ); ?>
|
34 |
+
</a>
|
35 |
+
</p>
|
36 |
+
<?php endif; ?>
|
includes/tools/class-wcj-order-statuses-tool.php
CHANGED
@@ -155,7 +155,7 @@ class WCJ_Order_Statuses_Tool {
|
|
155 |
$color_html = '<input disabled type="color" value="' . $icon_data['color'] . '">';
|
156 |
$delete_button = '<a class="button-primary" href="' . add_query_arg( 'delete', $status, remove_query_arg( 'edit' ) ) .
|
157 |
'" onclick="return confirm(\'' . __( 'Are you sure?', 'woocommerce-jetpack' ) . '\')">' . __( 'Delete', 'woocommerce-jetpack' ) . '</a>';
|
158 |
-
$edit_button = '<a class="button-primary"' . ( '' != apply_filters( '
|
159 |
' disabled title="' . __( 'Get Booster Plus to enable.', 'woocommerce-jetpack' ) . '"' :
|
160 |
' href="' . add_query_arg( 'edit', $status, remove_query_arg( 'delete' ) ) . '"' ) . '>' . __( 'Edit', 'woocommerce-jetpack' ) . '</a>';
|
161 |
$row = array_merge( $row, array(
|
155 |
$color_html = '<input disabled type="color" value="' . $icon_data['color'] . '">';
|
156 |
$delete_button = '<a class="button-primary" href="' . add_query_arg( 'delete', $status, remove_query_arg( 'edit' ) ) .
|
157 |
'" onclick="return confirm(\'' . __( 'Are you sure?', 'woocommerce-jetpack' ) . '\')">' . __( 'Delete', 'woocommerce-jetpack' ) . '</a>';
|
158 |
+
$edit_button = '<a class="button-primary"' . ( '' != apply_filters( 'booster_message', '', 'desc' ) ?
|
159 |
' disabled title="' . __( 'Get Booster Plus to enable.', 'woocommerce-jetpack' ) . '"' :
|
160 |
' href="' . add_query_arg( 'edit', $status, remove_query_arg( 'delete' ) ) . '"' ) . '>' . __( 'Edit', 'woocommerce-jetpack' ) . '</a>';
|
161 |
$row = array_merge( $row, array(
|
langs/woocommerce-jetpack.pot
CHANGED
@@ -1,5 +1,28 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
#: includes/class-wcj-add-to-cart.php:23
|
2 |
-
msgid "Add to Cart Labels"
|
3 |
msgstr ""
|
4 |
|
5 |
#: includes/class-wcj-add-to-cart.php:24
|
@@ -49,14 +72,14 @@ msgstr ""
|
|
49 |
#: includes/class-wcj-admin-bar.php:166 includes/class-wcj-admin-bar.php:461
|
50 |
#: includes/class-wcj-admin-bar.php:561
|
51 |
#: includes/admin/class-wc-settings-jetpack.php:211
|
52 |
-
#: includes/admin/class-wc-settings-jetpack.php:
|
53 |
-
#: includes/core/class-wcj-admin.php:
|
54 |
msgid "Settings"
|
55 |
msgstr ""
|
56 |
|
57 |
#: includes/class-wcj-admin-bar.php:170
|
58 |
-
#: includes/admin/class-wc-settings-jetpack.php:
|
59 |
-
#: includes/classes/class-wcj-module.php:
|
60 |
msgid "Documentation"
|
61 |
msgstr ""
|
62 |
|
@@ -75,7 +98,7 @@ msgstr ""
|
|
75 |
|
76 |
#: includes/class-wcj-admin-bar.php:237 includes/class-wcj-admin-bar.php:274
|
77 |
#: includes/class-wcj-admin-bar.php:585
|
78 |
-
#: includes/classes/class-wcj-module.php:
|
79 |
#: includes/settings/wcj-settings-wpml.php:15
|
80 |
msgid "Tools"
|
81 |
msgstr ""
|
@@ -86,14 +109,14 @@ msgstr ""
|
|
86 |
|
87 |
#: includes/class-wcj-admin-bar.php:262
|
88 |
#: includes/class-wcj-checkout-files-upload.php:145
|
89 |
-
#: includes/class-wcj-eu-vat-number.php:
|
90 |
-
#: includes/class-wcj-payment-gateways.php:
|
91 |
#: includes/class-wcj-track-users.php:117
|
92 |
#: includes/class-wcj-track-users.php:213
|
93 |
#: includes/admin/class-wc-settings-jetpack.php:24
|
94 |
#: includes/admin/class-wc-settings-jetpack.php:213
|
95 |
#: includes/classes/class-wcj-module.php:295
|
96 |
-
#: includes/classes/class-wcj-module.php:
|
97 |
msgid "Booster"
|
98 |
msgstr ""
|
99 |
|
@@ -203,7 +226,7 @@ msgid "Most Stocked"
|
|
203 |
msgstr ""
|
204 |
|
205 |
#: includes/class-wcj-admin-bar.php:405
|
206 |
-
#: includes/class-wcj-eu-vat-number.php:
|
207 |
msgid "Taxes"
|
208 |
msgstr ""
|
209 |
|
@@ -296,7 +319,7 @@ msgstr ""
|
|
296 |
#: includes/settings/wcj-settings-checkout-custom-fields.php:170
|
297 |
#: includes/settings/wcj-settings-checkout-custom-info.php:56
|
298 |
#: includes/settings/wcj-settings-empty-cart.php:59
|
299 |
-
#: includes/settings/wcj-settings-left-to-free-shipping.php:
|
300 |
#: includes/settings/wcj-settings-price-by-user-role.php:46
|
301 |
msgid "Shipping"
|
302 |
msgstr ""
|
@@ -441,44 +464,48 @@ msgstr ""
|
|
441 |
msgid "Current PHP time limit: %s seconds."
|
442 |
msgstr ""
|
443 |
|
444 |
-
#: includes/class-wcj-admin-tools.php:
|
445 |
#: includes/settings/wcj-settings-export.php:157
|
446 |
#: includes/settings/wcj-settings-export.php:236
|
447 |
msgid "Product Meta"
|
448 |
msgstr ""
|
449 |
|
450 |
-
#: includes/class-wcj-admin-tools.php:
|
451 |
#: includes/settings/wcj-settings-export.php:86
|
452 |
#: includes/settings/wcj-settings-export.php:154
|
453 |
msgid "Order Meta"
|
454 |
msgstr ""
|
455 |
|
456 |
-
#: includes/class-wcj-admin-tools.php:
|
457 |
msgid "Order Items Meta"
|
458 |
msgstr ""
|
459 |
|
460 |
-
#: includes/class-wcj-admin-tools.php:
|
461 |
msgid "Item Key"
|
462 |
msgstr ""
|
463 |
|
464 |
-
#: includes/class-wcj-admin-tools.php:
|
465 |
msgid "Item Meta Key"
|
466 |
msgstr ""
|
467 |
|
468 |
-
#: includes/class-wcj-admin-tools.php:
|
469 |
msgid "Item Meta Value"
|
470 |
msgstr ""
|
471 |
|
472 |
-
#: includes/class-wcj-admin-tools.php:
|
473 |
msgid "Delete Log"
|
474 |
msgstr ""
|
475 |
|
476 |
-
#: includes/class-wcj-admin-tools.php:
|
477 |
#, php-format
|
478 |
msgid "Now: %s"
|
479 |
msgstr ""
|
480 |
|
481 |
-
#: includes/class-wcj-admin-tools.php:
|
|
|
|
|
|
|
|
|
482 |
msgid "NOT DEFINED"
|
483 |
msgstr ""
|
484 |
|
@@ -560,12 +587,17 @@ msgid ""
|
|
560 |
"selected fields on checkout for logged users and more."
|
561 |
msgstr ""
|
562 |
|
563 |
-
#: includes/class-wcj-checkout-customization.php:
|
|
|
|
|
|
|
|
|
|
|
564 |
#: includes/settings/wcj-settings-checkout-customization.php:86
|
565 |
msgid "Thank you. Your order has been received."
|
566 |
msgstr ""
|
567 |
|
568 |
-
#: includes/class-wcj-checkout-customization.php:
|
569 |
#: includes/settings/wcj-settings-checkout-customization.php:72
|
570 |
msgid "This field can not be changed"
|
571 |
msgstr ""
|
@@ -730,21 +762,21 @@ msgstr ""
|
|
730 |
msgid "Display prices for WooCommerce products in different currencies."
|
731 |
msgstr ""
|
732 |
|
733 |
-
#: includes/class-wcj-currency-per-product.php:
|
734 |
#: includes/settings/wcj-settings-currency-per-product.php:43
|
735 |
msgid ""
|
736 |
"Only one product can be added to the cart. Clear the cart or finish the "
|
737 |
"order, before adding another product to the cart."
|
738 |
msgstr ""
|
739 |
|
740 |
-
#: includes/class-wcj-currency-per-product.php:
|
741 |
#: includes/settings/wcj-settings-currency-per-product.php:50
|
742 |
msgid ""
|
743 |
"Only products with same currency can be added to the cart. Clear the cart or "
|
744 |
"finish the order, before adding products with another currency to the cart."
|
745 |
msgstr ""
|
746 |
|
747 |
-
#: includes/class-wcj-currency-per-product.php:
|
748 |
#, php-format
|
749 |
msgctxt "Price range: from-to"
|
750 |
msgid "%1$s–%2$s"
|
@@ -912,7 +944,7 @@ msgid "Booster: Send Email: %s"
|
|
912 |
msgstr ""
|
913 |
|
914 |
#: includes/class-wcj-empty-cart-button.php:25
|
915 |
-
#: includes/shortcodes/class-wcj-shortcodes-general.php:
|
916 |
msgid "Empty Cart Button"
|
917 |
msgstr ""
|
918 |
|
@@ -923,7 +955,7 @@ msgid ""
|
|
923 |
msgstr ""
|
924 |
|
925 |
#: includes/class-wcj-eu-vat-number.php:24
|
926 |
-
#: includes/class-wcj-eu-vat-number.php:
|
927 |
#: includes/settings/wcj-settings-eu-vat-number.php:22
|
928 |
#: includes/settings/wcj-settings-eu-vat-number.php:29
|
929 |
msgid "EU VAT Number"
|
@@ -944,45 +976,50 @@ msgstr ""
|
|
944 |
msgid "Add all EU countries VAT standard rates to WooCommerce."
|
945 |
msgstr ""
|
946 |
|
947 |
-
#: includes/class-wcj-eu-vat-number.php:
|
948 |
msgid "Customer IP"
|
949 |
msgstr ""
|
950 |
|
951 |
-
#: includes/class-wcj-eu-vat-number.php:
|
|
|
952 |
msgid "Country by IP"
|
953 |
msgstr ""
|
954 |
|
955 |
-
#: includes/class-wcj-eu-vat-number.php:
|
956 |
msgid "Customer EU VAT Number"
|
957 |
msgstr ""
|
958 |
|
959 |
-
#: includes/class-wcj-eu-vat-number.php:
|
|
|
|
|
|
|
|
|
960 |
#: includes/settings/wcj-settings-eu-vat-number.php:165
|
961 |
msgid "Validating VAT. Please wait..."
|
962 |
msgstr ""
|
963 |
|
964 |
-
#: includes/class-wcj-eu-vat-number.php:
|
965 |
#: includes/settings/wcj-settings-eu-vat-number.php:172
|
966 |
msgid "VAT is valid."
|
967 |
msgstr ""
|
968 |
|
969 |
-
#: includes/class-wcj-eu-vat-number.php:
|
970 |
#: includes/settings/wcj-settings-eu-vat-number.php:179
|
971 |
msgid "VAT is not valid."
|
972 |
msgstr ""
|
973 |
|
974 |
-
#: includes/class-wcj-eu-vat-number.php:
|
975 |
#: includes/settings/wcj-settings-eu-vat-number.php:187
|
976 |
msgid "Validation failed. Please try again."
|
977 |
msgstr ""
|
978 |
|
979 |
-
#: includes/class-wcj-eu-vat-number.php:
|
980 |
#: includes/settings/wcj-settings-eu-vat-number.php:83
|
981 |
msgid "<strong>EU VAT Number</strong> is not valid."
|
982 |
msgstr ""
|
983 |
|
984 |
#: includes/class-wcj-export-import.php:26
|
985 |
-
#: includes/admin/class-wc-settings-jetpack.php:
|
986 |
msgid "Export"
|
987 |
msgstr ""
|
988 |
|
@@ -1140,7 +1177,7 @@ msgstr ""
|
|
1140 |
#: includes/class-wcj-general.php:197 includes/class-wcj-general.php:210
|
1141 |
#: includes/class-wcj-sku.php:333
|
1142 |
#: includes/reports/wcj-class-reports-sales.php:192
|
1143 |
-
#: includes/settings/wcj-settings-order-numbers.php:
|
1144 |
#: includes/settings/wcj-settings-product-by-user.php:161
|
1145 |
#: includes/settings/wcj-settings-related-products.php:30
|
1146 |
msgid "ID"
|
@@ -1156,17 +1193,18 @@ msgstr ""
|
|
1156 |
|
1157 |
#: includes/class-wcj-general.php:197
|
1158 |
#: includes/class-wcj-product-by-user.php:197
|
1159 |
-
#: includes/settings/wcj-settings-pdf-invoicing-
|
1160 |
#: includes/tools/class-wcj-order-statuses-tool.php:142
|
1161 |
#: includes/tools/class-wcj-order-statuses-tool.php:214
|
1162 |
msgid "Actions"
|
1163 |
msgstr ""
|
1164 |
|
1165 |
#: includes/class-wcj-general.php:203
|
|
|
1166 |
#: includes/class-wcj-product-bulk-meta-editor.php:367
|
1167 |
#: includes/class-wcj-product-by-user.php:206
|
1168 |
#: includes/pdf-invoices/submodules/class-wcj-pdf-invoicing-display.php:138
|
1169 |
-
#: includes/pdf-invoices/submodules/class-wcj-pdf-invoicing-display.php:
|
1170 |
#: includes/shortcodes/class-wcj-shortcodes-products-add-form.php:367
|
1171 |
#: includes/tools/class-wcj-order-statuses-tool.php:157
|
1172 |
msgid "Delete"
|
@@ -1181,7 +1219,7 @@ msgid "Add New Role"
|
|
1181 |
msgstr ""
|
1182 |
|
1183 |
#: includes/class-wcj-general.php:215
|
1184 |
-
#: includes/settings/wcj-settings-admin-orders-list.php:
|
1185 |
#: includes/settings/wcj-settings-checkout-custom-fields.php:22
|
1186 |
#: includes/settings/wcj-settings-checkout-custom-fields.php:29
|
1187 |
#: includes/settings/wcj-settings-checkout-custom-fields.php:55
|
@@ -1194,11 +1232,13 @@ msgstr ""
|
|
1194 |
#: includes/settings/wcj-settings-order-custom-statuses.php:37
|
1195 |
#: includes/settings/wcj-settings-order-custom-statuses.php:70
|
1196 |
#: includes/settings/wcj-settings-order-min-amount.php:53
|
1197 |
-
#: includes/settings/wcj-settings-orders.php:
|
1198 |
-
#: includes/settings/wcj-settings-
|
1199 |
-
#: includes/settings/wcj-settings-pdf-invoicing.php:
|
|
|
1200 |
#: includes/settings/wcj-settings-product-by-country.php:110
|
1201 |
#: includes/settings/wcj-settings-product-by-user.php:114
|
|
|
1202 |
#: includes/settings/wcj-settings-product-tabs.php:227
|
1203 |
#: includes/settings/wcj-settings-purchase-data.php:134
|
1204 |
#: includes/settings/wcj-settings-purchase-data.php:143
|
@@ -1230,7 +1270,7 @@ msgid "Total Products:"
|
|
1230 |
msgstr ""
|
1231 |
|
1232 |
#: includes/class-wcj-global-discount.php:27
|
1233 |
-
#: includes/admin/class-wc-settings-jetpack.php:
|
1234 |
msgid "Global Discount"
|
1235 |
msgstr ""
|
1236 |
|
@@ -1249,10 +1289,10 @@ msgstr ""
|
|
1249 |
#: includes/class-wcj-left-to-free-shipping.php:62
|
1250 |
#: includes/class-wcj-left-to-free-shipping.php:72
|
1251 |
#: includes/class-wcj-left-to-free-shipping.php:82
|
1252 |
-
#: includes/functions/wcj-functions-general.php:
|
1253 |
#: includes/settings/wcj-settings-left-to-free-shipping.php:37
|
1254 |
-
#: includes/settings/wcj-settings-left-to-free-shipping.php:
|
1255 |
-
#: includes/settings/wcj-settings-left-to-free-shipping.php:
|
1256 |
#: includes/widgets/class-wcj-widget-left-to-free-shipping.php:61
|
1257 |
#, php-format
|
1258 |
msgid "%left_to_free% left to free shipping"
|
@@ -1266,6 +1306,10 @@ msgstr ""
|
|
1266 |
msgid "Add custom info to WooCommerce mini cart widget."
|
1267 |
msgstr ""
|
1268 |
|
|
|
|
|
|
|
|
|
1269 |
#: includes/class-wcj-more-button-labels.php:24
|
1270 |
msgid "More Button Labels"
|
1271 |
msgstr ""
|
@@ -1314,10 +1358,11 @@ msgstr ""
|
|
1314 |
#: includes/class-wcj-my-account.php:75
|
1315 |
#: includes/class-wcj-product-bulk-meta-editor.php:279
|
1316 |
#: includes/class-wcj-product-by-user.php:206
|
1317 |
-
#: includes/class-wcj-purchase-data.php:
|
1318 |
#: includes/class-wcj-track-users.php:296
|
1319 |
-
#: includes/classes/class-wcj-module.php:
|
1320 |
-
#: includes/functions/wcj-functions-
|
|
|
1321 |
#: includes/reports/wcj-class-reports-monthly-sales.php:341
|
1322 |
#: includes/settings/wcj-settings-empty-cart.php:80
|
1323 |
#: includes/shortcodes/class-wcj-shortcodes-products-add-form.php:367
|
@@ -1345,7 +1390,7 @@ msgstr ""
|
|
1345 |
#: includes/class-wcj-offer-price.php:113
|
1346 |
#: includes/functions/wcj-functions-reports.php:21
|
1347 |
#: includes/functions/wcj-functions-reports.php:24
|
1348 |
-
#: includes/settings/wcj-settings-order-numbers.php:
|
1349 |
#: includes/settings/wcj-settings-related-products.php:23
|
1350 |
msgid "Date"
|
1351 |
msgstr ""
|
@@ -1353,6 +1398,7 @@ msgstr ""
|
|
1353 |
#: includes/class-wcj-offer-price.php:114
|
1354 |
#: includes/export/class-wcj-fields-helper.php:288
|
1355 |
#: includes/reports/wcj-class-reports-stock.php:255
|
|
|
1356 |
#: includes/settings/wcj-settings-related-products.php:33
|
1357 |
#: includes/settings/meta-box/wcj-settings-meta-box-wholesale-price.php:72
|
1358 |
msgid "Price"
|
@@ -1369,7 +1415,7 @@ msgstr ""
|
|
1369 |
#: includes/class-wcj-offer-price.php:117
|
1370 |
#: includes/export/class-wcj-fields-helper.php:75
|
1371 |
#: includes/input-fields/wcj-product-input-fields-options.php:45
|
1372 |
-
#: includes/reports/wcj-class-reports-customers.php:
|
1373 |
#: includes/settings/wcj-settings-checkout-custom-fields.php:132
|
1374 |
msgid "Email"
|
1375 |
msgstr ""
|
@@ -1586,37 +1632,42 @@ msgstr ""
|
|
1586 |
msgid "Minimum WooCommerce order amount (optionally by user role)."
|
1587 |
msgstr ""
|
1588 |
|
1589 |
-
#: includes/class-wcj-order-numbers.php:
|
1590 |
-
#: includes/settings/wcj-settings-order-numbers.php:
|
1591 |
msgid "Order Numbers"
|
1592 |
msgstr ""
|
1593 |
|
1594 |
-
#: includes/class-wcj-order-numbers.php:
|
1595 |
msgid ""
|
1596 |
"WooCommerce sequential order numbering, custom order number prefix, suffix "
|
1597 |
"and number width."
|
1598 |
msgstr ""
|
1599 |
|
1600 |
-
#: includes/class-wcj-order-numbers.php:
|
1601 |
msgid "Orders Renumerate"
|
1602 |
msgstr ""
|
1603 |
|
1604 |
-
#: includes/class-wcj-order-numbers.php:
|
1605 |
msgid "Tool renumerates all orders."
|
1606 |
msgstr ""
|
1607 |
|
1608 |
-
#: includes/class-wcj-order-numbers.php:
|
1609 |
msgid "Orders successfully renumerated!"
|
1610 |
msgstr ""
|
1611 |
|
1612 |
-
#: includes/class-wcj-order-numbers.php:
|
|
|
|
|
|
|
|
|
|
|
1613 |
#, php-format
|
1614 |
msgid ""
|
1615 |
"Press the button below to renumerate all existing orders starting from order "
|
1616 |
"counter settings in <a href=\"%s\">Order Numbers</a> module."
|
1617 |
msgstr ""
|
1618 |
|
1619 |
-
#: includes/class-wcj-order-numbers.php:
|
1620 |
msgid "Renumerate orders"
|
1621 |
msgstr ""
|
1622 |
|
@@ -1663,10 +1714,14 @@ msgid ""
|
|
1663 |
msgstr ""
|
1664 |
|
1665 |
#: includes/class-wcj-orders.php:114
|
|
|
|
|
|
|
|
|
1666 |
msgid "Regenerate download permissions"
|
1667 |
msgstr ""
|
1668 |
|
1669 |
-
#: includes/class-wcj-orders.php:
|
1670 |
#, php-format
|
1671 |
msgid "Download permissions regenerated for %s order."
|
1672 |
msgid_plural "Download permissions regenerated for %s orders."
|
@@ -1754,7 +1809,7 @@ msgid "Maximum amount for %gateway_title% is %max_amount%"
|
|
1754 |
msgstr ""
|
1755 |
|
1756 |
#: includes/class-wcj-payment-gateways-per-category.php:24
|
1757 |
-
#: includes/admin/class-wc-settings-jetpack.php:
|
1758 |
msgid "Gateways per Product or Category"
|
1759 |
msgstr ""
|
1760 |
|
@@ -1772,12 +1827,12 @@ msgstr ""
|
|
1772 |
msgid "Add multiple custom payment gateways to WooCommerce."
|
1773 |
msgstr ""
|
1774 |
|
1775 |
-
#: includes/class-wcj-payment-gateways.php:
|
1776 |
#, php-format
|
1777 |
msgid "<strong>%s</strong> is a required field."
|
1778 |
msgstr ""
|
1779 |
|
1780 |
-
#: includes/class-wcj-payment-gateways.php:
|
1781 |
#, php-format
|
1782 |
msgid "%s Fields"
|
1783 |
msgstr ""
|
@@ -1811,15 +1866,15 @@ msgstr ""
|
|
1811 |
|
1812 |
#: includes/class-wcj-pdf-invoicing.php:89
|
1813 |
#: includes/class-wcj-pdf-invoicing.php:90
|
1814 |
-
#: includes/settings/wcj-settings-price-by-country.php:164
|
1815 |
-
#: includes/settings/wcj-settings-price-by-country.php:169
|
1816 |
#: includes/settings/wcj-settings-price-by-country.php:174
|
|
|
|
|
1817 |
msgid "Generate"
|
1818 |
msgstr ""
|
1819 |
|
1820 |
#: includes/class-wcj-pdf-invoicing.php:97
|
1821 |
#: includes/class-wcj-pdf-invoicing.php:98
|
1822 |
-
#: includes/settings/wcj-settings-pdf-invoicing-
|
1823 |
msgid "Download"
|
1824 |
msgstr ""
|
1825 |
|
@@ -1852,17 +1907,17 @@ msgstr ""
|
|
1852 |
msgid "You are not allowed to view the invoice."
|
1853 |
msgstr ""
|
1854 |
|
1855 |
-
#: includes/class-wcj-price-by-country.php:
|
1856 |
msgid "Prices and Currencies by Country"
|
1857 |
msgstr ""
|
1858 |
|
1859 |
-
#: includes/class-wcj-price-by-country.php:
|
1860 |
msgid ""
|
1861 |
"Change WooCommerce product price and currency automatically by customer's "
|
1862 |
"country."
|
1863 |
msgstr ""
|
1864 |
|
1865 |
-
#: includes/class-wcj-price-by-country.php:
|
1866 |
msgid "Price filter widget product prices recalculated."
|
1867 |
msgstr ""
|
1868 |
|
@@ -1901,7 +1956,7 @@ msgid "Create any custom price label for any WooCommerce product."
|
|
1901 |
msgstr ""
|
1902 |
|
1903 |
#: includes/class-wcj-price-labels.php:32
|
1904 |
-
#: includes/settings/wcj-settings-price-labels.php:
|
1905 |
msgid "Instead of the price"
|
1906 |
msgstr ""
|
1907 |
|
@@ -1919,7 +1974,7 @@ msgstr ""
|
|
1919 |
|
1920 |
#: includes/class-wcj-price-labels.php:40
|
1921 |
#: includes/class-wcj-product-info.php:254
|
1922 |
-
#: includes/class-wcj-shipping-options.php:
|
1923 |
#: includes/settings/wcj-settings-add-to-cart.php:52
|
1924 |
#: includes/settings/wcj-settings-address-formats.php:20
|
1925 |
#: includes/settings/wcj-settings-admin-bar.php:20
|
@@ -1930,6 +1985,7 @@ msgstr ""
|
|
1930 |
#: includes/settings/wcj-settings-admin-tools.php:34
|
1931 |
#: includes/settings/wcj-settings-admin-tools.php:74
|
1932 |
#: includes/settings/wcj-settings-admin-tools.php:81
|
|
|
1933 |
#: includes/settings/wcj-settings-breadcrumbs.php:20
|
1934 |
#: includes/settings/wcj-settings-call-for-price.php:79
|
1935 |
#: includes/settings/wcj-settings-cart-customization.php:34
|
@@ -1937,6 +1993,7 @@ msgstr ""
|
|
1937 |
#: includes/settings/wcj-settings-checkout-custom-fields.php:107
|
1938 |
#: includes/settings/wcj-settings-checkout-custom-fields.php:209
|
1939 |
#: includes/settings/wcj-settings-checkout-customization.php:78
|
|
|
1940 |
#: includes/settings/wcj-settings-checkout-files-upload.php:291
|
1941 |
#: includes/settings/wcj-settings-coupon-code-generator.php:32
|
1942 |
#: includes/settings/wcj-settings-currency-exchange-rates.php:54
|
@@ -1946,6 +2003,7 @@ msgstr ""
|
|
1946 |
#: includes/settings/wcj-settings-currency-per-product.php:73
|
1947 |
#: includes/settings/wcj-settings-currency-per-product.php:80
|
1948 |
#: includes/settings/wcj-settings-currency-per-product.php:87
|
|
|
1949 |
#: includes/settings/wcj-settings-custom-css.php:34
|
1950 |
#: includes/settings/wcj-settings-emails-verification.php:28
|
1951 |
#: includes/settings/wcj-settings-emails-verification.php:36
|
@@ -1956,52 +2014,54 @@ msgstr ""
|
|
1956 |
#: includes/settings/wcj-settings-general.php:202
|
1957 |
#: includes/settings/wcj-settings-global-discount.php:52
|
1958 |
#: includes/settings/wcj-settings-left-to-free-shipping.php:27
|
1959 |
-
#: includes/settings/wcj-settings-left-to-free-shipping.php:
|
1960 |
-
#: includes/settings/wcj-settings-left-to-free-shipping.php:
|
|
|
1961 |
#: includes/settings/wcj-settings-multicurrency-base-price.php:40
|
1962 |
#: includes/settings/wcj-settings-multicurrency-base-price.php:55
|
1963 |
#: includes/settings/wcj-settings-multicurrency.php:39
|
1964 |
#: includes/settings/wcj-settings-multicurrency.php:48
|
1965 |
#: includes/settings/wcj-settings-offer-price.php:19
|
1966 |
#: includes/settings/wcj-settings-order-custom-statuses.php:45
|
1967 |
-
#: includes/settings/wcj-settings-order-numbers.php:
|
1968 |
-
#: includes/settings/wcj-settings-order-numbers.php:
|
1969 |
-
#: includes/settings/wcj-settings-order-numbers.php:
|
1970 |
#: includes/settings/wcj-settings-order-quantities.php:53
|
1971 |
#: includes/settings/wcj-settings-order-quantities.php:111
|
1972 |
#: includes/settings/wcj-settings-order-quantities.php:137
|
1973 |
#: includes/settings/wcj-settings-order-quantities.php:144
|
1974 |
#: includes/settings/wcj-settings-orders.php:25
|
1975 |
#: includes/settings/wcj-settings-orders.php:54
|
|
|
1976 |
#: includes/settings/wcj-settings-pdf-invoicing-display.php:113
|
1977 |
#: includes/settings/wcj-settings-pdf-invoicing-footer.php:23
|
1978 |
#: includes/settings/wcj-settings-pdf-invoicing-header.php:23
|
1979 |
#: includes/settings/wcj-settings-pdf-invoicing-numbering.php:23
|
1980 |
#: includes/settings/wcj-settings-pdf-invoicing-styling.php:73
|
1981 |
-
#: includes/settings/wcj-settings-pdf-invoicing.php:81
|
1982 |
#: includes/settings/wcj-settings-price-by-country.php:69
|
1983 |
#: includes/settings/wcj-settings-price-by-country.php:89
|
1984 |
#: includes/settings/wcj-settings-price-by-country.php:105
|
1985 |
-
#: includes/settings/wcj-settings-price-by-country.php:
|
1986 |
-
#: includes/settings/wcj-settings-price-by-country.php:
|
1987 |
#: includes/settings/wcj-settings-price-by-user-role.php:20
|
1988 |
#: includes/settings/wcj-settings-price-by-user-role.php:47
|
1989 |
#: includes/settings/wcj-settings-price-formats.php:21
|
1990 |
-
#: includes/settings/wcj-settings-price-labels.php:
|
1991 |
#: includes/settings/wcj-settings-product-add-to-cart.php:25
|
1992 |
#: includes/settings/wcj-settings-product-add-to-cart.php:41
|
1993 |
#: includes/settings/wcj-settings-product-add-to-cart.php:80
|
1994 |
#: includes/settings/wcj-settings-product-add-to-cart.php:132
|
1995 |
#: includes/settings/wcj-settings-product-add-to-cart.php:162
|
1996 |
#: includes/settings/wcj-settings-product-add-to-cart.php:178
|
1997 |
-
#: includes/settings/wcj-settings-product-add-to-cart.php:
|
1998 |
-
#: includes/settings/wcj-settings-product-add-to-cart.php:
|
1999 |
-
#: includes/settings/wcj-settings-product-add-to-cart.php:
|
2000 |
-
#: includes/settings/wcj-settings-product-add-to-cart.php:
|
2001 |
-
#: includes/settings/wcj-settings-product-
|
2002 |
-
#: includes/settings/wcj-settings-product-addons.php:
|
2003 |
-
#: includes/settings/wcj-settings-product-addons.php:
|
2004 |
-
#: includes/settings/wcj-settings-product-addons.php:
|
|
|
2005 |
#: includes/settings/wcj-settings-product-bulk-meta-editor.php:21
|
2006 |
#: includes/settings/wcj-settings-product-bulk-meta-editor.php:29
|
2007 |
#: includes/settings/wcj-settings-product-by-country.php:21
|
@@ -2025,12 +2085,11 @@ msgstr ""
|
|
2025 |
#: includes/settings/wcj-settings-product-input-fields.php:317
|
2026 |
#: includes/settings/wcj-settings-product-open-pricing.php:87
|
2027 |
#: includes/settings/wcj-settings-product-open-pricing.php:94
|
2028 |
-
#: includes/settings/wcj-settings-product-open-pricing.php:108
|
2029 |
#: includes/settings/wcj-settings-product-price-by-formula.php:30
|
2030 |
#: includes/settings/wcj-settings-product-tabs.php:23
|
2031 |
#: includes/settings/wcj-settings-product-tabs.php:212
|
2032 |
#: includes/settings/wcj-settings-product-tabs.php:220
|
2033 |
-
#: includes/settings/wcj-settings-products-xml.php:
|
2034 |
#: includes/settings/wcj-settings-purchase-data.php:22
|
2035 |
#: includes/settings/wcj-settings-purchase-data.php:29
|
2036 |
#: includes/settings/wcj-settings-purchase-data.php:36
|
@@ -2059,7 +2118,8 @@ msgstr ""
|
|
2059 |
#: includes/settings/wcj-settings-wholesale-price.php:22
|
2060 |
#: includes/settings/wcj-settings-wholesale-price.php:29
|
2061 |
#: includes/settings/wcj-settings-wholesale-price.php:36
|
2062 |
-
#: includes/settings/
|
|
|
2063 |
#: includes/settings/meta-box/wcj-settings-meta-box-product-addons.php:35
|
2064 |
#: includes/settings/meta-box/wcj-settings-meta-box-related-products.php:17
|
2065 |
#: includes/settings/meta-box/wcj-settings-meta-box-sale-flash.php:14
|
@@ -2098,63 +2158,60 @@ msgstr ""
|
|
2098 |
msgid "Booster: Custom Price Labels"
|
2099 |
msgstr ""
|
2100 |
|
2101 |
-
#: includes/class-wcj-product-add-to-cart.php:
|
2102 |
-
|
|
|
2103 |
msgstr ""
|
2104 |
|
2105 |
-
#: includes/class-wcj-product-add-to-cart.php:
|
2106 |
msgid "Set any local url to redirect to on WooCommerce Add to Cart."
|
2107 |
msgstr ""
|
2108 |
|
2109 |
-
#: includes/class-wcj-product-add-to-cart.php:
|
2110 |
msgid "Automatically add to cart on product visit."
|
2111 |
msgstr ""
|
2112 |
|
2113 |
-
#: includes/class-wcj-product-add-to-cart.php:
|
2114 |
msgid "Display radio buttons instead of drop box for variable products."
|
2115 |
msgstr ""
|
2116 |
|
2117 |
-
#: includes/class-wcj-product-add-to-cart.php:
|
2118 |
msgid "Disable quantity input."
|
2119 |
msgstr ""
|
2120 |
|
2121 |
-
#: includes/class-wcj-product-add-to-cart.php:
|
2122 |
-
msgid "Disable add to cart button on per product basis."
|
2123 |
-
msgstr ""
|
2124 |
-
|
2125 |
-
#: includes/class-wcj-product-add-to-cart.php:30
|
2126 |
msgid "Open external products on add to cart in new window."
|
2127 |
msgstr ""
|
2128 |
|
2129 |
-
#: includes/class-wcj-product-add-to-cart.php:
|
2130 |
msgid ""
|
2131 |
"Replace Add to Cart button on archives with button from single product pages."
|
2132 |
msgstr ""
|
2133 |
|
2134 |
-
#: includes/class-wcj-product-add-to-cart.php:
|
2135 |
msgid "Customize Add to Cart messages."
|
2136 |
msgstr ""
|
2137 |
|
2138 |
-
#: includes/class-wcj-product-add-to-cart.php:
|
2139 |
#, php-format
|
2140 |
msgctxt "Item name in quotes"
|
2141 |
msgid "“%s”"
|
2142 |
msgstr ""
|
2143 |
|
2144 |
-
#: includes/class-wcj-product-add-to-cart.php:
|
2145 |
#, php-format
|
2146 |
msgid "%s has been added to your cart."
|
2147 |
msgid_plural "%s have been added to your cart."
|
2148 |
msgstr[0] ""
|
2149 |
msgstr[1] ""
|
2150 |
|
2151 |
-
#: includes/class-wcj-product-add-to-cart.php:
|
2152 |
-
#: includes/settings/wcj-settings-product-add-to-cart.php:
|
2153 |
msgid "Continue shopping"
|
2154 |
msgstr ""
|
2155 |
|
2156 |
-
#: includes/class-wcj-product-add-to-cart.php:
|
2157 |
-
#: includes/settings/wcj-settings-product-add-to-cart.php:
|
2158 |
msgid "View cart"
|
2159 |
msgstr ""
|
2160 |
|
@@ -2166,11 +2223,11 @@ msgstr ""
|
|
2166 |
msgid "Add (paid/free/discount) addons to WooCommerce products."
|
2167 |
msgstr ""
|
2168 |
|
2169 |
-
#: includes/class-wcj-product-addons.php:
|
2170 |
msgid "Some of the required addons are not selected!"
|
2171 |
msgstr ""
|
2172 |
|
2173 |
-
#: includes/class-wcj-product-addons.php:
|
2174 |
msgid ""
|
2175 |
"Booster: Free plugin's version is limited to only three products with per "
|
2176 |
"product addons enabled at a time. You will need to get <a href=\"http://"
|
@@ -2278,12 +2335,15 @@ msgid "for example %s"
|
|
2278 |
msgstr ""
|
2279 |
|
2280 |
#: includes/class-wcj-product-bulk-meta-editor.php:232
|
2281 |
-
#: includes/settings/wcj-settings-wholesale-price.php:
|
|
|
|
|
2282 |
msgid "Show"
|
2283 |
msgstr ""
|
2284 |
|
2285 |
#: includes/class-wcj-product-bulk-meta-editor.php:236
|
2286 |
#: includes/class-wcj-product-bulk-meta-editor.php:340
|
|
|
2287 |
msgid "Meta"
|
2288 |
msgstr ""
|
2289 |
|
@@ -2294,7 +2354,7 @@ msgid ""
|
|
2294 |
msgstr ""
|
2295 |
|
2296 |
#: includes/class-wcj-product-bulk-meta-editor.php:294
|
2297 |
-
#: includes/settings/wcj-settings-admin-orders-list.php:
|
2298 |
#: includes/settings/wcj-settings-admin-products-list.php:56
|
2299 |
#: includes/settings/wcj-settings-export.php:91
|
2300 |
#: includes/settings/wcj-settings-export.php:162
|
@@ -2324,7 +2384,7 @@ msgid "Save"
|
|
2324 |
msgstr ""
|
2325 |
|
2326 |
#: includes/class-wcj-product-bulk-meta-editor.php:389
|
2327 |
-
#: includes/class-wcj-purchase-data.php:
|
2328 |
#: includes/export/class-wcj-fields-helper.php:280
|
2329 |
#: includes/functions/wcj-functions-reports.php:25
|
2330 |
#: includes/settings/wcj-settings-product-bulk-meta-editor.php:42
|
@@ -2403,7 +2463,7 @@ msgid "Products category"
|
|
2403 |
msgstr ""
|
2404 |
|
2405 |
#: includes/class-wcj-product-bulk-price-converter.php:260
|
2406 |
-
#: includes/shortcodes/class-wcj-shortcodes-products.php:
|
2407 |
msgid "Any"
|
2408 |
msgstr ""
|
2409 |
|
@@ -2539,7 +2599,8 @@ msgstr ""
|
|
2539 |
#: includes/settings/wcj-settings-export.php:75
|
2540 |
#: includes/settings/wcj-settings-export.php:143
|
2541 |
#: includes/settings/wcj-settings-export.php:225
|
2542 |
-
#: includes/settings/wcj-settings-product-
|
|
|
2543 |
#: includes/settings/wcj-settings-product-by-user.php:167
|
2544 |
#: includes/settings/wcj-settings-product-tabs.php:52
|
2545 |
#: includes/settings/wcj-settings-product-tabs.php:368
|
@@ -2566,8 +2627,8 @@ msgid "Edit"
|
|
2566 |
msgstr ""
|
2567 |
|
2568 |
#: includes/class-wcj-product-custom-info.php:24
|
2569 |
-
#: includes/admin/class-wc-settings-jetpack.php:
|
2570 |
-
#: includes/functions/wcj-functions-general.php:
|
2571 |
msgid "Product Info"
|
2572 |
msgstr ""
|
2573 |
|
@@ -2617,40 +2678,47 @@ msgstr ""
|
|
2617 |
|
2618 |
#: includes/class-wcj-product-info.php:123
|
2619 |
#: includes/settings/wcj-settings-offer-price.php:91
|
|
|
2620 |
#: includes/settings/wcj-settings-product-custom-info.php:102
|
2621 |
msgid "Before product"
|
2622 |
msgstr ""
|
2623 |
|
2624 |
#: includes/class-wcj-product-info.php:124
|
|
|
2625 |
#: includes/settings/wcj-settings-product-custom-info.php:103
|
2626 |
msgid "Before product title"
|
2627 |
msgstr ""
|
2628 |
|
2629 |
#: includes/class-wcj-product-info.php:125
|
2630 |
#: includes/settings/wcj-settings-offer-price.php:92
|
|
|
2631 |
#: includes/settings/wcj-settings-product-custom-info.php:106
|
2632 |
msgid "After product"
|
2633 |
msgstr ""
|
2634 |
|
2635 |
#: includes/class-wcj-product-info.php:126
|
|
|
2636 |
#: includes/settings/wcj-settings-product-custom-info.php:105
|
2637 |
msgid "After product title"
|
2638 |
msgstr ""
|
2639 |
|
2640 |
#: includes/class-wcj-product-info.php:138
|
2641 |
#: includes/settings/wcj-settings-offer-price.php:72
|
|
|
2642 |
#: includes/settings/wcj-settings-product-custom-info.php:93
|
2643 |
msgid "Inside single product summary"
|
2644 |
msgstr ""
|
2645 |
|
2646 |
#: includes/class-wcj-product-info.php:139
|
2647 |
#: includes/settings/wcj-settings-offer-price.php:71
|
|
|
2648 |
#: includes/settings/wcj-settings-product-custom-info.php:92
|
2649 |
msgid "Before single product summary"
|
2650 |
msgstr ""
|
2651 |
|
2652 |
#: includes/class-wcj-product-info.php:140
|
2653 |
#: includes/settings/wcj-settings-offer-price.php:73
|
|
|
2654 |
#: includes/settings/wcj-settings-product-custom-info.php:94
|
2655 |
msgid "After single product summary"
|
2656 |
msgstr ""
|
@@ -2660,9 +2728,11 @@ msgstr ""
|
|
2660 |
#: includes/settings/wcj-settings-checkout-custom-info.php:47
|
2661 |
#: includes/settings/wcj-settings-checkout-files-upload.php:51
|
2662 |
#: includes/settings/wcj-settings-left-to-free-shipping.php:43
|
2663 |
-
#: includes/settings/wcj-settings-left-to-free-shipping.php:
|
2664 |
-
#: includes/settings/wcj-settings-left-to-free-shipping.php:
|
2665 |
#: includes/settings/wcj-settings-mini-cart.php:46
|
|
|
|
|
2666 |
#: includes/settings/wcj-settings-product-custom-info.php:85
|
2667 |
#: includes/settings/wcj-settings-product-info.php:50
|
2668 |
#: includes/settings/wcj-settings-product-info.php:83
|
@@ -2699,7 +2769,7 @@ msgid "[wcj_product_total_sales before=\"Total sales: \"]"
|
|
2699 |
msgstr ""
|
2700 |
|
2701 |
#: includes/class-wcj-product-input-fields.php:24
|
2702 |
-
#: includes/admin/class-wc-settings-jetpack.php:
|
2703 |
#: includes/input-fields/class-wcj-product-input-fields-core.php:123
|
2704 |
msgid "Product Input Fields"
|
2705 |
msgstr ""
|
@@ -2820,11 +2890,13 @@ msgid "Order"
|
|
2820 |
msgstr ""
|
2821 |
|
2822 |
#: includes/class-wcj-product-tabs.php:591
|
|
|
|
|
2823 |
#: includes/settings/wcj-settings-cart.php:44
|
2824 |
#: includes/settings/wcj-settings-checkout-custom-info.php:40
|
2825 |
#: includes/settings/wcj-settings-left-to-free-shipping.php:34
|
2826 |
-
#: includes/settings/wcj-settings-left-to-free-shipping.php:
|
2827 |
-
#: includes/settings/wcj-settings-left-to-free-shipping.php:
|
2828 |
#: includes/settings/wcj-settings-mini-cart.php:39
|
2829 |
#: includes/settings/wcj-settings-product-custom-info.php:77
|
2830 |
#: includes/settings/wcj-settings-product-tabs.php:72
|
@@ -2852,16 +2924,15 @@ msgstr ""
|
|
2852 |
|
2853 |
#: includes/class-wcj-product-tabs.php:605
|
2854 |
#: includes/input-fields/wcj-product-input-fields-options.php:95
|
2855 |
-
#: includes/settings/wcj-settings-admin-orders-list.php:
|
2856 |
#: includes/settings/wcj-settings-checkout-custom-fields.php:224
|
2857 |
#: includes/settings/meta-box/wcj-settings-meta-box-custom-css.php:20
|
2858 |
#: includes/settings/meta-box/wcj-settings-meta-box-offer-price.php:20
|
|
|
2859 |
#: includes/settings/meta-box/wcj-settings-meta-box-price-by-user-role.php:35
|
2860 |
#: includes/settings/meta-box/wcj-settings-meta-box-price-by-user-role.php:97
|
2861 |
#: includes/settings/meta-box/wcj-settings-meta-box-product-add-to-cart.php:21
|
2862 |
#: includes/settings/meta-box/wcj-settings-meta-box-product-add-to-cart.php:43
|
2863 |
-
#: includes/settings/meta-box/wcj-settings-meta-box-product-add-to-cart.php:57
|
2864 |
-
#: includes/settings/meta-box/wcj-settings-meta-box-product-add-to-cart.php:67
|
2865 |
#: includes/settings/meta-box/wcj-settings-meta-box-product-addons.php:19
|
2866 |
#: includes/settings/meta-box/wcj-settings-meta-box-product-addons.php:41
|
2867 |
#: includes/settings/meta-box/wcj-settings-meta-box-product-addons.php:104
|
@@ -2889,12 +2960,11 @@ msgstr ""
|
|
2889 |
#: includes/settings/wcj-settings-eu-vat-number.php:130
|
2890 |
#: includes/settings/meta-box/wcj-settings-meta-box-custom-css.php:19
|
2891 |
#: includes/settings/meta-box/wcj-settings-meta-box-offer-price.php:19
|
|
|
2892 |
#: includes/settings/meta-box/wcj-settings-meta-box-price-by-user-role.php:34
|
2893 |
#: includes/settings/meta-box/wcj-settings-meta-box-price-by-user-role.php:96
|
2894 |
#: includes/settings/meta-box/wcj-settings-meta-box-product-add-to-cart.php:20
|
2895 |
#: includes/settings/meta-box/wcj-settings-meta-box-product-add-to-cart.php:42
|
2896 |
-
#: includes/settings/meta-box/wcj-settings-meta-box-product-add-to-cart.php:56
|
2897 |
-
#: includes/settings/meta-box/wcj-settings-meta-box-product-add-to-cart.php:66
|
2898 |
#: includes/settings/meta-box/wcj-settings-meta-box-product-addons.php:18
|
2899 |
#: includes/settings/meta-box/wcj-settings-meta-box-product-addons.php:40
|
2900 |
#: includes/settings/meta-box/wcj-settings-meta-box-product-addons.php:103
|
@@ -2914,7 +2984,8 @@ msgstr ""
|
|
2914 |
#: includes/class-wcj-product-tabs.php:614
|
2915 |
#: includes/settings/wcj-settings-checkout-core-fields.php:61
|
2916 |
#: includes/settings/wcj-settings-currency-exchange-rates.php:141
|
2917 |
-
#: includes/settings/wcj-settings-
|
|
|
2918 |
#: includes/settings/wcj-settings-product-add-to-cart.php:64
|
2919 |
#: includes/settings/meta-box/wcj-settings-meta-box-product-by-date.php:19
|
2920 |
#: includes/settings/meta-box/wcj-settings-meta-box-product-by-time.php:19
|
@@ -2950,58 +3021,59 @@ msgstr ""
|
|
2950 |
msgid "WooCommerce products XML feeds."
|
2951 |
msgstr ""
|
2952 |
|
2953 |
-
#: includes/class-wcj-products-xml.php:
|
2954 |
#: includes/exchange-rates/class-wcj-exchange-rates-crons.php:211
|
2955 |
msgid "Once Weekly"
|
2956 |
msgstr ""
|
2957 |
|
2958 |
-
#: includes/class-wcj-products-xml.php:
|
2959 |
#: includes/exchange-rates/class-wcj-exchange-rates-crons.php:215
|
2960 |
msgid "Once a Minute"
|
2961 |
msgstr ""
|
2962 |
|
2963 |
-
#: includes/class-wcj-products-xml.php:
|
2964 |
-
msgid "
|
2965 |
msgstr ""
|
2966 |
|
2967 |
-
#: includes/class-wcj-products-xml.php:
|
2968 |
-
|
|
|
2969 |
msgstr ""
|
2970 |
|
2971 |
-
#: includes/class-wcj-purchase-data.php:
|
2972 |
msgid "Cost of Goods"
|
2973 |
msgstr ""
|
2974 |
|
2975 |
-
#: includes/class-wcj-purchase-data.php:
|
2976 |
msgid "Save WooCommerce product purchase costs data for admin reports."
|
2977 |
msgstr ""
|
2978 |
|
2979 |
-
#: includes/class-wcj-purchase-data.php:
|
2980 |
msgid "\"WooCommerce Cost of Goods\" Data Import"
|
2981 |
msgstr ""
|
2982 |
|
2983 |
-
#: includes/class-wcj-purchase-data.php:
|
2984 |
msgid "Import products costs from \"WooCommerce Cost of Goods\"."
|
2985 |
msgstr ""
|
2986 |
|
2987 |
-
#: includes/class-wcj-purchase-data.php:
|
2988 |
msgid "Product Title"
|
2989 |
msgstr ""
|
2990 |
|
2991 |
-
#: includes/class-wcj-purchase-data.php:
|
2992 |
msgid "WooCommerce Cost of Goods (source)"
|
2993 |
msgstr ""
|
2994 |
|
2995 |
-
#: includes/class-wcj-purchase-data.php:
|
2996 |
msgid "Booster: Product cost (destination)"
|
2997 |
msgstr ""
|
2998 |
|
2999 |
-
#: includes/class-wcj-purchase-data.php:
|
3000 |
-
#: includes/admin/class-wc-settings-jetpack.php:
|
3001 |
msgid "Import"
|
3002 |
msgstr ""
|
3003 |
|
3004 |
-
#: includes/class-wcj-purchase-data.php:
|
3005 |
#: includes/shipping/class-wc-shipping-wcj-custom-with-shipping-zones.php:105
|
3006 |
#: includes/shipping/class-wc-shipping-wcj-custom-with-shipping-zones.php:172
|
3007 |
#: includes/shipping/class-wc-shipping-wcj-custom.php:131
|
@@ -3009,35 +3081,35 @@ msgstr ""
|
|
3009 |
msgid "Cost"
|
3010 |
msgstr ""
|
3011 |
|
3012 |
-
#: includes/class-wcj-purchase-data.php:
|
3013 |
-
#: includes/class-wcj-purchase-data.php:
|
3014 |
-
#: includes/class-wcj-purchase-data.php:
|
3015 |
#: includes/functions/wcj-functions-reports.php:29
|
3016 |
#: includes/settings/wcj-settings-purchase-data.php:133
|
3017 |
#: includes/settings/wcj-settings-purchase-data.php:161
|
3018 |
msgid "Profit"
|
3019 |
msgstr ""
|
3020 |
|
3021 |
-
#: includes/class-wcj-purchase-data.php:
|
3022 |
#: includes/settings/wcj-settings-purchase-data.php:142
|
3023 |
#: includes/settings/wcj-settings-purchase-data.php:168
|
3024 |
msgid "Purchase Cost"
|
3025 |
msgstr ""
|
3026 |
|
3027 |
-
#: includes/class-wcj-purchase-data.php:
|
3028 |
msgid "Selling"
|
3029 |
msgstr ""
|
3030 |
|
3031 |
-
#: includes/class-wcj-purchase-data.php:
|
3032 |
msgid "Buying"
|
3033 |
msgstr ""
|
3034 |
|
3035 |
-
#: includes/class-wcj-purchase-data.php:
|
3036 |
msgid "Report"
|
3037 |
msgstr ""
|
3038 |
|
3039 |
#: includes/class-wcj-related-products.php:38
|
3040 |
-
#: includes/admin/class-wc-settings-jetpack.php:
|
3041 |
#: includes/settings/wcj-settings-free-price.php:20
|
3042 |
#: includes/settings/meta-box/wcj-settings-meta-box-related-products.php:28
|
3043 |
msgid "Related Products"
|
@@ -3229,44 +3301,44 @@ msgstr ""
|
|
3229 |
msgid "Customize WooCommerce shipping calculator on cart page."
|
3230 |
msgstr ""
|
3231 |
|
3232 |
-
#: includes/class-wcj-shipping-options.php:
|
3233 |
msgid "Shipping Options"
|
3234 |
msgstr ""
|
3235 |
|
3236 |
-
#: includes/class-wcj-shipping-options.php:
|
3237 |
msgid "Add descriptions and icons to shipping methods on frontend."
|
3238 |
msgstr ""
|
3239 |
|
3240 |
-
#: includes/class-wcj-shipping-options.php:
|
3241 |
msgid "Hide WooCommerce shipping when free is available."
|
3242 |
msgstr ""
|
3243 |
|
3244 |
-
#: includes/class-wcj-shipping-options.php:
|
3245 |
msgid "Grant free shipping on per product basis."
|
3246 |
msgstr ""
|
3247 |
|
3248 |
-
#: includes/class-wcj-shipping-options.php:
|
3249 |
msgid "Booster: Hide when free is available"
|
3250 |
msgstr ""
|
3251 |
|
3252 |
-
#: includes/class-wcj-shipping-options.php:
|
3253 |
#: includes/settings/wcj-settings-shipping-options.php:28
|
3254 |
msgid ""
|
3255 |
"Available options: hide all; hide all except \"Local Pickup\"; hide \"Flat "
|
3256 |
"Rate\" only."
|
3257 |
msgstr ""
|
3258 |
|
3259 |
-
#: includes/class-wcj-shipping-options.php:
|
3260 |
#: includes/settings/wcj-settings-shipping-options.php:32
|
3261 |
msgid "Hide all"
|
3262 |
msgstr ""
|
3263 |
|
3264 |
-
#: includes/class-wcj-shipping-options.php:
|
3265 |
#: includes/settings/wcj-settings-shipping-options.php:33
|
3266 |
msgid "Hide all except \"Local Pickup\""
|
3267 |
msgstr ""
|
3268 |
|
3269 |
-
#: includes/class-wcj-shipping-options.php:
|
3270 |
#: includes/settings/wcj-settings-shipping-options.php:34
|
3271 |
msgid "Hide \"Flat Rate\" only"
|
3272 |
msgstr ""
|
@@ -3387,7 +3459,7 @@ msgid "Other"
|
|
3387 |
msgstr ""
|
3388 |
|
3389 |
#: includes/class-wcj-track-users.php:159
|
3390 |
-
#: includes/settings/wcj-settings-products-xml.php:
|
3391 |
msgid "URL:"
|
3392 |
msgstr ""
|
3393 |
|
@@ -3491,49 +3563,49 @@ msgid ""
|
|
3491 |
"can be moved to paid plugin version."
|
3492 |
msgstr ""
|
3493 |
|
3494 |
-
#: includes/admin/class-wc-settings-jetpack.php:
|
3495 |
msgid ""
|
3496 |
"This section lets you export, import or reset all Booster's modules settings."
|
3497 |
msgstr ""
|
3498 |
|
3499 |
-
#: includes/admin/class-wc-settings-jetpack.php:
|
3500 |
msgid "Export all Booster's options to a file."
|
3501 |
msgstr ""
|
3502 |
|
3503 |
-
#: includes/admin/class-wc-settings-jetpack.php:
|
3504 |
msgid "Import all Booster's options from a file."
|
3505 |
msgstr ""
|
3506 |
|
3507 |
-
#: includes/admin/class-wc-settings-jetpack.php:
|
3508 |
msgid ""
|
3509 |
"This will reset settings to defaults for all Booster modules. Are you sure?"
|
3510 |
msgstr ""
|
3511 |
|
3512 |
-
#: includes/admin/class-wc-settings-jetpack.php:
|
3513 |
msgid "Reset"
|
3514 |
msgstr ""
|
3515 |
|
3516 |
-
#: includes/admin/class-wc-settings-jetpack.php:
|
3517 |
msgid "Reset all Booster's options."
|
3518 |
msgstr ""
|
3519 |
|
3520 |
-
#: includes/admin/class-wc-settings-jetpack.php:
|
3521 |
msgid "Version"
|
3522 |
msgstr ""
|
3523 |
|
3524 |
-
#: includes/admin/class-wc-settings-jetpack.php:
|
3525 |
-
#: includes/admin/class-wc-settings-jetpack.php:
|
3526 |
msgid "Select All"
|
3527 |
msgstr ""
|
3528 |
|
3529 |
-
#: includes/admin/class-wc-settings-jetpack.php:
|
3530 |
-
#: includes/admin/class-wc-settings-jetpack.php:
|
3531 |
#: includes/admin/class-wcj-tools.php:72
|
3532 |
msgid "Module"
|
3533 |
msgstr ""
|
3534 |
|
3535 |
-
#: includes/admin/class-wc-settings-jetpack.php:
|
3536 |
-
#: includes/admin/class-wc-settings-jetpack.php:
|
3537 |
#: includes/admin/class-wcj-tools.php:73
|
3538 |
#: includes/export/class-wcj-fields-helper.php:293
|
3539 |
#: includes/gateways/class-wc-gateway-wcj-custom.php:74
|
@@ -3544,40 +3616,40 @@ msgstr ""
|
|
3544 |
msgid "Description"
|
3545 |
msgstr ""
|
3546 |
|
3547 |
-
#: includes/admin/class-wc-settings-jetpack.php:
|
3548 |
msgid "No active modules found."
|
3549 |
msgstr ""
|
3550 |
|
3551 |
-
#: includes/admin/class-wc-settings-jetpack.php:
|
3552 |
msgid "Total Modules:"
|
3553 |
msgstr ""
|
3554 |
|
3555 |
-
#: includes/admin/class-wc-settings-jetpack.php:
|
3556 |
msgid "Autoload Booster's Options"
|
3557 |
msgstr ""
|
3558 |
|
3559 |
-
#: includes/admin/class-wc-settings-jetpack.php:
|
3560 |
msgid ""
|
3561 |
"Choose if you want Booster's options to be autoloaded when calling "
|
3562 |
"add_option. After saving this option, you need to Reset all Booster's "
|
3563 |
"settings. Leave default value (i.e. Enabled) if not sure."
|
3564 |
msgstr ""
|
3565 |
|
3566 |
-
#: includes/admin/class-wc-settings-jetpack.php:
|
3567 |
msgid "Use List Instead of Comma Separated Text for Products in Settings"
|
3568 |
msgstr ""
|
3569 |
|
3570 |
-
#: includes/admin/class-wc-settings-jetpack.php:
|
3571 |
#, php-format
|
3572 |
msgid "Supported modules: %s."
|
3573 |
msgstr ""
|
3574 |
|
3575 |
-
#: includes/admin/class-wc-settings-jetpack.php:
|
3576 |
msgid "Products XML"
|
3577 |
msgstr ""
|
3578 |
|
3579 |
-
#: includes/admin/class-wc-settings-jetpack.php:
|
3580 |
-
#: includes/core/class-wcj-admin.php:
|
3581 |
msgid "Booster for WooCommerce"
|
3582 |
msgstr ""
|
3583 |
|
@@ -3595,21 +3667,21 @@ msgstr ""
|
|
3595 |
msgid "Save changes"
|
3596 |
msgstr ""
|
3597 |
|
3598 |
-
#: includes/admin/class-wcj-settings-manager.php:
|
3599 |
msgid "Please upload a file to import!"
|
3600 |
msgstr ""
|
3601 |
|
3602 |
-
#: includes/admin/class-wcj-settings-manager.php:
|
3603 |
-
#: includes/admin/class-wcj-settings-manager.php:
|
3604 |
msgid "Wrong file format!"
|
3605 |
msgstr ""
|
3606 |
|
3607 |
-
#: includes/admin/class-wcj-settings-manager.php:
|
3608 |
#, php-format
|
3609 |
msgid "%d options successfully imported."
|
3610 |
msgstr ""
|
3611 |
|
3612 |
-
#: includes/admin/class-wcj-settings-manager.php:
|
3613 |
#, php-format
|
3614 |
msgid "%d options and %d meta successfully deleted."
|
3615 |
msgstr ""
|
@@ -3674,17 +3746,17 @@ msgid ""
|
|
3674 |
"Listings, Product Tabs and more."
|
3675 |
msgstr ""
|
3676 |
|
3677 |
-
#: includes/admin/wcj-modules-cats.php:
|
3678 |
msgid "Cart & Checkout"
|
3679 |
msgstr ""
|
3680 |
|
3681 |
-
#: includes/admin/wcj-modules-cats.php:
|
3682 |
msgid ""
|
3683 |
"Cart and Checkout Customization, Empty Cart Button, Mini Cart, Coupons and "
|
3684 |
"more."
|
3685 |
msgstr ""
|
3686 |
|
3687 |
-
#: includes/admin/wcj-modules-cats.php:
|
3688 |
#: includes/settings/wcj-settings-payment-gateways-by-country.php:14
|
3689 |
#: includes/settings/wcj-settings-payment-gateways-by-currency.php:14
|
3690 |
#: includes/settings/wcj-settings-payment-gateways-by-shipping.php:21
|
@@ -3693,35 +3765,35 @@ msgstr ""
|
|
3693 |
msgid "Payment Gateways"
|
3694 |
msgstr ""
|
3695 |
|
3696 |
-
#: includes/admin/wcj-modules-cats.php:
|
3697 |
msgid ""
|
3698 |
"Custom Payment Gateways, Gateways Currency, Gateways Fees and Discounts and "
|
3699 |
"more."
|
3700 |
msgstr ""
|
3701 |
|
3702 |
-
#: includes/admin/wcj-modules-cats.php:
|
3703 |
msgid "Shipping & Orders"
|
3704 |
msgstr ""
|
3705 |
|
3706 |
-
#: includes/admin/wcj-modules-cats.php:
|
3707 |
msgid ""
|
3708 |
"Order Custom Statuses, Order Minimum Amount, Order Numbers, Custom Shipping "
|
3709 |
"Methods and more."
|
3710 |
msgstr ""
|
3711 |
|
3712 |
-
#: includes/admin/wcj-modules-cats.php:
|
3713 |
msgid "PDF Invoicing & Packing Slips"
|
3714 |
msgstr ""
|
3715 |
|
3716 |
-
#: includes/admin/wcj-modules-cats.php:
|
3717 |
msgid "PDF Documents"
|
3718 |
msgstr ""
|
3719 |
|
3720 |
-
#: includes/admin/wcj-modules-cats.php:
|
3721 |
msgid "Emails & Misc."
|
3722 |
msgstr ""
|
3723 |
|
3724 |
-
#: includes/admin/wcj-modules-cats.php:
|
3725 |
msgid "Emails, Reports, Export, Admin Tools, General Options and more."
|
3726 |
msgstr ""
|
3727 |
|
@@ -3739,25 +3811,25 @@ msgstr ""
|
|
3739 |
msgid "Selected: %s."
|
3740 |
msgstr ""
|
3741 |
|
3742 |
-
#: includes/classes/class-wcj-module.php:
|
3743 |
msgid "Back to Module Settings"
|
3744 |
msgstr ""
|
3745 |
|
3746 |
-
#: includes/classes/class-wcj-module.php:
|
3747 |
#: includes/settings/wcj-settings-wpml.php:20
|
3748 |
msgid "Module Tools"
|
3749 |
msgstr ""
|
3750 |
|
3751 |
-
#: includes/classes/class-wcj-module.php:
|
3752 |
#: includes/settings/wcj-settings-checkout-core-fields.php:54
|
3753 |
msgid "enabled"
|
3754 |
msgstr ""
|
3755 |
|
3756 |
-
#: includes/classes/class-wcj-module.php:
|
3757 |
msgid "disabled"
|
3758 |
msgstr ""
|
3759 |
|
3760 |
-
#: includes/classes/class-wcj-module.php:
|
3761 |
#: includes/settings/wcj-settings-product-tabs.php:152
|
3762 |
#: includes/settings/wcj-settings-product-tabs.php:164
|
3763 |
#: includes/settings/wcj-settings-product-tabs.php:176
|
@@ -3765,27 +3837,27 @@ msgstr ""
|
|
3765 |
msgid "Deprecated"
|
3766 |
msgstr ""
|
3767 |
|
3768 |
-
#: includes/classes/class-wcj-module.php:
|
3769 |
msgid "Reset Settings"
|
3770 |
msgstr ""
|
3771 |
|
3772 |
-
#: includes/classes/class-wcj-module.php:
|
3773 |
msgid "Reset Module to Default Settings"
|
3774 |
msgstr ""
|
3775 |
|
3776 |
-
#: includes/classes/class-wcj-module.php:
|
3777 |
msgid "Reset Submodule to Default Settings"
|
3778 |
msgstr ""
|
3779 |
|
3780 |
-
#: includes/classes/class-wcj-module.php:
|
3781 |
msgid "Reset settings"
|
3782 |
msgstr ""
|
3783 |
|
3784 |
-
#: includes/classes/class-wcj-module.php:
|
3785 |
msgid "Module Options"
|
3786 |
msgstr ""
|
3787 |
|
3788 |
-
#: includes/classes/class-wcj-module.php:
|
3789 |
msgid "Enable Module"
|
3790 |
msgstr ""
|
3791 |
|
@@ -3795,7 +3867,7 @@ msgid "Company Name"
|
|
3795 |
msgstr ""
|
3796 |
|
3797 |
#: includes/classes/class-wcj-shortcodes.php:107
|
3798 |
-
#: includes/shortcodes/class-wcj-shortcodes-general.php:
|
3799 |
#, php-format
|
3800 |
msgid "\"%s\" module is not enabled!"
|
3801 |
msgstr ""
|
@@ -3805,39 +3877,38 @@ msgstr ""
|
|
3805 |
msgid "Page %page_number% / %total_pages%"
|
3806 |
msgstr ""
|
3807 |
|
3808 |
-
#: includes/core/class-wcj-admin.php:
|
|
|
|
|
|
|
|
|
3809 |
#, php-format
|
3810 |
msgid ""
|
3811 |
-
"
|
3812 |
-
"
|
3813 |
-
"download the latest Booster Plus version."
|
3814 |
msgstr ""
|
3815 |
|
3816 |
-
#: includes/core/class-wcj-admin.php:
|
3817 |
#, php-format
|
3818 |
-
msgid ""
|
3819 |
-
"There is new version of <strong>Booster Plus for WooCommerce</strong> plugin "
|
3820 |
-
"available. We recommend upgrading. Please visit <a target=\"_blank\" href="
|
3821 |
-
"\"%s\">your account page</a> on booster.io to download the latest Booster "
|
3822 |
-
"Plus version."
|
3823 |
msgstr ""
|
3824 |
|
3825 |
-
#: includes/core/class-wcj-admin.php:
|
3826 |
#, php-format
|
3827 |
msgid ""
|
3828 |
"If you like <strong>Booster for WooCommerce</strong> please leave us a %s "
|
3829 |
"rating. Thank you, we couldn't have done it without you!"
|
3830 |
msgstr ""
|
3831 |
|
3832 |
-
#: includes/core/class-wcj-admin.php:
|
3833 |
msgid "Booster Settings"
|
3834 |
msgstr ""
|
3835 |
|
3836 |
-
#: includes/core/class-wcj-admin.php:
|
3837 |
msgid "Docs"
|
3838 |
msgstr ""
|
3839 |
|
3840 |
-
#: includes/core/class-wcj-admin.php:
|
3841 |
msgid "Unlock all"
|
3842 |
msgstr ""
|
3843 |
|
@@ -3997,31 +4068,31 @@ msgstr ""
|
|
3997 |
|
3998 |
#: includes/exchange-rates/class-wcj-exchange-rates-crons.php:22
|
3999 |
#: includes/settings/wcj-settings-currency-exchange-rates.php:38
|
4000 |
-
#: includes/settings/wcj-settings-products-xml.php:
|
4001 |
msgid "Update Every Minute"
|
4002 |
msgstr ""
|
4003 |
|
4004 |
#: includes/exchange-rates/class-wcj-exchange-rates-crons.php:23
|
4005 |
#: includes/settings/wcj-settings-currency-exchange-rates.php:39
|
4006 |
-
#: includes/settings/wcj-settings-products-xml.php:
|
4007 |
msgid "Update Hourly"
|
4008 |
msgstr ""
|
4009 |
|
4010 |
#: includes/exchange-rates/class-wcj-exchange-rates-crons.php:24
|
4011 |
#: includes/settings/wcj-settings-currency-exchange-rates.php:40
|
4012 |
-
#: includes/settings/wcj-settings-products-xml.php:
|
4013 |
msgid "Update Twice Daily"
|
4014 |
msgstr ""
|
4015 |
|
4016 |
#: includes/exchange-rates/class-wcj-exchange-rates-crons.php:25
|
4017 |
#: includes/settings/wcj-settings-currency-exchange-rates.php:41
|
4018 |
-
#: includes/settings/wcj-settings-products-xml.php:
|
4019 |
msgid "Update Daily"
|
4020 |
msgstr ""
|
4021 |
|
4022 |
#: includes/exchange-rates/class-wcj-exchange-rates-crons.php:26
|
4023 |
#: includes/settings/wcj-settings-currency-exchange-rates.php:42
|
4024 |
-
#: includes/settings/wcj-settings-products-xml.php:
|
4025 |
msgid "Update Weekly"
|
4026 |
msgstr ""
|
4027 |
|
@@ -4128,7 +4199,7 @@ msgid "URL"
|
|
4128 |
msgstr ""
|
4129 |
|
4130 |
#: includes/export/class-wcj-fields-helper.php:81
|
4131 |
-
#: includes/reports/wcj-class-reports-customers.php:
|
4132 |
msgid "Registered"
|
4133 |
msgstr ""
|
4134 |
|
@@ -4138,8 +4209,9 @@ msgstr ""
|
|
4138 |
|
4139 |
#: includes/export/class-wcj-fields-helper.php:110
|
4140 |
#: includes/export/class-wcj-fields-helper.php:193
|
4141 |
-
#: includes/pdf-invoices/class-wcj-pdf-invoicing-
|
4142 |
-
#: includes/
|
|
|
4143 |
msgid "Order ID"
|
4144 |
msgstr ""
|
4145 |
|
@@ -4170,14 +4242,16 @@ msgstr ""
|
|
4170 |
|
4171 |
#: includes/export/class-wcj-fields-helper.php:116
|
4172 |
#: includes/export/class-wcj-fields-helper.php:201
|
4173 |
-
#: includes/pdf-invoices/class-wcj-pdf-invoicing-
|
|
|
4174 |
#: includes/settings/meta-box/wcj-settings-meta-box-orders.php:19
|
4175 |
msgid "Order Currency"
|
4176 |
msgstr ""
|
4177 |
|
4178 |
#: includes/export/class-wcj-fields-helper.php:117
|
4179 |
#: includes/export/class-wcj-fields-helper.php:202
|
4180 |
-
#: includes/pdf-invoices/class-wcj-pdf-invoicing-
|
|
|
4181 |
msgid "Order Total"
|
4182 |
msgstr ""
|
4183 |
|
@@ -4319,7 +4393,7 @@ msgid "Stock Quantity"
|
|
4319 |
msgstr ""
|
4320 |
|
4321 |
#: includes/export/class-wcj-fields-helper.php:286
|
4322 |
-
#: includes/price-by-country/class-wcj-price-by-country-local.php:
|
4323 |
#: includes/settings/wcj-settings-product-by-user.php:16
|
4324 |
#: includes/settings/meta-box/wcj-settings-meta-box-multicurrency.php:37
|
4325 |
#: includes/settings/meta-box/wcj-settings-meta-box-price-by-user-role.php:55
|
@@ -4329,7 +4403,7 @@ msgid "Regular Price"
|
|
4329 |
msgstr ""
|
4330 |
|
4331 |
#: includes/export/class-wcj-fields-helper.php:287
|
4332 |
-
#: includes/price-by-country/class-wcj-price-by-country-local.php:
|
4333 |
#: includes/settings/wcj-settings-product-by-user.php:17
|
4334 |
#: includes/settings/meta-box/wcj-settings-meta-box-multicurrency.php:46
|
4335 |
#: includes/settings/meta-box/wcj-settings-meta-box-price-by-user-role.php:64
|
@@ -4345,7 +4419,7 @@ msgstr ""
|
|
4345 |
#: includes/settings/wcj-settings-export.php:149
|
4346 |
#: includes/settings/wcj-settings-export.php:231
|
4347 |
#: includes/settings/wcj-settings-global-discount.php:58
|
4348 |
-
#: includes/settings/wcj-settings-product-addons.php:
|
4349 |
#: includes/settings/wcj-settings-purchase-data.php:73
|
4350 |
#: includes/settings/wcj-settings-shipping-options.php:77
|
4351 |
#: includes/settings/meta-box/wcj-settings-meta-box-product-addons.php:45
|
@@ -4473,18 +4547,18 @@ msgstr ""
|
|
4473 |
msgid "Availability Class"
|
4474 |
msgstr ""
|
4475 |
|
4476 |
-
#: includes/functions/wcj-functions-admin.php:
|
4477 |
#, php-format
|
4478 |
msgid ""
|
4479 |
"<strong>Booster for WooCommerce</strong> plugin was successfully updated to "
|
4480 |
"version <strong>%s</strong>."
|
4481 |
msgstr ""
|
4482 |
|
4483 |
-
#: includes/functions/wcj-functions-admin.php:
|
4484 |
msgid "Enter comma separated list of IDs."
|
4485 |
msgstr ""
|
4486 |
|
4487 |
-
#: includes/functions/wcj-functions-admin.php:
|
4488 |
#: includes/settings/wcj-settings-emails-verification.php:59
|
4489 |
#: includes/settings/wcj-settings-emails-verification.php:67
|
4490 |
#: includes/settings/wcj-settings-emails-verification.php:107
|
@@ -4492,60 +4566,60 @@ msgstr ""
|
|
4492 |
msgid "Replaced value: %s"
|
4493 |
msgstr ""
|
4494 |
|
4495 |
-
#: includes/functions/wcj-functions-admin.php:
|
4496 |
#, php-format
|
4497 |
msgid "Replaced values: %s"
|
4498 |
msgstr ""
|
4499 |
|
4500 |
-
#: includes/functions/wcj-functions-admin.php:
|
4501 |
msgid "Install Booster Plus to unlock all features"
|
4502 |
msgstr ""
|
4503 |
|
4504 |
-
#: includes/functions/wcj-functions-admin.php:
|
4505 |
#, php-format
|
4506 |
msgid ""
|
4507 |
"Some settings fields are locked and you will need %s to modify all locked "
|
4508 |
"fields."
|
4509 |
msgstr ""
|
4510 |
|
4511 |
-
#: includes/functions/wcj-functions-admin.php:
|
4512 |
msgid "Buy now"
|
4513 |
msgstr ""
|
4514 |
|
4515 |
-
#: includes/functions/wcj-functions-admin.php:
|
4516 |
msgid "Visit Booster Site"
|
4517 |
msgstr ""
|
4518 |
|
4519 |
-
#: includes/functions/wcj-functions-admin.php:
|
4520 |
#, php-format
|
4521 |
msgid "Get <a href=\"%s\" target=\"_blank\">Booster Plus</a> to change value."
|
4522 |
msgstr ""
|
4523 |
|
4524 |
-
#: includes/functions/wcj-functions-admin.php:
|
4525 |
#, php-format
|
4526 |
msgid ""
|
4527 |
"Get <a href=\"%s\" target=\"_blank\">Booster Plus</a> to enable \"%s\" "
|
4528 |
"option."
|
4529 |
msgstr ""
|
4530 |
|
4531 |
-
#: includes/functions/wcj-functions-admin.php:
|
4532 |
#, php-format
|
4533 |
msgid "Get Booster Plus to enable \"%s\" option."
|
4534 |
msgstr ""
|
4535 |
|
4536 |
-
#: includes/functions/wcj-functions-admin.php:
|
4537 |
#, php-format
|
4538 |
msgid ""
|
4539 |
"Get <a href=\"%s\" target=\"_blank\">Booster Plus</a> to change values below."
|
4540 |
msgstr ""
|
4541 |
|
4542 |
-
#: includes/functions/wcj-functions-admin.php:
|
4543 |
#, php-format
|
4544 |
msgid ""
|
4545 |
"Get <a href=\"%s\" target=\"_blank\">Booster Plus</a> to change values above."
|
4546 |
msgstr ""
|
4547 |
|
4548 |
-
#: includes/functions/wcj-functions-admin.php:
|
4549 |
msgid "Get Booster Plus to change value."
|
4550 |
msgstr ""
|
4551 |
|
@@ -5603,881 +5677,882 @@ msgstr ""
|
|
5603 |
msgid "Once a minute"
|
5604 |
msgstr ""
|
5605 |
|
5606 |
-
#: includes/functions/wcj-functions-currencies.php:
|
5607 |
msgid "United Arab Emirates Dirham"
|
5608 |
msgstr ""
|
5609 |
|
5610 |
-
#: includes/functions/wcj-functions-currencies.php:
|
5611 |
msgid "Afghan afghani"
|
5612 |
msgstr ""
|
5613 |
|
5614 |
-
#: includes/functions/wcj-functions-currencies.php:
|
5615 |
msgid "Albanian lek"
|
5616 |
msgstr ""
|
5617 |
|
5618 |
-
#: includes/functions/wcj-functions-currencies.php:
|
5619 |
msgid "Armenian dram"
|
5620 |
msgstr ""
|
5621 |
|
5622 |
-
#: includes/functions/wcj-functions-currencies.php:
|
5623 |
msgid "Netherlands Antillean gulden"
|
5624 |
msgstr ""
|
5625 |
|
5626 |
-
#: includes/functions/wcj-functions-currencies.php:
|
5627 |
msgid "Angolan kwanza"
|
5628 |
msgstr ""
|
5629 |
|
5630 |
-
#: includes/functions/wcj-functions-currencies.php:
|
5631 |
msgid "Argentine Peso"
|
5632 |
msgstr ""
|
5633 |
|
5634 |
-
#: includes/functions/wcj-functions-currencies.php:
|
5635 |
msgid "Australian Dollars"
|
5636 |
msgstr ""
|
5637 |
|
5638 |
-
#: includes/functions/wcj-functions-currencies.php:
|
5639 |
msgid "Aruban florin"
|
5640 |
msgstr ""
|
5641 |
|
5642 |
-
#: includes/functions/wcj-functions-currencies.php:
|
5643 |
msgid "Azerbaijani manat"
|
5644 |
msgstr ""
|
5645 |
|
5646 |
-
#: includes/functions/wcj-functions-currencies.php:
|
5647 |
msgid "Bosnia and Herzegovina konvertibilna marka"
|
5648 |
msgstr ""
|
5649 |
|
5650 |
-
#: includes/functions/wcj-functions-currencies.php:
|
5651 |
msgid "Barbadian dollar"
|
5652 |
msgstr ""
|
5653 |
|
5654 |
-
#: includes/functions/wcj-functions-currencies.php:
|
5655 |
msgid "Bangladeshi Taka"
|
5656 |
msgstr ""
|
5657 |
|
5658 |
-
#: includes/functions/wcj-functions-currencies.php:
|
5659 |
msgid "Bulgarian Lev"
|
5660 |
msgstr ""
|
5661 |
|
5662 |
-
#: includes/functions/wcj-functions-currencies.php:
|
5663 |
msgid "Bahraini dinar"
|
5664 |
msgstr ""
|
5665 |
|
5666 |
-
#: includes/functions/wcj-functions-currencies.php:
|
5667 |
msgid "Burundi franc"
|
5668 |
msgstr ""
|
5669 |
|
5670 |
-
#: includes/functions/wcj-functions-currencies.php:
|
5671 |
msgid "Belarusian ruble"
|
5672 |
msgstr ""
|
5673 |
|
5674 |
-
#: includes/functions/wcj-functions-currencies.php:
|
5675 |
msgid "Brunei dollar"
|
5676 |
msgstr ""
|
5677 |
|
5678 |
-
#: includes/functions/wcj-functions-currencies.php:
|
5679 |
msgid "Bolivian boliviano"
|
5680 |
msgstr ""
|
5681 |
|
5682 |
-
#: includes/functions/wcj-functions-currencies.php:
|
5683 |
msgid "Brazilian Real"
|
5684 |
msgstr ""
|
5685 |
|
5686 |
-
#: includes/functions/wcj-functions-currencies.php:
|
5687 |
msgid "Bahamian dollar"
|
5688 |
msgstr ""
|
5689 |
|
5690 |
-
#: includes/functions/wcj-functions-currencies.php:
|
5691 |
msgid "Bhutanese ngultrum"
|
5692 |
msgstr ""
|
5693 |
|
5694 |
-
#: includes/functions/wcj-functions-currencies.php:
|
5695 |
msgid "Botswana pula"
|
5696 |
msgstr ""
|
5697 |
|
5698 |
-
#: includes/functions/wcj-functions-currencies.php:
|
5699 |
msgid "Belize dollar"
|
5700 |
msgstr ""
|
5701 |
|
5702 |
-
#: includes/functions/wcj-functions-currencies.php:
|
5703 |
msgid "Canadian Dollars"
|
5704 |
msgstr ""
|
5705 |
|
5706 |
-
#: includes/functions/wcj-functions-currencies.php:
|
5707 |
msgid "Congolese franc"
|
5708 |
msgstr ""
|
5709 |
|
5710 |
-
#: includes/functions/wcj-functions-currencies.php:
|
5711 |
msgid "Swiss Franc"
|
5712 |
msgstr ""
|
5713 |
|
5714 |
-
#: includes/functions/wcj-functions-currencies.php:
|
5715 |
msgid "Chilean Peso"
|
5716 |
msgstr ""
|
5717 |
|
5718 |
-
#: includes/functions/wcj-functions-currencies.php:
|
5719 |
msgid "Chinese Yuan"
|
5720 |
msgstr ""
|
5721 |
|
5722 |
-
#: includes/functions/wcj-functions-currencies.php:
|
5723 |
msgid "Colombian Peso"
|
5724 |
msgstr ""
|
5725 |
|
5726 |
-
#: includes/functions/wcj-functions-currencies.php:
|
5727 |
msgid "Costa Rican colon"
|
5728 |
msgstr ""
|
5729 |
|
5730 |
-
#: includes/functions/wcj-functions-currencies.php:
|
5731 |
msgid "Cuban peso"
|
5732 |
msgstr ""
|
5733 |
|
5734 |
-
#: includes/functions/wcj-functions-currencies.php:
|
5735 |
msgid "Cape Verdean escudo"
|
5736 |
msgstr ""
|
5737 |
|
5738 |
-
#: includes/functions/wcj-functions-currencies.php:
|
5739 |
msgid "Czech Koruna"
|
5740 |
msgstr ""
|
5741 |
|
5742 |
-
#: includes/functions/wcj-functions-currencies.php:
|
5743 |
msgid "Djiboutian franc"
|
5744 |
msgstr ""
|
5745 |
|
5746 |
-
#: includes/functions/wcj-functions-currencies.php:
|
5747 |
msgid "Danish Krone"
|
5748 |
msgstr ""
|
5749 |
|
5750 |
-
#: includes/functions/wcj-functions-currencies.php:
|
5751 |
msgid "Dominican Peso"
|
5752 |
msgstr ""
|
5753 |
|
5754 |
-
#: includes/functions/wcj-functions-currencies.php:
|
5755 |
msgid "Algerian dinar"
|
5756 |
msgstr ""
|
5757 |
|
5758 |
-
#: includes/functions/wcj-functions-currencies.php:
|
5759 |
msgid "Estonian kroon"
|
5760 |
msgstr ""
|
5761 |
|
5762 |
-
#: includes/functions/wcj-functions-currencies.php:
|
5763 |
msgid "Egyptian Pound"
|
5764 |
msgstr ""
|
5765 |
|
5766 |
-
#: includes/functions/wcj-functions-currencies.php:
|
5767 |
msgid "Eritrean nakfa"
|
5768 |
msgstr ""
|
5769 |
|
5770 |
-
#: includes/functions/wcj-functions-currencies.php:
|
5771 |
msgid "Ethiopian birr"
|
5772 |
msgstr ""
|
5773 |
|
5774 |
-
#: includes/functions/wcj-functions-currencies.php:
|
5775 |
msgid "Euros"
|
5776 |
msgstr ""
|
5777 |
|
5778 |
-
#: includes/functions/wcj-functions-currencies.php:
|
5779 |
msgid "Fijian dollar"
|
5780 |
msgstr ""
|
5781 |
|
5782 |
-
#: includes/functions/wcj-functions-currencies.php:
|
5783 |
msgid "Falkland Islands pound"
|
5784 |
msgstr ""
|
5785 |
|
5786 |
-
#: includes/functions/wcj-functions-currencies.php:
|
5787 |
msgid "Pounds Sterling"
|
5788 |
msgstr ""
|
5789 |
|
5790 |
-
#: includes/functions/wcj-functions-currencies.php:
|
5791 |
msgid "Georgian lari"
|
5792 |
msgstr ""
|
5793 |
|
5794 |
-
#: includes/functions/wcj-functions-currencies.php:
|
5795 |
msgid "Ghanaian cedi"
|
5796 |
msgstr ""
|
5797 |
|
5798 |
-
#: includes/functions/wcj-functions-currencies.php:
|
5799 |
msgid "Gibraltar pound"
|
5800 |
msgstr ""
|
5801 |
|
5802 |
-
#: includes/functions/wcj-functions-currencies.php:
|
5803 |
msgid "Guyanese dollar"
|
5804 |
msgstr ""
|
5805 |
|
5806 |
-
#: includes/functions/wcj-functions-currencies.php:
|
5807 |
msgid "Gambian dalasi"
|
5808 |
msgstr ""
|
5809 |
|
5810 |
-
#: includes/functions/wcj-functions-currencies.php:
|
5811 |
msgid "Guinean franc"
|
5812 |
msgstr ""
|
5813 |
|
5814 |
-
#: includes/functions/wcj-functions-currencies.php:
|
5815 |
-
#: includes/functions/wcj-functions-currencies.php:
|
5816 |
msgid "Central African CFA franc"
|
5817 |
msgstr ""
|
5818 |
|
5819 |
-
#: includes/functions/wcj-functions-currencies.php:
|
5820 |
msgid "Guatemalan quetzal"
|
5821 |
msgstr ""
|
5822 |
|
5823 |
-
#: includes/functions/wcj-functions-currencies.php:
|
5824 |
msgid "Hong Kong Dollar"
|
5825 |
msgstr ""
|
5826 |
|
5827 |
-
#: includes/functions/wcj-functions-currencies.php:
|
5828 |
msgid "Honduran lempira"
|
5829 |
msgstr ""
|
5830 |
|
5831 |
-
#: includes/functions/wcj-functions-currencies.php:
|
5832 |
msgid "Croatia kuna"
|
5833 |
msgstr ""
|
5834 |
|
5835 |
-
#: includes/functions/wcj-functions-currencies.php:
|
5836 |
msgid "Haitian gourde"
|
5837 |
msgstr ""
|
5838 |
|
5839 |
-
#: includes/functions/wcj-functions-currencies.php:
|
5840 |
msgid "Hungarian Forint"
|
5841 |
msgstr ""
|
5842 |
|
5843 |
-
#: includes/functions/wcj-functions-currencies.php:
|
5844 |
msgid "Indonesia Rupiah"
|
5845 |
msgstr ""
|
5846 |
|
5847 |
-
#: includes/functions/wcj-functions-currencies.php:
|
5848 |
msgid "Israeli Shekel"
|
5849 |
msgstr ""
|
5850 |
|
5851 |
-
#: includes/functions/wcj-functions-currencies.php:
|
5852 |
msgid "Indian Rupee"
|
5853 |
msgstr ""
|
5854 |
|
5855 |
-
#: includes/functions/wcj-functions-currencies.php:
|
5856 |
msgid "Iraqi dinar"
|
5857 |
msgstr ""
|
5858 |
|
5859 |
-
#: includes/functions/wcj-functions-currencies.php:
|
5860 |
msgid "Iranian rial"
|
5861 |
msgstr ""
|
5862 |
|
5863 |
-
#: includes/functions/wcj-functions-currencies.php:
|
5864 |
msgid "Icelandic krona"
|
5865 |
msgstr ""
|
5866 |
|
5867 |
-
#: includes/functions/wcj-functions-currencies.php:
|
5868 |
msgid "Yemeni rial"
|
5869 |
msgstr ""
|
5870 |
|
5871 |
-
#: includes/functions/wcj-functions-currencies.php:
|
5872 |
msgid "Jamaican dollar"
|
5873 |
msgstr ""
|
5874 |
|
5875 |
-
#: includes/functions/wcj-functions-currencies.php:
|
5876 |
msgid "Jordanian dinar"
|
5877 |
msgstr ""
|
5878 |
|
5879 |
-
#: includes/functions/wcj-functions-currencies.php:
|
5880 |
msgid "Japanese Yen"
|
5881 |
msgstr ""
|
5882 |
|
5883 |
-
#: includes/functions/wcj-functions-currencies.php:
|
5884 |
msgid "Kenyan shilling"
|
5885 |
msgstr ""
|
5886 |
|
5887 |
-
#: includes/functions/wcj-functions-currencies.php:
|
5888 |
msgid "Kyrgyzstani som"
|
5889 |
msgstr ""
|
5890 |
|
5891 |
-
#: includes/functions/wcj-functions-currencies.php:
|
5892 |
msgid "Cambodian riel"
|
5893 |
msgstr ""
|
5894 |
|
5895 |
-
#: includes/functions/wcj-functions-currencies.php:
|
5896 |
msgid "Lao kip"
|
5897 |
msgstr ""
|
5898 |
|
5899 |
-
#: includes/functions/wcj-functions-currencies.php:
|
5900 |
msgid "Cayman Islands dollar"
|
5901 |
msgstr ""
|
5902 |
|
5903 |
-
#: includes/functions/wcj-functions-currencies.php:
|
5904 |
msgid "Comorian franc"
|
5905 |
msgstr ""
|
5906 |
|
5907 |
-
#: includes/functions/wcj-functions-currencies.php:
|
5908 |
msgid "North Korean won"
|
5909 |
msgstr ""
|
5910 |
|
5911 |
-
#: includes/functions/wcj-functions-currencies.php:
|
5912 |
msgid "South Korean Won"
|
5913 |
msgstr ""
|
5914 |
|
5915 |
-
#: includes/functions/wcj-functions-currencies.php:
|
5916 |
msgid "Kuwaiti dinar"
|
5917 |
msgstr ""
|
5918 |
|
5919 |
-
#: includes/functions/wcj-functions-currencies.php:
|
5920 |
msgid "Kazakhstani tenge"
|
5921 |
msgstr ""
|
5922 |
|
5923 |
-
#: includes/functions/wcj-functions-currencies.php:
|
5924 |
msgid "Lao Kip"
|
5925 |
msgstr ""
|
5926 |
|
5927 |
-
#: includes/functions/wcj-functions-currencies.php:
|
5928 |
msgid "Lebanese lira"
|
5929 |
msgstr ""
|
5930 |
|
5931 |
-
#: includes/functions/wcj-functions-currencies.php:
|
5932 |
msgid "Libyan dinar"
|
5933 |
msgstr ""
|
5934 |
|
5935 |
-
#: includes/functions/wcj-functions-currencies.php:
|
5936 |
msgid "Sri Lankan rupee"
|
5937 |
msgstr ""
|
5938 |
|
5939 |
-
#: includes/functions/wcj-functions-currencies.php:
|
5940 |
msgid "Liberian dollar"
|
5941 |
msgstr ""
|
5942 |
|
5943 |
-
#: includes/functions/wcj-functions-currencies.php:
|
5944 |
msgid "Lesotho loti"
|
5945 |
msgstr ""
|
5946 |
|
5947 |
-
#: includes/functions/wcj-functions-currencies.php:
|
5948 |
msgid "Lithuanian litas"
|
5949 |
msgstr ""
|
5950 |
|
5951 |
-
#: includes/functions/wcj-functions-currencies.php:
|
5952 |
msgid "Latvian lats"
|
5953 |
msgstr ""
|
5954 |
|
5955 |
-
#: includes/functions/wcj-functions-currencies.php:
|
5956 |
msgid "Moroccan dirham"
|
5957 |
msgstr ""
|
5958 |
|
5959 |
-
#: includes/functions/wcj-functions-currencies.php:
|
5960 |
msgid "Moldovan leu"
|
5961 |
msgstr ""
|
5962 |
|
5963 |
-
#: includes/functions/wcj-functions-currencies.php:
|
5964 |
msgid "Malagasy ariary"
|
5965 |
msgstr ""
|
5966 |
|
5967 |
-
#: includes/functions/wcj-functions-currencies.php:
|
5968 |
msgid "Malaysian ringgit"
|
5969 |
msgstr ""
|
5970 |
|
5971 |
-
#: includes/functions/wcj-functions-currencies.php:
|
5972 |
msgid "Macedonian denar"
|
5973 |
msgstr ""
|
5974 |
|
5975 |
-
#: includes/functions/wcj-functions-currencies.php:
|
5976 |
msgid "Myanma kyat"
|
5977 |
msgstr ""
|
5978 |
|
5979 |
-
#: includes/functions/wcj-functions-currencies.php:
|
5980 |
msgid "Mongolian tugrik"
|
5981 |
msgstr ""
|
5982 |
|
5983 |
-
#: includes/functions/wcj-functions-currencies.php:
|
5984 |
msgid "Macanese pataca"
|
5985 |
msgstr ""
|
5986 |
|
5987 |
-
#: includes/functions/wcj-functions-currencies.php:
|
5988 |
msgid "Mauritanian ouguiya"
|
5989 |
msgstr ""
|
5990 |
|
5991 |
-
#: includes/functions/wcj-functions-currencies.php:
|
5992 |
msgid "Mauritian rupee"
|
5993 |
msgstr ""
|
5994 |
|
5995 |
-
#: includes/functions/wcj-functions-currencies.php:
|
5996 |
msgid "Maldivian rufiyaa"
|
5997 |
msgstr ""
|
5998 |
|
5999 |
-
#: includes/functions/wcj-functions-currencies.php:
|
6000 |
msgid "Malawian kwacha"
|
6001 |
msgstr ""
|
6002 |
|
6003 |
-
#: includes/functions/wcj-functions-currencies.php:
|
6004 |
msgid "Mexican Peso"
|
6005 |
msgstr ""
|
6006 |
|
6007 |
-
#: includes/functions/wcj-functions-currencies.php:
|
6008 |
msgid "Malaysian Ringgits"
|
6009 |
msgstr ""
|
6010 |
|
6011 |
-
#: includes/functions/wcj-functions-currencies.php:
|
6012 |
msgid "Mozambican metical"
|
6013 |
msgstr ""
|
6014 |
|
6015 |
-
#: includes/functions/wcj-functions-currencies.php:
|
6016 |
msgid "Namibian dollar"
|
6017 |
msgstr ""
|
6018 |
|
6019 |
-
#: includes/functions/wcj-functions-currencies.php:
|
6020 |
msgid "Nigerian Naira"
|
6021 |
msgstr ""
|
6022 |
|
6023 |
-
#: includes/functions/wcj-functions-currencies.php:
|
6024 |
msgid "Nicaraguan cordoba"
|
6025 |
msgstr ""
|
6026 |
|
6027 |
-
#: includes/functions/wcj-functions-currencies.php:
|
6028 |
msgid "Norwegian Krone"
|
6029 |
msgstr ""
|
6030 |
|
6031 |
-
#: includes/functions/wcj-functions-currencies.php:
|
6032 |
msgid "Nepali Rupee"
|
6033 |
msgstr ""
|
6034 |
|
6035 |
-
#: includes/functions/wcj-functions-currencies.php:
|
6036 |
msgid "New Zealand Dollar"
|
6037 |
msgstr ""
|
6038 |
|
6039 |
-
#: includes/functions/wcj-functions-currencies.php:
|
6040 |
msgid "Omani rial"
|
6041 |
msgstr ""
|
6042 |
|
6043 |
-
#: includes/functions/wcj-functions-currencies.php:
|
6044 |
msgid "Panamanian balboa"
|
6045 |
msgstr ""
|
6046 |
|
6047 |
-
#: includes/functions/wcj-functions-currencies.php:
|
6048 |
msgid "Peruvian nuevo sol"
|
6049 |
msgstr ""
|
6050 |
|
6051 |
-
#: includes/functions/wcj-functions-currencies.php:
|
6052 |
msgid "Papua New Guinean kina"
|
6053 |
msgstr ""
|
6054 |
|
6055 |
-
#: includes/functions/wcj-functions-currencies.php:
|
6056 |
msgid "Philippine Pesos"
|
6057 |
msgstr ""
|
6058 |
|
6059 |
-
#: includes/functions/wcj-functions-currencies.php:
|
6060 |
msgid "Paraguayan guarani"
|
6061 |
msgstr ""
|
6062 |
|
6063 |
-
#: includes/functions/wcj-functions-currencies.php:
|
6064 |
msgid "Pakistani Rupee"
|
6065 |
msgstr ""
|
6066 |
|
6067 |
-
#: includes/functions/wcj-functions-currencies.php:
|
6068 |
msgid "Polish Zloty"
|
6069 |
msgstr ""
|
6070 |
|
6071 |
-
#: includes/functions/wcj-functions-currencies.php:
|
6072 |
msgid "Paraguayan Guaran"
|
6073 |
msgstr ""
|
6074 |
|
6075 |
-
#: includes/functions/wcj-functions-currencies.php:
|
6076 |
msgid "Qatari riyal"
|
6077 |
msgstr ""
|
6078 |
|
6079 |
-
#: includes/functions/wcj-functions-currencies.php:
|
6080 |
msgid "Chinese renminbi"
|
6081 |
msgstr ""
|
6082 |
|
6083 |
-
#: includes/functions/wcj-functions-currencies.php:
|
6084 |
msgid "Romanian Leu"
|
6085 |
msgstr ""
|
6086 |
|
6087 |
-
#: includes/functions/wcj-functions-currencies.php:
|
6088 |
msgid "Serbian dinar"
|
6089 |
msgstr ""
|
6090 |
|
6091 |
-
#: includes/functions/wcj-functions-currencies.php:
|
6092 |
msgid "Russian Ruble"
|
6093 |
msgstr ""
|
6094 |
|
6095 |
-
#: includes/functions/wcj-functions-currencies.php:
|
6096 |
msgid "Rwandan franc"
|
6097 |
msgstr ""
|
6098 |
|
6099 |
-
#: includes/functions/wcj-functions-currencies.php:
|
6100 |
msgid "Saudi Riyal"
|
6101 |
msgstr ""
|
6102 |
|
6103 |
-
#: includes/functions/wcj-functions-currencies.php:
|
6104 |
msgid "Solomon Islands dollar"
|
6105 |
msgstr ""
|
6106 |
|
6107 |
-
#: includes/functions/wcj-functions-currencies.php:
|
6108 |
msgid "Seychellois rupee"
|
6109 |
msgstr ""
|
6110 |
|
6111 |
-
#: includes/functions/wcj-functions-currencies.php:
|
6112 |
msgid "Sudanese pound"
|
6113 |
msgstr ""
|
6114 |
|
6115 |
-
#: includes/functions/wcj-functions-currencies.php:
|
6116 |
msgid "Swedish Krona"
|
6117 |
msgstr ""
|
6118 |
|
6119 |
-
#: includes/functions/wcj-functions-currencies.php:
|
6120 |
msgid "Singapore Dollar"
|
6121 |
msgstr ""
|
6122 |
|
6123 |
-
#: includes/functions/wcj-functions-currencies.php:
|
6124 |
msgid "Saint Helena pound"
|
6125 |
msgstr ""
|
6126 |
|
6127 |
-
#: includes/functions/wcj-functions-currencies.php:
|
6128 |
msgid "Syrian pound"
|
6129 |
msgstr ""
|
6130 |
|
6131 |
-
#: includes/functions/wcj-functions-currencies.php:
|
6132 |
msgid "Slovak koruna"
|
6133 |
msgstr ""
|
6134 |
|
6135 |
-
#: includes/functions/wcj-functions-currencies.php:
|
6136 |
msgid "Sierra Leonean leone"
|
6137 |
msgstr ""
|
6138 |
|
6139 |
-
#: includes/functions/wcj-functions-currencies.php:
|
6140 |
msgid "Somali shilling"
|
6141 |
msgstr ""
|
6142 |
|
6143 |
-
#: includes/functions/wcj-functions-currencies.php:
|
6144 |
msgid "Surinamese dollar"
|
6145 |
msgstr ""
|
6146 |
|
6147 |
-
#: includes/functions/wcj-functions-currencies.php:
|
6148 |
msgid "Sao Tome and Principe dobra"
|
6149 |
msgstr ""
|
6150 |
|
6151 |
-
#: includes/functions/wcj-functions-currencies.php:
|
6152 |
msgid "Swazi lilangeni"
|
6153 |
msgstr ""
|
6154 |
|
6155 |
-
#: includes/functions/wcj-functions-currencies.php:
|
6156 |
msgid "Thai Baht"
|
6157 |
msgstr ""
|
6158 |
|
6159 |
-
#: includes/functions/wcj-functions-currencies.php:
|
6160 |
msgid "Tajikistani somoni"
|
6161 |
msgstr ""
|
6162 |
|
6163 |
-
#: includes/functions/wcj-functions-currencies.php:
|
6164 |
msgid "Turkmen manat"
|
6165 |
msgstr ""
|
6166 |
|
6167 |
-
#: includes/functions/wcj-functions-currencies.php:
|
6168 |
msgid "Tunisian dinar"
|
6169 |
msgstr ""
|
6170 |
|
6171 |
-
#: includes/functions/wcj-functions-currencies.php:
|
6172 |
msgid "Paanga"
|
6173 |
msgstr ""
|
6174 |
|
6175 |
-
#: includes/functions/wcj-functions-currencies.php:
|
6176 |
msgid "Turkish Lira"
|
6177 |
msgstr ""
|
6178 |
|
6179 |
-
#: includes/functions/wcj-functions-currencies.php:
|
6180 |
msgid "Trinidad and Tobago dollar"
|
6181 |
msgstr ""
|
6182 |
|
6183 |
-
#: includes/functions/wcj-functions-currencies.php:
|
6184 |
msgid "Taiwan New Dollars"
|
6185 |
msgstr ""
|
6186 |
|
6187 |
-
#: includes/functions/wcj-functions-currencies.php:
|
6188 |
msgid "Tanzanian shilling"
|
6189 |
msgstr ""
|
6190 |
|
6191 |
-
#: includes/functions/wcj-functions-currencies.php:
|
6192 |
msgid "Ukrainian Hryvnia"
|
6193 |
msgstr ""
|
6194 |
|
6195 |
-
#: includes/functions/wcj-functions-currencies.php:
|
6196 |
msgid "Ugandan shilling"
|
6197 |
msgstr ""
|
6198 |
|
6199 |
-
#: includes/functions/wcj-functions-currencies.php:
|
6200 |
msgid "Uruguayan peso"
|
6201 |
msgstr ""
|
6202 |
|
6203 |
-
#: includes/functions/wcj-functions-currencies.php:
|
6204 |
msgid "US Dollars"
|
6205 |
msgstr ""
|
6206 |
|
6207 |
-
#: includes/functions/wcj-functions-currencies.php:
|
6208 |
msgid "Uzbekistani som"
|
6209 |
msgstr ""
|
6210 |
|
6211 |
-
#: includes/functions/wcj-functions-currencies.php:
|
6212 |
msgid "Venezuelan bolivar"
|
6213 |
msgstr ""
|
6214 |
|
6215 |
-
#: includes/functions/wcj-functions-currencies.php:
|
6216 |
msgid "Vietnamese Dong"
|
6217 |
msgstr ""
|
6218 |
|
6219 |
-
#: includes/functions/wcj-functions-currencies.php:
|
6220 |
msgid "Vanuatu vatu"
|
6221 |
msgstr ""
|
6222 |
|
6223 |
-
#: includes/functions/wcj-functions-currencies.php:
|
6224 |
msgid "Samoan tala"
|
6225 |
msgstr ""
|
6226 |
|
6227 |
-
#: includes/functions/wcj-functions-currencies.php:
|
6228 |
msgid "East Caribbean dollar"
|
6229 |
msgstr ""
|
6230 |
|
6231 |
-
#: includes/functions/wcj-functions-currencies.php:
|
6232 |
msgid "Special Drawing Rights"
|
6233 |
msgstr ""
|
6234 |
|
6235 |
-
#: includes/functions/wcj-functions-currencies.php:
|
6236 |
msgid "West African CFA franc"
|
6237 |
msgstr ""
|
6238 |
|
6239 |
-
#: includes/functions/wcj-functions-currencies.php:
|
6240 |
msgid "CFP franc"
|
6241 |
msgstr ""
|
6242 |
|
6243 |
-
#: includes/functions/wcj-functions-currencies.php:
|
6244 |
msgid "South African rand"
|
6245 |
msgstr ""
|
6246 |
|
6247 |
-
#: includes/functions/wcj-functions-currencies.php:
|
6248 |
msgid "Zambian kwacha"
|
6249 |
msgstr ""
|
6250 |
|
6251 |
-
#: includes/functions/wcj-functions-currencies.php:
|
6252 |
msgid "Zimbabwean dollar"
|
6253 |
msgstr ""
|
6254 |
|
6255 |
-
#: includes/functions/wcj-functions-currencies.php:
|
6256 |
msgid "Auroracoin"
|
6257 |
msgstr ""
|
6258 |
|
6259 |
-
#: includes/functions/wcj-functions-currencies.php:
|
6260 |
msgid "BitConnect"
|
6261 |
msgstr ""
|
6262 |
|
6263 |
-
#: includes/functions/wcj-functions-currencies.php:
|
6264 |
msgid "Bitcoin Cash"
|
6265 |
msgstr ""
|
6266 |
|
6267 |
-
#: includes/functions/wcj-functions-currencies.php:
|
6268 |
msgid "Bitcoin"
|
6269 |
msgstr ""
|
6270 |
|
6271 |
-
#: includes/functions/wcj-functions-currencies.php:
|
6272 |
msgid "Coinye"
|
6273 |
msgstr ""
|
6274 |
|
6275 |
-
#: includes/functions/wcj-functions-currencies.php:
|
6276 |
msgid "DigitalNote"
|
6277 |
msgstr ""
|
6278 |
|
6279 |
-
#: includes/functions/wcj-functions-currencies.php:
|
6280 |
msgid "Emercoin"
|
6281 |
msgstr ""
|
6282 |
|
6283 |
-
#: includes/functions/wcj-functions-currencies.php:
|
6284 |
msgid "Ethereum Classic"
|
6285 |
msgstr ""
|
6286 |
|
6287 |
-
#: includes/functions/wcj-functions-currencies.php:
|
6288 |
msgid "Ethereum"
|
6289 |
msgstr ""
|
6290 |
|
6291 |
-
#: includes/functions/wcj-functions-currencies.php:
|
6292 |
msgid "Freemasoncoin"
|
6293 |
msgstr ""
|
6294 |
|
6295 |
-
#: includes/functions/wcj-functions-currencies.php:
|
6296 |
msgid "Gridcoin"
|
6297 |
msgstr ""
|
6298 |
|
6299 |
-
#: includes/functions/wcj-functions-currencies.php:
|
6300 |
msgid "IOTA"
|
6301 |
msgstr ""
|
6302 |
|
6303 |
-
#: includes/functions/wcj-functions-currencies.php:
|
6304 |
msgid "Litecoin"
|
6305 |
msgstr ""
|
6306 |
|
6307 |
-
#: includes/functions/wcj-functions-currencies.php:
|
6308 |
msgid "MazaCoin"
|
6309 |
msgstr ""
|
6310 |
|
6311 |
-
#: includes/functions/wcj-functions-currencies.php:
|
6312 |
msgid "Monero"
|
6313 |
msgstr ""
|
6314 |
|
6315 |
-
#: includes/functions/wcj-functions-currencies.php:
|
6316 |
msgid "Namecoin"
|
6317 |
msgstr ""
|
6318 |
|
6319 |
-
#: includes/functions/wcj-functions-currencies.php:
|
6320 |
msgid "NEM"
|
6321 |
msgstr ""
|
6322 |
|
6323 |
-
#: includes/functions/wcj-functions-currencies.php:
|
6324 |
msgid "Nxt"
|
6325 |
msgstr ""
|
6326 |
|
6327 |
-
#: includes/functions/wcj-functions-currencies.php:
|
6328 |
msgid "Omni"
|
6329 |
msgstr ""
|
6330 |
|
6331 |
-
#: includes/functions/wcj-functions-currencies.php:
|
6332 |
msgid "Peercoin"
|
6333 |
msgstr ""
|
6334 |
|
6335 |
-
#: includes/functions/wcj-functions-currencies.php:
|
6336 |
msgid "PotCoin"
|
6337 |
msgstr ""
|
6338 |
|
6339 |
-
#: includes/functions/wcj-functions-currencies.php:
|
6340 |
msgid "Primecoin"
|
6341 |
msgstr ""
|
6342 |
|
6343 |
-
#: includes/functions/wcj-functions-currencies.php:
|
6344 |
msgid "Ripple"
|
6345 |
msgstr ""
|
6346 |
|
6347 |
-
#: includes/functions/wcj-functions-currencies.php:
|
6348 |
msgid "SixEleven"
|
6349 |
msgstr ""
|
6350 |
|
6351 |
-
#: includes/functions/wcj-functions-currencies.php:
|
6352 |
msgid "Synereo AMP"
|
6353 |
msgstr ""
|
6354 |
|
6355 |
-
#: includes/functions/wcj-functions-currencies.php:
|
6356 |
msgid "Titcoin"
|
6357 |
msgstr ""
|
6358 |
|
6359 |
-
#: includes/functions/wcj-functions-currencies.php:
|
6360 |
msgid "Ubiq"
|
6361 |
msgstr ""
|
6362 |
|
6363 |
-
#: includes/functions/wcj-functions-currencies.php:
|
6364 |
msgid "Vertcoin"
|
6365 |
msgstr ""
|
6366 |
|
6367 |
-
#: includes/functions/wcj-functions-currencies.php:
|
6368 |
msgid "Zcash"
|
6369 |
msgstr ""
|
6370 |
|
6371 |
-
#: includes/functions/wcj-functions-currencies.php:
|
6372 |
msgid "myCred"
|
6373 |
msgstr ""
|
6374 |
|
6375 |
-
#: includes/functions/wcj-functions-exchange-rates.php:
|
6376 |
msgid "Yahoo"
|
6377 |
msgstr ""
|
6378 |
|
6379 |
-
#: includes/functions/wcj-functions-exchange-rates.php:
|
6380 |
msgid "European Central Bank (ECB)"
|
6381 |
msgstr ""
|
6382 |
|
6383 |
-
#: includes/functions/wcj-functions-exchange-rates.php:
|
6384 |
msgid "TCMB"
|
6385 |
msgstr ""
|
6386 |
|
6387 |
-
#: includes/functions/wcj-functions-exchange-rates.php:
|
6388 |
msgid "Fixer.io"
|
6389 |
msgstr ""
|
6390 |
|
6391 |
-
#: includes/functions/wcj-functions-exchange-rates.php:
|
6392 |
msgid "Coinbase"
|
6393 |
msgstr ""
|
6394 |
|
6395 |
-
#: includes/functions/wcj-functions-exchange-rates.php:
|
6396 |
msgid "CoinMarketCap"
|
6397 |
msgstr ""
|
6398 |
|
6399 |
-
#: includes/functions/wcj-functions-general.php:
|
6400 |
-
#: includes/
|
|
|
6401 |
msgid "You have Free delivery"
|
6402 |
msgstr ""
|
6403 |
|
6404 |
-
#: includes/functions/wcj-functions-general.php:
|
6405 |
msgid "Before cart"
|
6406 |
msgstr ""
|
6407 |
|
6408 |
-
#: includes/functions/wcj-functions-general.php:
|
6409 |
msgid "Before cart table"
|
6410 |
msgstr ""
|
6411 |
|
6412 |
-
#: includes/functions/wcj-functions-general.php:
|
6413 |
msgid "Before cart contents"
|
6414 |
msgstr ""
|
6415 |
|
6416 |
-
#: includes/functions/wcj-functions-general.php:
|
6417 |
msgid "Cart contents"
|
6418 |
msgstr ""
|
6419 |
|
6420 |
-
#: includes/functions/wcj-functions-general.php:
|
6421 |
msgid "Cart coupon"
|
6422 |
msgstr ""
|
6423 |
|
6424 |
-
#: includes/functions/wcj-functions-general.php:
|
6425 |
msgid "Cart actions"
|
6426 |
msgstr ""
|
6427 |
|
6428 |
-
#: includes/functions/wcj-functions-general.php:
|
6429 |
msgid "After cart contents"
|
6430 |
msgstr ""
|
6431 |
|
6432 |
-
#: includes/functions/wcj-functions-general.php:
|
6433 |
msgid "After cart table"
|
6434 |
msgstr ""
|
6435 |
|
6436 |
-
#: includes/functions/wcj-functions-general.php:
|
6437 |
msgid "Cart collaterals"
|
6438 |
msgstr ""
|
6439 |
|
6440 |
-
#: includes/functions/wcj-functions-general.php:
|
6441 |
msgid "After cart"
|
6442 |
msgstr ""
|
6443 |
|
6444 |
-
#: includes/functions/wcj-functions-general.php:
|
6445 |
msgid "Before cart totals"
|
6446 |
msgstr ""
|
6447 |
|
6448 |
-
#: includes/functions/wcj-functions-general.php:
|
6449 |
msgid "Cart totals: Before shipping"
|
6450 |
msgstr ""
|
6451 |
|
6452 |
-
#: includes/functions/wcj-functions-general.php:
|
6453 |
msgid "Cart totals: After shipping"
|
6454 |
msgstr ""
|
6455 |
|
6456 |
-
#: includes/functions/wcj-functions-general.php:
|
6457 |
msgid "Cart totals: Before order total"
|
6458 |
msgstr ""
|
6459 |
|
6460 |
-
#: includes/functions/wcj-functions-general.php:
|
6461 |
msgid "Cart totals: After order total"
|
6462 |
msgstr ""
|
6463 |
|
6464 |
-
#: includes/functions/wcj-functions-general.php:
|
6465 |
msgid "Proceed to checkout"
|
6466 |
msgstr ""
|
6467 |
|
6468 |
-
#: includes/functions/wcj-functions-general.php:
|
6469 |
msgid "After cart totals"
|
6470 |
msgstr ""
|
6471 |
|
6472 |
-
#: includes/functions/wcj-functions-general.php:
|
6473 |
msgid "Before shipping calculator"
|
6474 |
msgstr ""
|
6475 |
|
6476 |
-
#: includes/functions/wcj-functions-general.php:
|
6477 |
msgid "After shipping calculator"
|
6478 |
msgstr ""
|
6479 |
|
6480 |
-
#: includes/functions/wcj-functions-general.php:
|
6481 |
msgid "If cart is empty"
|
6482 |
msgstr ""
|
6483 |
|
@@ -6514,6 +6589,8 @@ msgid "Item Title"
|
|
6514 |
msgstr ""
|
6515 |
|
6516 |
#: includes/functions/wcj-functions-reports.php:27
|
|
|
|
|
6517 |
msgid "Quantity"
|
6518 |
msgstr ""
|
6519 |
|
@@ -6758,7 +6835,7 @@ msgstr ""
|
|
6758 |
#: includes/settings/wcj-settings-export.php:220
|
6759 |
#: includes/settings/wcj-settings-global-discount.php:50
|
6760 |
#: includes/settings/wcj-settings-product-by-user.php:149
|
6761 |
-
#: includes/settings/wcj-settings-products-xml.php:
|
6762 |
#: includes/settings/meta-box/wcj-settings-meta-box-price-by-user-role.php:37
|
6763 |
#: includes/settings/meta-box/wcj-settings-meta-box-product-addons.php:21
|
6764 |
#: includes/settings/meta-box/wcj-settings-meta-box-product-bookings.php:14
|
@@ -6777,7 +6854,7 @@ msgstr ""
|
|
6777 |
#: includes/settings/wcj-settings-cart-customization.php:50
|
6778 |
#: includes/settings/wcj-settings-checkout-custom-fields.php:120
|
6779 |
#: includes/settings/wcj-settings-more-button-labels.php:19
|
6780 |
-
#: includes/settings/wcj-settings-product-addons.php:
|
6781 |
#: includes/settings/meta-box/wcj-settings-meta-box-product-addons.php:53
|
6782 |
msgid "Text"
|
6783 |
msgstr ""
|
@@ -6794,7 +6871,7 @@ msgstr ""
|
|
6794 |
|
6795 |
#: includes/input-fields/wcj-product-input-fields-options.php:35
|
6796 |
#: includes/settings/wcj-settings-checkout-custom-fields.php:123
|
6797 |
-
#: includes/settings/wcj-settings-product-addons.php:
|
6798 |
#: includes/settings/meta-box/wcj-settings-meta-box-product-addons.php:50
|
6799 |
msgid "Checkbox"
|
6800 |
msgstr ""
|
@@ -6837,7 +6914,7 @@ msgstr ""
|
|
6837 |
#: includes/input-fields/wcj-product-input-fields-options.php:57
|
6838 |
#: includes/settings/wcj-settings-checkout-custom-fields.php:150
|
6839 |
#: includes/settings/wcj-settings-eu-vat-number.php:27
|
6840 |
-
#: includes/settings/wcj-settings-product-addons.php:
|
6841 |
#: includes/settings/meta-box/wcj-settings-meta-box-product-addons.php:91
|
6842 |
msgid "Placeholder"
|
6843 |
msgstr ""
|
@@ -7183,53 +7260,93 @@ msgstr ""
|
|
7183 |
msgid "No documents (%s) found for %d-%02d."
|
7184 |
msgstr ""
|
7185 |
|
7186 |
-
#: includes/pdf-invoices/class-wcj-pdf-invoicing-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
7187 |
msgid "Document Number"
|
7188 |
msgstr ""
|
7189 |
|
7190 |
-
#: includes/pdf-invoices/class-wcj-pdf-invoicing-
|
|
|
7191 |
msgid "Document Date"
|
7192 |
msgstr ""
|
7193 |
|
7194 |
-
#: includes/pdf-invoices/class-wcj-pdf-invoicing-
|
|
|
7195 |
msgid "Customer Country"
|
7196 |
msgstr ""
|
7197 |
|
7198 |
-
#: includes/pdf-invoices/class-wcj-pdf-invoicing-
|
|
|
7199 |
msgid "Customer VAT ID"
|
7200 |
msgstr ""
|
7201 |
|
7202 |
-
#: includes/pdf-invoices/class-wcj-pdf-invoicing-
|
|
|
7203 |
msgid "Tax %"
|
7204 |
msgstr ""
|
7205 |
|
7206 |
-
#: includes/pdf-invoices/class-wcj-pdf-invoicing-
|
7207 |
-
|
|
|
7208 |
msgstr ""
|
7209 |
|
7210 |
-
#: includes/pdf-invoices/class-wcj-pdf-invoicing-
|
|
|
7211 |
msgid "Order Taxes"
|
7212 |
msgstr ""
|
7213 |
|
7214 |
-
#: includes/pdf-invoices/class-wcj-pdf-invoicing-
|
|
|
7215 |
msgid "Payment Gateway"
|
7216 |
msgstr ""
|
7217 |
|
7218 |
-
#: includes/pdf-invoices/class-wcj-pdf-invoicing-
|
|
|
7219 |
msgid "Refunds"
|
7220 |
msgstr ""
|
7221 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
7222 |
#: includes/pdf-invoices/submodules/class-wcj-pdf-invoicing-display.php:24
|
7223 |
msgid "Display & Misc."
|
7224 |
msgstr ""
|
7225 |
|
7226 |
#: includes/pdf-invoices/submodules/class-wcj-pdf-invoicing-display.php:129
|
7227 |
-
#: includes/pdf-invoices/submodules/class-wcj-pdf-invoicing-display.php:
|
7228 |
msgid "View"
|
7229 |
msgstr ""
|
7230 |
|
7231 |
#: includes/pdf-invoices/submodules/class-wcj-pdf-invoicing-display.php:148
|
7232 |
-
#: includes/pdf-invoices/submodules/class-wcj-pdf-invoicing-display.php:
|
7233 |
msgid "Create"
|
7234 |
msgstr ""
|
7235 |
|
@@ -7237,7 +7354,11 @@ msgstr ""
|
|
7237 |
msgid "Booster: PDF Invoices"
|
7238 |
msgstr ""
|
7239 |
|
7240 |
-
#: includes/pdf-invoices/submodules/class-wcj-pdf-invoicing-display.php:
|
|
|
|
|
|
|
|
|
7241 |
msgid ""
|
7242 |
"In case of partial refund, you need to reload the page to see created "
|
7243 |
"document in this meta box."
|
@@ -7290,13 +7411,21 @@ msgstr ""
|
|
7290 |
msgid "Country Groups Generated."
|
7291 |
msgstr ""
|
7292 |
|
7293 |
-
#: includes/price-by-country/class-wcj-price-by-country-local.php:
|
7294 |
-
#: includes/settings/wcj-settings-price-by-country.php:
|
|
|
7295 |
msgid "Make empty price"
|
7296 |
msgstr ""
|
7297 |
|
7298 |
-
#: includes/price-by-country/class-wcj-price-by-country-local.php:
|
7299 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
7300 |
msgstr ""
|
7301 |
|
7302 |
#: includes/reports/class-wcj-currency-reports.php:38
|
@@ -7308,36 +7437,40 @@ msgstr ""
|
|
7308 |
msgid "Show reports only in"
|
7309 |
msgstr ""
|
7310 |
|
7311 |
-
#: includes/reports/wcj-class-reports-customers.php:
|
7312 |
msgid "No customers found."
|
7313 |
msgstr ""
|
7314 |
|
7315 |
-
#: includes/reports/wcj-class-reports-customers.php:
|
|
|
|
|
|
|
|
|
7316 |
#: includes/settings/wcj-settings-offer-price.php:162
|
7317 |
msgid "Customer Name"
|
7318 |
msgstr ""
|
7319 |
|
7320 |
-
#: includes/reports/wcj-class-reports-customers.php:
|
7321 |
msgid "Total Spent"
|
7322 |
msgstr ""
|
7323 |
|
7324 |
-
#: includes/reports/wcj-class-reports-customers.php:
|
7325 |
msgid "Total customers"
|
7326 |
msgstr ""
|
7327 |
|
7328 |
-
#: includes/reports/wcj-class-reports-customers.php:
|
7329 |
msgid "Country Code"
|
7330 |
msgstr ""
|
7331 |
|
7332 |
-
#: includes/reports/wcj-class-reports-customers.php:
|
7333 |
msgid "Customers Count"
|
7334 |
msgstr ""
|
7335 |
|
7336 |
-
#: includes/reports/wcj-class-reports-customers.php:
|
7337 |
msgid "Percent of total"
|
7338 |
msgstr ""
|
7339 |
|
7340 |
-
#: includes/reports/wcj-class-reports-customers.php:
|
7341 |
msgid "Report for:"
|
7342 |
msgstr ""
|
7343 |
|
@@ -7577,6 +7710,103 @@ msgstr ""
|
|
7577 |
msgid "Report was generated in: "
|
7578 |
msgstr ""
|
7579 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
7580 |
#: includes/settings/wcj-settings-add-to-cart.php:14
|
7581 |
msgid "Per Category Options"
|
7582 |
msgstr ""
|
@@ -7612,14 +7842,6 @@ msgstr ""
|
|
7612 |
msgid "Click \"Save changes\" after you change this number."
|
7613 |
msgstr ""
|
7614 |
|
7615 |
-
#: includes/settings/wcj-settings-add-to-cart.php:51
|
7616 |
-
#: includes/settings/wcj-settings-price-by-country.php:193
|
7617 |
-
#: includes/settings/wcj-settings-price-by-country.php:203
|
7618 |
-
#: includes/settings/wcj-settings-price-by-country.php:213
|
7619 |
-
#: includes/settings/wcj-settings-price-by-country.php:271
|
7620 |
-
msgid "Group"
|
7621 |
-
msgstr ""
|
7622 |
-
|
7623 |
#: includes/settings/wcj-settings-add-to-cart.php:59
|
7624 |
msgid "categories"
|
7625 |
msgstr ""
|
@@ -7638,7 +7860,7 @@ msgid "Button text - product archive (category) view"
|
|
7638 |
msgstr ""
|
7639 |
|
7640 |
#: includes/settings/wcj-settings-add-to-cart.php:92
|
7641 |
-
#: includes/settings/wcj-settings-product-addons.php:
|
7642 |
#: includes/settings/wcj-settings-product-by-date.php:47
|
7643 |
#: includes/settings/wcj-settings-product-by-time.php:47
|
7644 |
msgid "Per Product Options"
|
@@ -7788,7 +8010,7 @@ msgstr ""
|
|
7788 |
#: includes/settings/wcj-settings-payment-gateways-icons.php:14
|
7789 |
#: includes/settings/wcj-settings-payment-gateways-per-category.php:18
|
7790 |
#: includes/settings/wcj-settings-price-by-user-role.php:14
|
7791 |
-
#: includes/settings/wcj-settings-product-addons.php:
|
7792 |
#: includes/settings/wcj-settings-product-bookings.php:86
|
7793 |
#: includes/settings/wcj-settings-product-by-user-role.php:14
|
7794 |
#: includes/settings/wcj-settings-product-by-user.php:59
|
@@ -7803,47 +8025,25 @@ msgid "Options"
|
|
7803 |
msgstr ""
|
7804 |
|
7805 |
#: includes/settings/wcj-settings-admin-bar.php:19
|
7806 |
-
msgid "\"WooCommerce\" Admin Bar"
|
7807 |
-
msgstr ""
|
7808 |
-
|
7809 |
-
#: includes/settings/wcj-settings-admin-bar.php:26
|
7810 |
-
msgid "\"Booster\" Admin Bar"
|
7811 |
-
msgstr ""
|
7812 |
-
|
7813 |
-
#: includes/settings/wcj-settings-admin-bar.php:33
|
7814 |
-
msgid "\"Booster: Active\" Admin Bar"
|
7815 |
-
msgstr ""
|
7816 |
-
|
7817 |
-
#: includes/settings/wcj-settings-admin-orders-list.php:14
|
7818 |
-
#: includes/settings/wcj-settings-admin-orders-list.php:20
|
7819 |
-
#: includes/settings/wcj-settings-admin-products-list.php:14
|
7820 |
-
msgid "Custom Columns"
|
7821 |
-
msgstr ""
|
7822 |
-
|
7823 |
-
#: includes/settings/wcj-settings-admin-orders-list.php:16
|
7824 |
-
msgid "This section lets you add custom columns to WooCommerce orders list."
|
7825 |
-
msgstr ""
|
7826 |
-
|
7827 |
-
#: includes/settings/wcj-settings-admin-orders-list.php:21
|
7828 |
-
#: includes/settings/wcj-settings-admin-orders-list.php:107
|
7829 |
-
#: includes/settings/wcj-settings-admin-orders-list.php:148
|
7830 |
-
#: includes/settings/wcj-settings-admin-products-list.php:20
|
7831 |
-
#: includes/settings/wcj-settings-admin-products-list.php:76
|
7832 |
-
#: includes/settings/wcj-settings-order-quantities.php:21
|
7833 |
-
#: includes/settings/wcj-settings-order-quantities.php:79
|
7834 |
-
#: includes/settings/wcj-settings-orders.php:72
|
7835 |
-
#: includes/settings/wcj-settings-price-formats.php:37
|
7836 |
-
#: includes/settings/wcj-settings-product-listings.php:128
|
7837 |
-
#: includes/settings/wcj-settings-sale-flash.php:20
|
7838 |
-
#: includes/settings/wcj-settings-sale-flash.php:65
|
7839 |
-
#: includes/settings/wcj-settings-sale-flash.php:90
|
7840 |
-
#: includes/settings/wcj-settings-shipping-by-condition.php:25
|
7841 |
-
#: includes/settings/wcj-settings-shipping-options.php:21
|
7842 |
-
#: includes/settings/wcj-settings-stock.php:23
|
7843 |
-
#: includes/settings/wcj-settings-tax-display.php:27
|
7844 |
-
#: includes/settings/wcj-settings-tax-display.php:44
|
7845 |
-
#: includes/settings/wcj-settings-tax-display.php:101
|
7846 |
-
msgid "Enable section"
|
7847 |
msgstr ""
|
7848 |
|
7849 |
#: includes/settings/wcj-settings-admin-orders-list.php:28
|
@@ -7882,37 +8082,37 @@ msgstr ""
|
|
7882 |
msgid "Label"
|
7883 |
msgstr ""
|
7884 |
|
7885 |
-
#: includes/settings/wcj-settings-admin-orders-list.php:
|
7886 |
#: includes/settings/wcj-settings-admin-products-list.php:57
|
7887 |
msgid "You can use shortcodes and/or HTML here."
|
7888 |
msgstr ""
|
7889 |
|
7890 |
-
#: includes/settings/wcj-settings-admin-orders-list.php:
|
7891 |
msgid "Sortable"
|
7892 |
msgstr ""
|
7893 |
|
7894 |
-
#: includes/settings/wcj-settings-admin-orders-list.php:
|
7895 |
msgid "By meta (as text)"
|
7896 |
msgstr ""
|
7897 |
|
7898 |
-
#: includes/settings/wcj-settings-admin-orders-list.php:
|
7899 |
msgid "By meta (as numbers)"
|
7900 |
msgstr ""
|
7901 |
|
7902 |
-
#: includes/settings/wcj-settings-admin-orders-list.php:
|
7903 |
msgid "Key (if sortable)"
|
7904 |
msgstr ""
|
7905 |
|
7906 |
-
#: includes/settings/wcj-settings-admin-orders-list.php:
|
7907 |
-
#: includes/settings/wcj-settings-admin-orders-list.php:
|
7908 |
msgid "Multiple Status"
|
7909 |
msgstr ""
|
7910 |
|
7911 |
-
#: includes/settings/wcj-settings-admin-orders-list.php:
|
7912 |
msgid "Multiple Status Filtering"
|
7913 |
msgstr ""
|
7914 |
|
7915 |
-
#: includes/settings/wcj-settings-admin-orders-list.php:
|
7916 |
#: includes/settings/wcj-settings-empty-cart.php:40
|
7917 |
#: includes/settings/wcj-settings-empty-cart.php:55
|
7918 |
#: includes/settings/wcj-settings-offer-price.php:69
|
@@ -7920,26 +8120,26 @@ msgstr ""
|
|
7920 |
msgid "Do not add"
|
7921 |
msgstr ""
|
7922 |
|
7923 |
-
#: includes/settings/wcj-settings-admin-orders-list.php:
|
7924 |
msgid "Add as multiple select"
|
7925 |
msgstr ""
|
7926 |
|
7927 |
-
#: includes/settings/wcj-settings-admin-orders-list.php:
|
7928 |
msgid "Add as checkboxes"
|
7929 |
msgstr ""
|
7930 |
|
7931 |
-
#: includes/settings/wcj-settings-admin-orders-list.php:
|
7932 |
msgid "Hide Default Statuses Menu"
|
7933 |
msgstr ""
|
7934 |
|
7935 |
-
#: includes/settings/wcj-settings-admin-orders-list.php:
|
7936 |
#: includes/settings/wcj-settings-breadcrumbs.php:34
|
7937 |
#: includes/settings/wcj-settings-cart-customization.php:20
|
7938 |
#: includes/settings/wcj-settings-cart-customization.php:27
|
7939 |
#: includes/settings/wcj-settings-checkout-customization.php:32
|
7940 |
#: includes/settings/wcj-settings-currency.php:21
|
7941 |
#: includes/settings/wcj-settings-order-custom-statuses.php:63
|
7942 |
-
#: includes/settings/wcj-settings-pdf-invoicing.php:
|
7943 |
#: includes/settings/wcj-settings-product-bookings.php:92
|
7944 |
#: includes/settings/wcj-settings-product-images.php:20
|
7945 |
#: includes/settings/wcj-settings-product-images.php:27
|
@@ -7951,20 +8151,22 @@ msgstr ""
|
|
7951 |
#: includes/settings/wcj-settings-sale-flash.php:42
|
7952 |
#: includes/settings/wcj-settings-sale-flash.php:49
|
7953 |
#: includes/settings/wcj-settings-shipping-calculator.php:54
|
|
|
|
|
7954 |
msgid "Hide"
|
7955 |
msgstr ""
|
7956 |
|
7957 |
-
#: includes/settings/wcj-settings-admin-orders-list.php:
|
7958 |
msgid "Add \"Not Completed\" Status Link to Default Statuses Menu"
|
7959 |
msgstr ""
|
7960 |
|
7961 |
-
#: includes/settings/wcj-settings-admin-orders-list.php:
|
7962 |
-
#: includes/settings/wcj-settings-admin-orders-list.php:
|
7963 |
#: includes/settings/wcj-settings-admin-products-list.php:70
|
7964 |
msgid "Columns Order"
|
7965 |
msgstr ""
|
7966 |
|
7967 |
-
#: includes/settings/wcj-settings-admin-orders-list.php:
|
7968 |
#: includes/settings/wcj-settings-admin-products-list.php:83
|
7969 |
msgid "Default columns order"
|
7970 |
msgstr ""
|
@@ -8025,6 +8227,10 @@ msgstr ""
|
|
8025 |
msgid "Show Product Meta"
|
8026 |
msgstr ""
|
8027 |
|
|
|
|
|
|
|
|
|
8028 |
#: includes/settings/wcj-settings-breadcrumbs.php:19
|
8029 |
msgid "Change Breadcrumbs Home URL"
|
8030 |
msgstr ""
|
@@ -8160,22 +8366,22 @@ msgstr ""
|
|
8160 |
msgid "Info Block"
|
8161 |
msgstr ""
|
8162 |
|
8163 |
-
#: includes/settings/wcj-settings-cart.php:
|
8164 |
-
#: includes/settings/wcj-settings-checkout-custom-info.php:
|
8165 |
#: includes/settings/wcj-settings-mini-cart.php:58
|
8166 |
#: includes/settings/wcj-settings-product-custom-info.php:112
|
8167 |
msgid "Position Order (i.e. Priority)"
|
8168 |
msgstr ""
|
8169 |
|
8170 |
-
#: includes/settings/wcj-settings-cart.php:
|
8171 |
msgid "Cart Items Table Custom Info"
|
8172 |
msgstr ""
|
8173 |
|
8174 |
-
#: includes/settings/wcj-settings-cart.php:
|
8175 |
msgid "Add to Each Item Name"
|
8176 |
msgstr ""
|
8177 |
|
8178 |
-
#: includes/settings/wcj-settings-cart.php:
|
8179 |
msgid ""
|
8180 |
"You can use shortcodes here. E.g.: [wcj_product_sku]. Leave blank to disable."
|
8181 |
msgstr ""
|
@@ -8332,7 +8538,7 @@ msgstr ""
|
|
8332 |
#: includes/settings/wcj-settings-checkout-custom-fields.php:169
|
8333 |
#: includes/settings/wcj-settings-checkout-custom-info.php:55
|
8334 |
#: includes/settings/wcj-settings-empty-cart.php:58
|
8335 |
-
#: includes/settings/wcj-settings-left-to-free-shipping.php:
|
8336 |
msgid "Billing"
|
8337 |
msgstr ""
|
8338 |
|
@@ -8465,7 +8671,7 @@ msgstr ""
|
|
8465 |
|
8466 |
#: includes/settings/wcj-settings-checkout-custom-fields.php:319
|
8467 |
#: includes/settings/wcj-settings-global-discount.php:137
|
8468 |
-
#: includes/settings/wcj-settings-product-addons.php:
|
8469 |
#: includes/settings/wcj-settings-related-products.php:223
|
8470 |
msgid "Exclude Products"
|
8471 |
msgstr ""
|
@@ -8511,44 +8717,44 @@ msgstr ""
|
|
8511 |
#: includes/settings/wcj-settings-checkout-custom-info.php:53
|
8512 |
#: includes/settings/wcj-settings-checkout-files-upload.php:55
|
8513 |
#: includes/settings/wcj-settings-empty-cart.php:56
|
8514 |
-
#: includes/settings/wcj-settings-left-to-free-shipping.php:
|
8515 |
msgid "Before checkout form"
|
8516 |
msgstr ""
|
8517 |
|
8518 |
#: includes/settings/wcj-settings-checkout-custom-info.php:54
|
8519 |
#: includes/settings/wcj-settings-empty-cart.php:57
|
8520 |
-
#: includes/settings/wcj-settings-left-to-free-shipping.php:
|
8521 |
msgid "Before customer details"
|
8522 |
msgstr ""
|
8523 |
|
8524 |
#: includes/settings/wcj-settings-checkout-custom-info.php:57
|
8525 |
#: includes/settings/wcj-settings-empty-cart.php:60
|
8526 |
-
#: includes/settings/wcj-settings-left-to-free-shipping.php:
|
8527 |
msgid "After customer details"
|
8528 |
msgstr ""
|
8529 |
|
8530 |
#: includes/settings/wcj-settings-checkout-custom-info.php:58
|
8531 |
#: includes/settings/wcj-settings-empty-cart.php:61
|
8532 |
-
#: includes/settings/wcj-settings-left-to-free-shipping.php:
|
8533 |
msgid "Before order review"
|
8534 |
msgstr ""
|
8535 |
|
8536 |
#: includes/settings/wcj-settings-checkout-custom-info.php:59
|
8537 |
#: includes/settings/wcj-settings-empty-cart.php:62
|
8538 |
-
#: includes/settings/wcj-settings-left-to-free-shipping.php:
|
8539 |
msgid "Order review"
|
8540 |
msgstr ""
|
8541 |
|
8542 |
#: includes/settings/wcj-settings-checkout-custom-info.php:60
|
8543 |
#: includes/settings/wcj-settings-empty-cart.php:63
|
8544 |
-
#: includes/settings/wcj-settings-left-to-free-shipping.php:
|
8545 |
msgid "After order review"
|
8546 |
msgstr ""
|
8547 |
|
8548 |
#: includes/settings/wcj-settings-checkout-custom-info.php:61
|
8549 |
#: includes/settings/wcj-settings-checkout-files-upload.php:56
|
8550 |
#: includes/settings/wcj-settings-empty-cart.php:64
|
8551 |
-
#: includes/settings/wcj-settings-left-to-free-shipping.php:
|
8552 |
msgid "After checkout form"
|
8553 |
msgstr ""
|
8554 |
|
@@ -8671,9 +8877,15 @@ msgstr ""
|
|
8671 |
#: includes/settings/wcj-settings-checkout-customization.php:84
|
8672 |
#: includes/settings/wcj-settings-sale-flash.php:27
|
8673 |
#: includes/settings/wcj-settings-sale-flash.php:102
|
|
|
|
|
8674 |
msgid "You can use HTML and/or shortcodes here."
|
8675 |
msgstr ""
|
8676 |
|
|
|
|
|
|
|
|
|
8677 |
#: includes/settings/wcj-settings-checkout-files-upload.php:22
|
8678 |
#: includes/settings/wcj-settings-products-xml.php:23
|
8679 |
msgid "Total Files"
|
@@ -8835,8 +9047,8 @@ msgid "Form Template Options"
|
|
8835 |
msgstr ""
|
8836 |
|
8837 |
#: includes/settings/wcj-settings-checkout-files-upload.php:249
|
8838 |
-
#: includes/settings/wcj-settings-product-addons.php:
|
8839 |
-
#: includes/settings/wcj-settings-product-addons.php:
|
8840 |
msgid "Before"
|
8841 |
msgstr ""
|
8842 |
|
@@ -8856,14 +9068,17 @@ msgid "Replaced values: %field_html%, %button_html%."
|
|
8856 |
msgstr ""
|
8857 |
|
8858 |
#: includes/settings/wcj-settings-checkout-files-upload.php:272
|
8859 |
-
#: includes/settings/wcj-settings-product-addons.php:
|
8860 |
-
#: includes/settings/wcj-settings-product-addons.php:
|
8861 |
msgid "After"
|
8862 |
msgstr ""
|
8863 |
|
8864 |
#: includes/settings/wcj-settings-checkout-files-upload.php:285
|
|
|
8865 |
#: includes/settings/wcj-settings-eu-vat-number.php:203
|
8866 |
#: includes/settings/wcj-settings-general.php:77
|
|
|
|
|
8867 |
#: includes/settings/wcj-settings-product-custom-info.php:188
|
8868 |
#: includes/settings/wcj-settings-shipping-by-condition.php:78
|
8869 |
msgid "Advanced Options"
|
@@ -8941,7 +9156,6 @@ msgid "%s till next update."
|
|
8941 |
msgstr ""
|
8942 |
|
8943 |
#: includes/settings/wcj-settings-currency-exchange-rates.php:20
|
8944 |
-
#: includes/settings/wcj-settings-products-xml.php:55
|
8945 |
#, php-format
|
8946 |
msgid "%s seconds till next update."
|
8947 |
msgstr ""
|
@@ -8958,7 +9172,7 @@ msgstr ""
|
|
8958 |
#: includes/settings/wcj-settings-multicurrency-base-price.php:24
|
8959 |
#: includes/settings/wcj-settings-multicurrency.php:22
|
8960 |
#: includes/settings/wcj-settings-payment-gateways-currency.php:59
|
8961 |
-
#: includes/settings/wcj-settings-price-by-country.php:
|
8962 |
msgid "Exchange Rates Updates"
|
8963 |
msgstr ""
|
8964 |
|
@@ -9029,7 +9243,7 @@ msgid "Custom Currency"
|
|
9029 |
msgstr ""
|
9030 |
|
9031 |
#: includes/settings/wcj-settings-currency-exchange-rates.php:156
|
9032 |
-
#: includes/settings/wcj-settings-price-by-country.php:
|
9033 |
msgid "Exchange Rates"
|
9034 |
msgstr ""
|
9035 |
|
@@ -9041,7 +9255,7 @@ msgstr ""
|
|
9041 |
#: includes/settings/wcj-settings-currency-per-product.php:163
|
9042 |
#: includes/settings/wcj-settings-multicurrency-base-price.php:94
|
9043 |
#: includes/settings/wcj-settings-multicurrency.php:135
|
9044 |
-
#: includes/settings/wcj-settings-price-by-country.php:
|
9045 |
#: includes/settings/wcj-settings-price-formats.php:59
|
9046 |
msgid "Currency"
|
9047 |
msgstr ""
|
@@ -9116,7 +9330,7 @@ msgstr ""
|
|
9116 |
#: includes/settings/wcj-settings-multicurrency-base-price.php:29
|
9117 |
#: includes/settings/wcj-settings-multicurrency.php:28
|
9118 |
#: includes/settings/wcj-settings-payment-gateways-currency.php:64
|
9119 |
-
#: includes/settings/wcj-settings-price-by-country.php:
|
9120 |
msgid "Enter Rates Manually"
|
9121 |
msgstr ""
|
9122 |
|
@@ -9124,7 +9338,7 @@ msgstr ""
|
|
9124 |
#: includes/settings/wcj-settings-multicurrency-base-price.php:30
|
9125 |
#: includes/settings/wcj-settings-multicurrency.php:29
|
9126 |
#: includes/settings/wcj-settings-payment-gateways-currency.php:65
|
9127 |
-
#: includes/settings/wcj-settings-price-by-country.php:
|
9128 |
msgid "Automatically via Currency Exchange Rates module"
|
9129 |
msgstr ""
|
9130 |
|
@@ -9132,7 +9346,7 @@ msgstr ""
|
|
9132 |
#: includes/settings/wcj-settings-multicurrency-base-price.php:33
|
9133 |
#: includes/settings/wcj-settings-multicurrency.php:32
|
9134 |
#: includes/settings/wcj-settings-payment-gateways-currency.php:68
|
9135 |
-
#: includes/settings/wcj-settings-price-by-country.php:
|
9136 |
msgid "Visit"
|
9137 |
msgstr ""
|
9138 |
|
@@ -9140,7 +9354,7 @@ msgstr ""
|
|
9140 |
#: includes/settings/wcj-settings-multicurrency-base-price.php:33
|
9141 |
#: includes/settings/wcj-settings-multicurrency.php:32
|
9142 |
#: includes/settings/wcj-settings-payment-gateways-currency.php:68
|
9143 |
-
#: includes/settings/wcj-settings-price-by-country.php:
|
9144 |
msgid "Currency Exchange Rates module"
|
9145 |
msgstr ""
|
9146 |
|
@@ -9171,6 +9385,18 @@ msgstr ""
|
|
9171 |
msgid "Product Authors User Roles"
|
9172 |
msgstr ""
|
9173 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
9174 |
#: includes/settings/wcj-settings-currency.php:15
|
9175 |
msgid "Currency Symbol Options"
|
9176 |
msgstr ""
|
@@ -9216,13 +9442,6 @@ msgid ""
|
|
9216 |
"Set product specific CSS to be loaded only on specific product's single page."
|
9217 |
msgstr ""
|
9218 |
|
9219 |
-
#: includes/settings/wcj-settings-custom-css.php:36
|
9220 |
-
#: includes/settings/wcj-settings-product-add-to-cart.php:179
|
9221 |
-
#: includes/settings/wcj-settings-product-add-to-cart.php:210
|
9222 |
-
#: includes/settings/wcj-settings-product-add-to-cart.php:227
|
9223 |
-
msgid "This will add meta box to each product's edit page"
|
9224 |
-
msgstr ""
|
9225 |
-
|
9226 |
#: includes/settings/wcj-settings-custom-css.php:42
|
9227 |
msgid "Custom CSS on per Product Basis - Default Field Value"
|
9228 |
msgstr ""
|
@@ -9517,7 +9736,7 @@ msgid "Export Options"
|
|
9517 |
msgstr ""
|
9518 |
|
9519 |
#: includes/settings/wcj-settings-export.php:20
|
9520 |
-
#: includes/settings/wcj-settings-pdf-invoicing.php:
|
9521 |
msgid "CSV Separator"
|
9522 |
msgstr ""
|
9523 |
|
@@ -9661,11 +9880,12 @@ msgid "Grouped Products"
|
|
9661 |
msgstr ""
|
9662 |
|
9663 |
#: includes/settings/wcj-settings-free-price.php:16
|
9664 |
-
#: includes/settings/wcj-settings-product-add-to-cart.php:
|
9665 |
msgid "External Products"
|
9666 |
msgstr ""
|
9667 |
|
9668 |
#: includes/settings/wcj-settings-free-price.php:19
|
|
|
9669 |
msgid "Single Product Page"
|
9670 |
msgstr ""
|
9671 |
|
@@ -9711,22 +9931,6 @@ msgstr ""
|
|
9711 |
msgid "Disable all Booster's shortcodes (for memory saving)."
|
9712 |
msgstr ""
|
9713 |
|
9714 |
-
#: includes/settings/wcj-settings-general.php:51
|
9715 |
-
#: includes/settings/wcj-settings-general.php:100
|
9716 |
-
#: includes/settings/wcj-settings-general.php:114
|
9717 |
-
#: includes/settings/wcj-settings-general.php:121
|
9718 |
-
#: includes/settings/wcj-settings-general.php:128
|
9719 |
-
#: includes/settings/wcj-settings-general.php:135
|
9720 |
-
#: includes/settings/wcj-settings-pdf-invoicing-styling.php:126
|
9721 |
-
#: includes/settings/wcj-settings-price-by-user-role.php:56
|
9722 |
-
#: includes/settings/wcj-settings-price-by-user-role.php:88
|
9723 |
-
#: includes/settings/wcj-settings-product-add-to-cart.php:131
|
9724 |
-
#: includes/settings/wcj-settings-product-open-pricing.php:80
|
9725 |
-
#: includes/settings/wcj-settings-sku.php:205
|
9726 |
-
#: includes/settings/meta-box/wcj-settings-meta-box-product-add-to-cart.php:91
|
9727 |
-
msgid "Disable"
|
9728 |
-
msgstr ""
|
9729 |
-
|
9730 |
#: includes/settings/wcj-settings-general.php:61
|
9731 |
#: includes/settings/wcj-settings-general.php:66
|
9732 |
msgid "Product Revisions"
|
@@ -9849,7 +10053,7 @@ msgstr ""
|
|
9849 |
#: includes/settings/wcj-settings-global-discount.php:64
|
9850 |
#: includes/settings/wcj-settings-payment-gateways-fees.php:38
|
9851 |
#: includes/settings/wcj-settings-purchase-data.php:78
|
9852 |
-
#: includes/settings/wcj-settings-wholesale-price.php:
|
9853 |
#: includes/settings/meta-box/wcj-settings-meta-box-wholesale-price.php:18
|
9854 |
msgid "Percent"
|
9855 |
msgstr ""
|
@@ -9858,7 +10062,7 @@ msgstr ""
|
|
9858 |
#: includes/settings/wcj-settings-payment-gateways-fees.php:37
|
9859 |
#: includes/settings/wcj-settings-price-by-user-role.php:32
|
9860 |
#: includes/settings/wcj-settings-purchase-data.php:77
|
9861 |
-
#: includes/settings/wcj-settings-wholesale-price.php:
|
9862 |
#: includes/settings/meta-box/wcj-settings-meta-box-wholesale-price.php:19
|
9863 |
msgid "Fixed"
|
9864 |
msgstr ""
|
@@ -9879,7 +10083,7 @@ msgstr ""
|
|
9879 |
|
9880 |
#: includes/settings/wcj-settings-global-discount.php:83
|
9881 |
#: includes/settings/wcj-settings-product-add-to-cart.php:65
|
9882 |
-
#: includes/settings/wcj-settings-products-xml.php:
|
9883 |
msgid "All products"
|
9884 |
msgstr ""
|
9885 |
|
@@ -9888,7 +10092,7 @@ msgid "Only products that are already on sale"
|
|
9888 |
msgstr ""
|
9889 |
|
9890 |
#: includes/settings/wcj-settings-global-discount.php:85
|
9891 |
-
#: includes/settings/wcj-settings-products-xml.php:
|
9892 |
msgid "Only products that are not on sale"
|
9893 |
msgstr ""
|
9894 |
|
@@ -9974,46 +10178,46 @@ msgid "Info on Cart"
|
|
9974 |
msgstr ""
|
9975 |
|
9976 |
#: includes/settings/wcj-settings-left-to-free-shipping.php:35
|
9977 |
-
#: includes/settings/wcj-settings-left-to-free-shipping.php:
|
9978 |
-
#: includes/settings/wcj-settings-left-to-free-shipping.php:
|
9979 |
-
#: includes/settings/wcj-settings-left-to-free-shipping.php:
|
9980 |
msgid "You can use HTML and/or shortcodes (e.g. [wcj_wpml]) here."
|
9981 |
msgstr ""
|
9982 |
|
9983 |
-
#: includes/settings/wcj-settings-left-to-free-shipping.php:
|
9984 |
-
#: includes/settings/wcj-settings-left-to-free-shipping.php:
|
9985 |
-
#: includes/settings/wcj-settings-left-to-free-shipping.php:
|
9986 |
msgid "Position Order (Priority)"
|
9987 |
msgstr ""
|
9988 |
|
9989 |
-
#: includes/settings/wcj-settings-left-to-free-shipping.php:
|
9990 |
msgid "Info on Mini Cart"
|
9991 |
msgstr ""
|
9992 |
|
9993 |
-
#: includes/settings/wcj-settings-left-to-free-shipping.php:
|
9994 |
#: includes/settings/wcj-settings-mini-cart.php:51
|
9995 |
msgid "Before mini cart"
|
9996 |
msgstr ""
|
9997 |
|
9998 |
-
#: includes/settings/wcj-settings-left-to-free-shipping.php:
|
9999 |
#: includes/settings/wcj-settings-mini-cart.php:52
|
10000 |
msgid "Before buttons"
|
10001 |
msgstr ""
|
10002 |
|
10003 |
-
#: includes/settings/wcj-settings-left-to-free-shipping.php:
|
10004 |
#: includes/settings/wcj-settings-mini-cart.php:53
|
10005 |
msgid "After mini cart"
|
10006 |
msgstr ""
|
10007 |
|
10008 |
-
#: includes/settings/wcj-settings-left-to-free-shipping.php:
|
10009 |
msgid "Info on Checkout"
|
10010 |
msgstr ""
|
10011 |
|
10012 |
-
#: includes/settings/wcj-settings-left-to-free-shipping.php:
|
10013 |
msgid "Message on Free Shipping Reached"
|
10014 |
msgstr ""
|
10015 |
|
10016 |
-
#: includes/settings/wcj-settings-left-to-free-shipping.php:
|
10017 |
msgid "Set empty to disable."
|
10018 |
msgstr ""
|
10019 |
|
@@ -10021,6 +10225,26 @@ msgstr ""
|
|
10021 |
msgid "Mini Cart Custom Info Blocks"
|
10022 |
msgstr ""
|
10023 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
10024 |
#: includes/settings/wcj-settings-more-button-labels.php:14
|
10025 |
msgid "Place order (Order now) Button"
|
10026 |
msgstr ""
|
@@ -10033,22 +10257,22 @@ msgstr ""
|
|
10033 |
msgid "Button on the checkout page."
|
10034 |
msgstr ""
|
10035 |
|
10036 |
-
#: includes/settings/wcj-settings-
|
10037 |
-
msgid "
|
10038 |
msgstr ""
|
10039 |
|
10040 |
-
#: includes/settings/wcj-settings-
|
10041 |
-
msgid "
|
|
|
|
|
10042 |
msgstr ""
|
10043 |
|
10044 |
-
#: includes/settings/wcj-settings-multicurrency-base-price.php:
|
10045 |
-
msgid "
|
10046 |
msgstr ""
|
10047 |
|
10048 |
-
#: includes/settings/wcj-settings-multicurrency-base-price.php:
|
10049 |
-
msgid ""
|
10050 |
-
"This may help if you are experiencing compatibility issues with other "
|
10051 |
-
"plugins."
|
10052 |
msgstr ""
|
10053 |
|
10054 |
#: includes/settings/wcj-settings-multicurrency.php:23
|
@@ -10166,7 +10390,7 @@ msgid "Roles"
|
|
10166 |
msgstr ""
|
10167 |
|
10168 |
#: includes/settings/wcj-settings-multicurrency.php:168
|
10169 |
-
#: includes/settings/wcj-settings-wholesale-price.php:
|
10170 |
msgid "Save settings after you change this option. Leave blank to disable."
|
10171 |
msgstr ""
|
10172 |
|
@@ -10461,12 +10685,6 @@ msgstr ""
|
|
10461 |
msgid "Message on cart page"
|
10462 |
msgstr ""
|
10463 |
|
10464 |
-
#: includes/settings/wcj-settings-order-min-amount.php:69
|
10465 |
-
#: includes/settings/wcj-settings-pdf-invoicing.php:87
|
10466 |
-
#: includes/settings/wcj-settings-pdf-invoicing.php:101
|
10467 |
-
msgid "Advanced"
|
10468 |
-
msgstr ""
|
10469 |
-
|
10470 |
#: includes/settings/wcj-settings-order-min-amount.php:70
|
10471 |
msgid "Cart notice method"
|
10472 |
msgstr ""
|
@@ -10506,59 +10724,76 @@ msgstr ""
|
|
10506 |
msgid "Order Minimum Amount by User Role"
|
10507 |
msgstr ""
|
10508 |
|
10509 |
-
#: includes/settings/wcj-settings-order-numbers.php:
|
10510 |
msgid ""
|
10511 |
"This section lets you enable sequential order numbering, set custom number "
|
10512 |
"prefix, suffix and width."
|
10513 |
msgstr ""
|
10514 |
|
10515 |
-
#: includes/settings/wcj-settings-order-numbers.php:
|
10516 |
#: includes/settings/wcj-settings-sku.php:21
|
10517 |
msgid "Number Generation"
|
10518 |
msgstr ""
|
10519 |
|
10520 |
-
#: includes/settings/wcj-settings-order-numbers.php:
|
10521 |
#: includes/settings/wcj-settings-pdf-invoicing-numbering.php:22
|
10522 |
#: includes/settings/wcj-settings-sku.php:27
|
10523 |
msgid "Sequential"
|
10524 |
msgstr ""
|
10525 |
|
10526 |
-
#: includes/settings/wcj-settings-order-numbers.php:
|
10527 |
#: includes/settings/wcj-settings-sku.php:28
|
10528 |
msgid "Pseudorandom - Hash (max 10 digits)"
|
10529 |
msgstr ""
|
10530 |
|
10531 |
-
#: includes/settings/wcj-settings-order-numbers.php:
|
10532 |
-
msgid "Next Order Number"
|
10533 |
msgstr ""
|
10534 |
|
10535 |
-
#: includes/settings/wcj-settings-order-numbers.php:
|
10536 |
msgid "Next new order will be given this number."
|
10537 |
msgstr ""
|
10538 |
|
10539 |
-
#: includes/settings/wcj-settings-order-numbers.php:
|
10540 |
msgid "Use Renumerate Orders tool for existing orders."
|
10541 |
msgstr ""
|
10542 |
|
10543 |
-
#: includes/settings/wcj-settings-order-numbers.php:
|
|
|
10544 |
msgid "This will be ignored if sequential order numbering is disabled."
|
10545 |
msgstr ""
|
10546 |
|
10547 |
-
#: includes/settings/wcj-settings-order-numbers.php:
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
10548 |
msgid "Order Number Custom Prefix"
|
10549 |
msgstr ""
|
10550 |
|
10551 |
-
#: includes/settings/wcj-settings-order-numbers.php:
|
10552 |
msgid ""
|
10553 |
"Prefix before order number (optional). This will change the prefixes for all "
|
10554 |
"existing orders."
|
10555 |
msgstr ""
|
10556 |
|
10557 |
-
#: includes/settings/wcj-settings-order-numbers.php:
|
10558 |
msgid "Order Number Date Prefix"
|
10559 |
msgstr ""
|
10560 |
|
10561 |
-
#: includes/settings/wcj-settings-order-numbers.php:
|
10562 |
msgid ""
|
10563 |
"Date prefix before order number (optional). This will change the prefixes "
|
10564 |
"for all existing orders. Value is passed directly to PHP `date` function, so "
|
@@ -10567,11 +10802,11 @@ msgid ""
|
|
10567 |
"d- or mdy."
|
10568 |
msgstr ""
|
10569 |
|
10570 |
-
#: includes/settings/wcj-settings-order-numbers.php:
|
10571 |
msgid "Order Number Width"
|
10572 |
msgstr ""
|
10573 |
|
10574 |
-
#: includes/settings/wcj-settings-order-numbers.php:
|
10575 |
msgid ""
|
10576 |
"Minimum width of number without prefix (zeros will be added to the left "
|
10577 |
"side). This will change the minimum width of order number for all existing "
|
@@ -10579,21 +10814,21 @@ msgid ""
|
|
10579 |
"Leave zero to disable."
|
10580 |
msgstr ""
|
10581 |
|
10582 |
-
#: includes/settings/wcj-settings-order-numbers.php:
|
10583 |
msgid "Order Number Custom Suffix"
|
10584 |
msgstr ""
|
10585 |
|
10586 |
-
#: includes/settings/wcj-settings-order-numbers.php:
|
10587 |
msgid ""
|
10588 |
"Suffix after order number (optional). This will change the suffixes for all "
|
10589 |
"existing orders."
|
10590 |
msgstr ""
|
10591 |
|
10592 |
-
#: includes/settings/wcj-settings-order-numbers.php:
|
10593 |
msgid "Order Number Date Suffix"
|
10594 |
msgstr ""
|
10595 |
|
10596 |
-
#: includes/settings/wcj-settings-order-numbers.php:
|
10597 |
msgid ""
|
10598 |
"Date suffix after order number (optional). This will change the suffixes for "
|
10599 |
"all existing orders. Value is passed directly to PHP `date` function, so "
|
@@ -10602,51 +10837,51 @@ msgid ""
|
|
10602 |
"d- or mdy."
|
10603 |
msgstr ""
|
10604 |
|
10605 |
-
#: includes/settings/wcj-settings-order-numbers.php:
|
10606 |
msgid "Use MySQL Transaction"
|
10607 |
msgstr ""
|
10608 |
|
10609 |
-
#: includes/settings/wcj-settings-order-numbers.php:
|
10610 |
msgid ""
|
10611 |
"This should be enabled if you have a lot of simultaneous orders in your shop "
|
10612 |
"- to prevent duplicate order numbers (sequential)."
|
10613 |
msgstr ""
|
10614 |
|
10615 |
-
#: includes/settings/wcj-settings-order-numbers.php:
|
10616 |
msgid "Enable Order Tracking by Custom Number"
|
10617 |
msgstr ""
|
10618 |
|
10619 |
-
#: includes/settings/wcj-settings-order-numbers.php:
|
10620 |
msgid "Enable Order Admin Search by Custom Number"
|
10621 |
msgstr ""
|
10622 |
|
10623 |
-
#: includes/settings/wcj-settings-order-numbers.php:
|
10624 |
msgid "Orders Renumerate Tool Options"
|
10625 |
msgstr ""
|
10626 |
|
10627 |
-
#: includes/settings/wcj-settings-order-numbers.php:
|
10628 |
msgid "Sort by"
|
10629 |
msgstr ""
|
10630 |
|
10631 |
-
#: includes/settings/wcj-settings-order-numbers.php:
|
10632 |
msgid "Last modified date"
|
10633 |
msgstr ""
|
10634 |
|
10635 |
-
#: includes/settings/wcj-settings-order-numbers.php:
|
10636 |
#: includes/settings/wcj-settings-related-products.php:22
|
10637 |
msgid "Random"
|
10638 |
msgstr ""
|
10639 |
|
10640 |
-
#: includes/settings/wcj-settings-order-numbers.php:
|
10641 |
msgid "Sort Ascending or Descending"
|
10642 |
msgstr ""
|
10643 |
|
10644 |
-
#: includes/settings/wcj-settings-order-numbers.php:
|
10645 |
#: includes/settings/wcj-settings-related-products.php:90
|
10646 |
msgid "Ascending"
|
10647 |
msgstr ""
|
10648 |
|
10649 |
-
#: includes/settings/wcj-settings-order-numbers.php:
|
10650 |
#: includes/settings/wcj-settings-related-products.php:91
|
10651 |
msgid "Descending"
|
10652 |
msgstr ""
|
@@ -10790,46 +11025,60 @@ msgid ""
|
|
10790 |
"may want auto-complete all your orders."
|
10791 |
msgstr ""
|
10792 |
|
10793 |
-
#: includes/settings/wcj-settings-orders.php:
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
10794 |
msgid "Bulk Regenerate Download Permissions for Orders"
|
10795 |
msgstr ""
|
10796 |
|
10797 |
-
#: includes/settings/wcj-settings-orders.php:
|
10798 |
msgid "Bulk Regenerate Download Permissions"
|
10799 |
msgstr ""
|
10800 |
|
10801 |
-
#: includes/settings/wcj-settings-orders.php:
|
10802 |
msgid "Bulk Actions"
|
10803 |
msgstr ""
|
10804 |
|
10805 |
-
#: includes/settings/wcj-settings-orders.php:
|
10806 |
msgid ""
|
10807 |
"When enabled this will add \"Regenerate download permissions\" action to "
|
10808 |
"\"Bulk Actions\" select box on admin orders page."
|
10809 |
msgstr ""
|
10810 |
|
10811 |
-
#: includes/settings/wcj-settings-orders.php:
|
10812 |
msgid "All Orders - Now"
|
10813 |
msgstr ""
|
10814 |
|
10815 |
-
#: includes/settings/wcj-settings-orders.php:
|
10816 |
msgid ""
|
10817 |
"Check this box and press \"Save changes\" button to start regeneration. "
|
10818 |
"Please note that both module and current section must be enabled before that."
|
10819 |
msgstr ""
|
10820 |
|
10821 |
-
#: includes/settings/wcj-settings-orders.php:
|
10822 |
msgid "Regenerate now"
|
10823 |
msgstr ""
|
10824 |
|
10825 |
-
#: includes/settings/wcj-settings-orders.php:
|
10826 |
msgid "All Orders - Periodically"
|
10827 |
msgstr ""
|
10828 |
|
10829 |
-
#: includes/settings/wcj-settings-orders.php:
|
10830 |
msgid "Regenerate"
|
10831 |
msgstr ""
|
10832 |
|
|
|
|
|
|
|
|
|
10833 |
#: includes/settings/wcj-settings-payment-gateways-by-country.php:16
|
10834 |
#: includes/settings/wcj-settings-payment-gateways-by-currency.php:16
|
10835 |
#: includes/settings/wcj-settings-payment-gateways-by-user-role.php:16
|
@@ -10855,7 +11104,7 @@ msgstr ""
|
|
10855 |
|
10856 |
#: includes/settings/wcj-settings-payment-gateways-by-currency.php:27
|
10857 |
#, php-format
|
10858 |
-
msgid "PayPal allows only these currencies
|
10859 |
msgstr ""
|
10860 |
|
10861 |
#: includes/settings/wcj-settings-payment-gateways-by-currency.php:44
|
@@ -11044,7 +11293,7 @@ msgid "Max"
|
|
11044 |
msgstr ""
|
11045 |
|
11046 |
#: includes/settings/wcj-settings-payment-gateways-per-category.php:31
|
11047 |
-
#: includes/settings/wcj-settings-price-labels.php:
|
11048 |
#: includes/settings/wcj-settings-product-input-fields.php:109
|
11049 |
msgid "Product Categories - Include"
|
11050 |
msgstr ""
|
@@ -11056,7 +11305,7 @@ msgid ""
|
|
11056 |
msgstr ""
|
11057 |
|
11058 |
#: includes/settings/wcj-settings-payment-gateways-per-category.php:42
|
11059 |
-
#: includes/settings/wcj-settings-price-labels.php:
|
11060 |
#: includes/settings/wcj-settings-product-input-fields.php:120
|
11061 |
msgid "Product Categories - Exclude"
|
11062 |
msgstr ""
|
@@ -11068,7 +11317,7 @@ msgid ""
|
|
11068 |
msgstr ""
|
11069 |
|
11070 |
#: includes/settings/wcj-settings-payment-gateways-per-category.php:54
|
11071 |
-
#: includes/settings/wcj-settings-price-labels.php:
|
11072 |
#: includes/settings/wcj-settings-product-input-fields.php:154
|
11073 |
msgid "Products - Include"
|
11074 |
msgstr ""
|
@@ -11080,7 +11329,7 @@ msgid ""
|
|
11080 |
msgstr ""
|
11081 |
|
11082 |
#: includes/settings/wcj-settings-payment-gateways-per-category.php:67
|
11083 |
-
#: includes/settings/wcj-settings-price-labels.php:
|
11084 |
#: includes/settings/wcj-settings-product-input-fields.php:166
|
11085 |
msgid "Products - Exclude"
|
11086 |
msgstr ""
|
@@ -11122,7 +11371,150 @@ msgstr ""
|
|
11122 |
msgid "Admin Title Custom Gateway"
|
11123 |
msgstr ""
|
11124 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
11125 |
#: includes/settings/wcj-settings-pdf-invoicing-display.php:25
|
|
|
11126 |
#: includes/settings/wcj-settings-shipping.php:30
|
11127 |
msgid "Admin Title"
|
11128 |
msgstr ""
|
@@ -11147,10 +11539,6 @@ msgstr ""
|
|
11147 |
msgid "Add \"Create\" button"
|
11148 |
msgstr ""
|
11149 |
|
11150 |
-
#: includes/settings/wcj-settings-pdf-invoicing-display.php:77
|
11151 |
-
msgid "Add \"Delete\" button"
|
11152 |
-
msgstr ""
|
11153 |
-
|
11154 |
#: includes/settings/wcj-settings-pdf-invoicing-display.php:84
|
11155 |
msgid "\"Create\" button requires confirmation"
|
11156 |
msgstr ""
|
@@ -11197,14 +11585,6 @@ msgstr ""
|
|
11197 |
msgid "If set to empty - Administrator role will be used."
|
11198 |
msgstr ""
|
11199 |
|
11200 |
-
#: includes/settings/wcj-settings-pdf-invoicing-display.php:145
|
11201 |
-
msgid "General Display Options"
|
11202 |
-
msgstr ""
|
11203 |
-
|
11204 |
-
#: includes/settings/wcj-settings-pdf-invoicing-display.php:150
|
11205 |
-
msgid "Add PDF Invoices Meta Box to Admin Edit Order Page"
|
11206 |
-
msgstr ""
|
11207 |
-
|
11208 |
#: includes/settings/wcj-settings-pdf-invoicing-emails.php:53
|
11209 |
msgid "Attach PDF to emails"
|
11210 |
msgstr ""
|
@@ -11378,66 +11758,21 @@ msgstr ""
|
|
11378 |
msgid "Make Font Shadowed"
|
11379 |
msgstr ""
|
11380 |
|
11381 |
-
#: includes/settings/wcj-settings-pdf-invoicing-
|
11382 |
-
msgid "Fonts download is disabled."
|
11383 |
-
msgstr ""
|
11384 |
-
|
11385 |
-
#: includes/settings/wcj-settings-pdf-invoicing-styling.php:88
|
11386 |
-
msgid "Fonts are up to date."
|
11387 |
-
msgstr ""
|
11388 |
-
|
11389 |
-
#: includes/settings/wcj-settings-pdf-invoicing-styling.php:89
|
11390 |
-
#, php-format
|
11391 |
-
msgid "Latest successful download or version check was on %s."
|
11392 |
-
msgstr ""
|
11393 |
-
|
11394 |
-
#: includes/settings/wcj-settings-pdf-invoicing-styling.php:93
|
11395 |
-
msgid ""
|
11396 |
-
"Fonts are NOT up to date. Please try downloading by pressing the button "
|
11397 |
-
"below."
|
11398 |
-
msgstr ""
|
11399 |
-
|
11400 |
-
#: includes/settings/wcj-settings-pdf-invoicing-styling.php:96
|
11401 |
-
#, php-format
|
11402 |
-
msgid "Latest successful downloaded version is %s."
|
11403 |
-
msgstr ""
|
11404 |
-
|
11405 |
-
#: includes/settings/wcj-settings-pdf-invoicing-styling.php:102
|
11406 |
#, php-format
|
11407 |
-
msgid "
|
11408 |
-
msgstr ""
|
11409 |
-
|
11410 |
-
#: includes/settings/wcj-settings-pdf-invoicing-styling.php:111
|
11411 |
-
msgid "Fonts Manager"
|
11412 |
-
msgstr ""
|
11413 |
-
|
11414 |
-
#: includes/settings/wcj-settings-pdf-invoicing-styling.php:120
|
11415 |
-
msgid "Re-download"
|
11416 |
-
msgstr ""
|
11417 |
-
|
11418 |
-
#: includes/settings/wcj-settings-pdf-invoicing-styling.php:125
|
11419 |
-
msgid "Disable Fonts Download"
|
11420 |
msgstr ""
|
11421 |
|
11422 |
-
#: includes/settings/wcj-settings-pdf-invoicing-templates.php:
|
11423 |
msgid "HTML Template"
|
11424 |
msgstr ""
|
11425 |
|
11426 |
-
#: includes/settings/wcj-settings-pdf-invoicing-templates.php:
|
11427 |
msgid "Save all templates"
|
11428 |
msgstr ""
|
11429 |
|
11430 |
-
#: includes/settings/wcj-settings-pdf-invoicing-templates.php:41
|
11431 |
-
msgid "Available Shortcodes"
|
11432 |
-
msgstr ""
|
11433 |
-
|
11434 |
-
#: includes/settings/wcj-settings-pdf-invoicing-templates.php:44
|
11435 |
-
#, php-format
|
11436 |
-
msgid "For the list of available shortcodes, please visit %s."
|
11437 |
-
msgstr ""
|
11438 |
-
|
11439 |
#: includes/settings/wcj-settings-pdf-invoicing.php:14
|
11440 |
-
msgid "
|
11441 |
msgstr ""
|
11442 |
|
11443 |
#: includes/settings/wcj-settings-pdf-invoicing.php:23
|
@@ -11470,72 +11805,6 @@ msgstr ""
|
|
11470 |
msgid "Do not create if order total equals zero"
|
11471 |
msgstr ""
|
11472 |
|
11473 |
-
#: includes/settings/wcj-settings-pdf-invoicing.php:73
|
11474 |
-
msgid "Hide Disabled Docs Settings"
|
11475 |
-
msgstr ""
|
11476 |
-
|
11477 |
-
#: includes/settings/wcj-settings-pdf-invoicing.php:80
|
11478 |
-
msgid "Replace Admin Order Search with Invoice Search"
|
11479 |
-
msgstr ""
|
11480 |
-
|
11481 |
-
#: includes/settings/wcj-settings-pdf-invoicing.php:87
|
11482 |
-
msgid "Default Images Directory"
|
11483 |
-
msgstr ""
|
11484 |
-
|
11485 |
-
#: includes/settings/wcj-settings-pdf-invoicing.php:88
|
11486 |
-
msgid "Default images directory in TCPDF library (K_PATH_IMAGES)."
|
11487 |
-
msgstr ""
|
11488 |
-
|
11489 |
-
#: includes/settings/wcj-settings-pdf-invoicing.php:89
|
11490 |
-
msgid ""
|
11491 |
-
"Try changing this if you have issues displaying images in page background or "
|
11492 |
-
"header."
|
11493 |
-
msgstr ""
|
11494 |
-
|
11495 |
-
#: includes/settings/wcj-settings-pdf-invoicing.php:94
|
11496 |
-
msgid "Empty"
|
11497 |
-
msgstr ""
|
11498 |
-
|
11499 |
-
#: includes/settings/wcj-settings-pdf-invoicing.php:95
|
11500 |
-
msgid "TCPDF Default"
|
11501 |
-
msgstr ""
|
11502 |
-
|
11503 |
-
#: includes/settings/wcj-settings-pdf-invoicing.php:96
|
11504 |
-
msgid "ABSPATH"
|
11505 |
-
msgstr ""
|
11506 |
-
|
11507 |
-
#: includes/settings/wcj-settings-pdf-invoicing.php:97
|
11508 |
-
msgid "DOCUMENT_ROOT"
|
11509 |
-
msgstr ""
|
11510 |
-
|
11511 |
-
#: includes/settings/wcj-settings-pdf-invoicing.php:101
|
11512 |
-
msgid "Temp Directory"
|
11513 |
-
msgstr ""
|
11514 |
-
|
11515 |
-
#: includes/settings/wcj-settings-pdf-invoicing.php:102
|
11516 |
-
msgid "Leave blank to use the default temp directory."
|
11517 |
-
msgstr ""
|
11518 |
-
|
11519 |
-
#: includes/settings/wcj-settings-pdf-invoicing.php:112
|
11520 |
-
msgid "Report Tool Options"
|
11521 |
-
msgstr ""
|
11522 |
-
|
11523 |
-
#: includes/settings/wcj-settings-pdf-invoicing.php:117
|
11524 |
-
msgid "Reports Filename"
|
11525 |
-
msgstr ""
|
11526 |
-
|
11527 |
-
#: includes/settings/wcj-settings-pdf-invoicing.php:131
|
11528 |
-
msgid "CSV UTF-8 BOM"
|
11529 |
-
msgstr ""
|
11530 |
-
|
11531 |
-
#: includes/settings/wcj-settings-pdf-invoicing.php:138
|
11532 |
-
msgid "Replace Periods with Commas in CSV Data"
|
11533 |
-
msgstr ""
|
11534 |
-
|
11535 |
-
#: includes/settings/wcj-settings-pdf-invoicing.php:139
|
11536 |
-
msgid "Replace"
|
11537 |
-
msgstr ""
|
11538 |
-
|
11539 |
#: includes/settings/wcj-settings-price-by-country.php:15
|
11540 |
msgid "Price by Country Options"
|
11541 |
msgstr ""
|
@@ -11636,84 +11905,96 @@ msgid "This will add product data fields in product edit."
|
|
11636 |
msgstr ""
|
11637 |
|
11638 |
#: includes/settings/wcj-settings-price-by-country.php:112
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
11639 |
msgid "Price Filter Widget and Sorting by Price Support"
|
11640 |
msgstr ""
|
11641 |
|
11642 |
-
#: includes/settings/wcj-settings-price-by-country.php:
|
11643 |
msgid "Recalculate price filter widget and sorting by price product prices"
|
11644 |
msgstr ""
|
11645 |
|
11646 |
-
#: includes/settings/wcj-settings-price-by-country.php:
|
11647 |
msgid "Add Countries Flags Images to Select Drop-Down Box"
|
11648 |
msgstr ""
|
11649 |
|
11650 |
-
#: includes/settings/wcj-settings-price-by-country.php:
|
11651 |
msgid ""
|
11652 |
"If you are using [wcj_country_select_drop_down_list] shortcode or \"Booster: "
|
11653 |
"Country Switcher\" widget, this will add country flags to these select boxes."
|
11654 |
msgstr ""
|
11655 |
|
11656 |
-
#: includes/settings/wcj-settings-price-by-country.php:
|
11657 |
#: includes/settings/wcj-settings-price-by-user-role.php:62
|
11658 |
msgid "Search Engine Bots"
|
11659 |
msgstr ""
|
11660 |
|
11661 |
-
#: includes/settings/wcj-settings-price-by-country.php:
|
11662 |
msgid "Disable Price by Country for Bots"
|
11663 |
msgstr ""
|
11664 |
|
11665 |
-
#: includes/settings/wcj-settings-price-by-country.php:
|
11666 |
msgid "Country Groups"
|
11667 |
msgstr ""
|
11668 |
|
11669 |
-
#: includes/settings/wcj-settings-price-by-country.php:
|
11670 |
msgid "Countries Selection"
|
11671 |
msgstr ""
|
11672 |
|
11673 |
-
#: includes/settings/wcj-settings-price-by-country.php:
|
11674 |
msgid "Choose how do you want to enter countries groups in admin."
|
11675 |
msgstr ""
|
11676 |
|
11677 |
-
#: includes/settings/wcj-settings-price-by-country.php:
|
11678 |
msgid "Comma separated list"
|
11679 |
msgstr ""
|
11680 |
|
11681 |
-
#: includes/settings/wcj-settings-price-by-country.php:
|
11682 |
msgid "Multiselect"
|
11683 |
msgstr ""
|
11684 |
|
11685 |
-
#: includes/settings/wcj-settings-price-by-country.php:
|
11686 |
msgid "Chosen select"
|
11687 |
msgstr ""
|
11688 |
|
11689 |
-
#: includes/settings/wcj-settings-price-by-country.php:
|
11690 |
msgid "Autogenerate Groups"
|
11691 |
msgstr ""
|
11692 |
|
11693 |
-
#: includes/settings/wcj-settings-price-by-country.php:
|
11694 |
msgid "Currencies supported in both PayPal and Yahoo Exchange Rates:"
|
11695 |
msgstr ""
|
11696 |
|
11697 |
-
#: includes/settings/wcj-settings-price-by-country.php:
|
11698 |
msgid "Currencies supported in Yahoo Exchange Rates:"
|
11699 |
msgstr ""
|
11700 |
|
11701 |
-
#: includes/settings/wcj-settings-price-by-country.php:
|
11702 |
msgid "All Countries and Currencies:"
|
11703 |
msgstr ""
|
11704 |
|
11705 |
-
#: includes/settings/wcj-settings-price-by-country.php:
|
11706 |
msgid "Groups Number"
|
11707 |
msgstr ""
|
11708 |
|
11709 |
-
#: includes/settings/wcj-settings-price-by-country.php:
|
11710 |
msgid ""
|
11711 |
"Countries. List of comma separated country codes.<br>For country codes and "
|
11712 |
"predifined sets visit <a href=\"http://booster.io/country-codes/\" target="
|
11713 |
"\"_blank\">http://booster.io/country-codes/</a>"
|
11714 |
msgstr ""
|
11715 |
|
11716 |
-
#: includes/settings/wcj-settings-price-by-country.php:
|
11717 |
msgid "Multiply Price by"
|
11718 |
msgstr ""
|
11719 |
|
@@ -11854,109 +12135,109 @@ msgid ""
|
|
11854 |
"comma separated list. Leave empty to disable."
|
11855 |
msgstr ""
|
11856 |
|
11857 |
-
#: includes/settings/wcj-settings-price-labels.php:
|
11858 |
-
msgid "Custom Price Labels -
|
11859 |
msgstr ""
|
11860 |
|
11861 |
#: includes/settings/wcj-settings-price-labels.php:24
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
11862 |
msgid "This section lets you set price labels for all products globally."
|
11863 |
msgstr ""
|
11864 |
|
11865 |
-
#: includes/settings/wcj-settings-price-labels.php:
|
11866 |
msgid "Add before the price"
|
11867 |
msgstr ""
|
11868 |
|
11869 |
-
#: includes/settings/wcj-settings-price-labels.php:
|
11870 |
msgid "Enter text to add before all products prices. Leave blank to disable."
|
11871 |
msgstr ""
|
11872 |
|
11873 |
-
#: includes/settings/wcj-settings-price-labels.php:
|
11874 |
msgid "Add after the price"
|
11875 |
msgstr ""
|
11876 |
|
11877 |
-
#: includes/settings/wcj-settings-price-labels.php:
|
11878 |
msgid "Enter text to add after all products prices. Leave blank to disable."
|
11879 |
msgstr ""
|
11880 |
|
11881 |
-
#: includes/settings/wcj-settings-price-labels.php:
|
11882 |
msgid "Add between regular and sale prices"
|
11883 |
msgstr ""
|
11884 |
|
11885 |
-
#: includes/settings/wcj-settings-price-labels.php:
|
11886 |
msgid ""
|
11887 |
"Enter text to add between regular and sale prices. Leave blank to disable."
|
11888 |
msgstr ""
|
11889 |
|
11890 |
-
#: includes/settings/wcj-settings-price-labels.php:
|
11891 |
msgid "Remove from price"
|
11892 |
msgstr ""
|
11893 |
|
11894 |
-
#: includes/settings/wcj-settings-price-labels.php:
|
11895 |
msgid "Enter text to remove from all products prices. Leave blank to disable."
|
11896 |
msgstr ""
|
11897 |
|
11898 |
-
#: includes/settings/wcj-settings-price-labels.php:
|
11899 |
msgid "Replace in price"
|
11900 |
msgstr ""
|
11901 |
|
11902 |
-
#: includes/settings/wcj-settings-price-labels.php:
|
11903 |
msgid "Enter text to replace in all products prices. Leave blank to disable."
|
11904 |
msgstr ""
|
11905 |
|
11906 |
-
#: includes/settings/wcj-settings-price-labels.php:
|
11907 |
msgid "Enter text to replace with. Leave blank to disable."
|
11908 |
msgstr ""
|
11909 |
|
11910 |
-
#: includes/settings/wcj-settings-price-labels.php:
|
11911 |
msgid "Enter text to display instead of the price. Leave blank to disable."
|
11912 |
msgstr ""
|
11913 |
|
11914 |
-
#: includes/settings/wcj-settings-price-labels.php:
|
11915 |
msgid ""
|
11916 |
"Apply global price labels only for selected products. Leave blank to disable "
|
11917 |
"the option."
|
11918 |
msgstr ""
|
11919 |
|
11920 |
-
#: includes/settings/wcj-settings-price-labels.php:
|
11921 |
msgid ""
|
11922 |
"Do not apply global price labels only for selected products. Leave blank to "
|
11923 |
"disable the option."
|
11924 |
msgstr ""
|
11925 |
|
11926 |
-
#: includes/settings/wcj-settings-price-labels.php:
|
11927 |
msgid ""
|
11928 |
"Apply global price labels only for selected product categories. Leave blank "
|
11929 |
"to disable the option."
|
11930 |
msgstr ""
|
11931 |
|
11932 |
-
#: includes/settings/wcj-settings-price-labels.php:
|
11933 |
msgid ""
|
11934 |
"Do not apply global price labels only for selected product categories. Leave "
|
11935 |
"blank to disable the option."
|
11936 |
msgstr ""
|
11937 |
|
11938 |
-
#: includes/settings/wcj-settings-price-labels.php:
|
11939 |
msgid "Product Types - Include"
|
11940 |
msgstr ""
|
11941 |
|
11942 |
-
#: includes/settings/wcj-settings-price-labels.php:
|
11943 |
msgid ""
|
11944 |
"Apply global price labels only for selected product types. Leave blank to "
|
11945 |
"disable the option."
|
11946 |
msgstr ""
|
11947 |
|
11948 |
-
#: includes/settings/wcj-settings-price-labels.php:
|
11949 |
msgid "Variable product's variation"
|
11950 |
msgstr ""
|
11951 |
|
11952 |
-
#: includes/settings/wcj-settings-price-labels.php:150
|
11953 |
-
msgid "Custom Price Labels - Per Product"
|
11954 |
-
msgstr ""
|
11955 |
-
|
11956 |
-
#: includes/settings/wcj-settings-price-labels.php:156
|
11957 |
-
msgid "This will add metaboxes to each product's admin edit page."
|
11958 |
-
msgstr ""
|
11959 |
-
|
11960 |
#: includes/settings/wcj-settings-product-add-to-cart.php:14
|
11961 |
#: includes/settings/meta-box/wcj-settings-meta-box-product-add-to-cart.php:23
|
11962 |
msgid "Add to Cart Local Redirect"
|
@@ -11976,11 +12257,6 @@ msgid ""
|
|
11976 |
"disabled."
|
11977 |
msgstr ""
|
11978 |
|
11979 |
-
#: includes/settings/wcj-settings-product-add-to-cart.php:24
|
11980 |
-
#: includes/settings/wcj-settings-product-by-date.php:20
|
11981 |
-
msgid "All Products"
|
11982 |
-
msgstr ""
|
11983 |
-
|
11984 |
#: includes/settings/wcj-settings-product-add-to-cart.php:31
|
11985 |
msgid "URL - All Products"
|
11986 |
msgstr ""
|
@@ -11992,14 +12268,6 @@ msgid ""
|
|
11992 |
"page)."
|
11993 |
msgstr ""
|
11994 |
|
11995 |
-
#: includes/settings/wcj-settings-product-add-to-cart.php:39
|
11996 |
-
#: includes/settings/wcj-settings-product-by-date.php:52
|
11997 |
-
#: includes/settings/wcj-settings-product-by-time.php:52
|
11998 |
-
#: includes/settings/wcj-settings-sale-flash.php:59
|
11999 |
-
#: includes/settings/wcj-settings-sale-flash.php:64
|
12000 |
-
msgid "Per Product"
|
12001 |
-
msgstr ""
|
12002 |
-
|
12003 |
#: includes/settings/wcj-settings-product-add-to-cart.php:40
|
12004 |
#: includes/settings/wcj-settings-product-tabs.php:213
|
12005 |
msgid "This will add meta boxes to each product's edit page."
|
@@ -12082,197 +12350,242 @@ msgid "Set All Products to \"Sold individually\""
|
|
12082 |
msgstr ""
|
12083 |
|
12084 |
#: includes/settings/wcj-settings-product-add-to-cart.php:172
|
12085 |
-
msgid "Add to Cart Button
|
12086 |
msgstr ""
|
12087 |
|
12088 |
#: includes/settings/wcj-settings-product-add-to-cart.php:177
|
12089 |
-
msgid "
|
12090 |
msgstr ""
|
12091 |
|
12092 |
-
#: includes/settings/wcj-settings-product-add-to-cart.php:
|
12093 |
-
msgid "
|
12094 |
msgstr ""
|
12095 |
|
12096 |
-
#: includes/settings/wcj-settings-product-add-to-cart.php:
|
12097 |
-
|
12098 |
-
msgid "Disable Buttons"
|
12099 |
msgstr ""
|
12100 |
|
12101 |
-
#: includes/settings/wcj-settings-product-add-to-cart.php:
|
12102 |
-
msgid "
|
12103 |
msgstr ""
|
12104 |
|
12105 |
-
#: includes/settings/wcj-settings-product-add-to-cart.php:
|
12106 |
-
msgid "
|
12107 |
msgstr ""
|
12108 |
|
12109 |
-
#: includes/settings/wcj-settings-product-add-to-cart.php:
|
12110 |
-
msgid "
|
12111 |
msgstr ""
|
12112 |
|
12113 |
-
#: includes/settings/wcj-settings-product-add-to-cart.php:
|
12114 |
-
msgid "Add to Cart
|
12115 |
msgstr ""
|
12116 |
|
12117 |
-
#: includes/settings/wcj-settings-product-add-to-cart.php:
|
12118 |
-
msgid "
|
12119 |
msgstr ""
|
12120 |
|
12121 |
-
#: includes/settings/wcj-settings-product-add-to-cart.php:
|
12122 |
-
msgid "
|
12123 |
msgstr ""
|
12124 |
|
12125 |
-
#: includes/settings/wcj-settings-product-add-to-cart.php:
|
12126 |
-
msgid "
|
12127 |
msgstr ""
|
12128 |
|
12129 |
-
#: includes/settings/wcj-settings-product-add-to-cart.php:
|
12130 |
-
msgid "
|
12131 |
msgstr ""
|
12132 |
|
12133 |
-
#: includes/settings/wcj-settings-product-add-to-cart.php:
|
12134 |
-
msgid "
|
12135 |
msgstr ""
|
12136 |
|
12137 |
-
#: includes/settings/wcj-settings-product-add-to-cart.php:
|
12138 |
-
|
|
|
12139 |
msgstr ""
|
12140 |
|
12141 |
-
#: includes/settings/wcj-settings-product-add-to-cart.php:
|
12142 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
12143 |
msgstr ""
|
12144 |
|
12145 |
-
#: includes/settings/wcj-settings-product-addons.php:
|
12146 |
msgid "Enable per Product Addons"
|
12147 |
msgstr ""
|
12148 |
|
12149 |
-
#: includes/settings/wcj-settings-product-addons.php:
|
12150 |
msgid ""
|
12151 |
"When enabled, this will add new \"Booster: Product Addons\" meta box to each "
|
12152 |
"product's edit page."
|
12153 |
msgstr ""
|
12154 |
|
12155 |
-
#: includes/settings/wcj-settings-product-addons.php:
|
12156 |
msgid "All Product Options"
|
12157 |
msgstr ""
|
12158 |
|
12159 |
-
#: includes/settings/wcj-settings-product-addons.php:
|
12160 |
msgid "Enable All Products Addons"
|
12161 |
msgstr ""
|
12162 |
|
12163 |
-
#: includes/settings/wcj-settings-product-addons.php:
|
12164 |
msgid "When enabled, this will add addons below to all products."
|
12165 |
msgstr ""
|
12166 |
|
12167 |
-
#: includes/settings/wcj-settings-product-addons.php:
|
12168 |
#: includes/settings/meta-box/wcj-settings-meta-box-product-addons.php:28
|
12169 |
msgid "Product Addons Total Number"
|
12170 |
msgstr ""
|
12171 |
|
12172 |
-
#: includes/settings/wcj-settings-product-addons.php:
|
12173 |
msgid "Save changes after you change this number."
|
12174 |
msgstr ""
|
12175 |
|
12176 |
-
#: includes/settings/wcj-settings-product-addons.php:
|
12177 |
#: includes/settings/meta-box/wcj-settings-meta-box-product-addons.php:35
|
12178 |
msgid "Product Addon"
|
12179 |
msgstr ""
|
12180 |
|
12181 |
-
#: includes/settings/wcj-settings-product-addons.php:
|
12182 |
#: includes/settings/meta-box/wcj-settings-meta-box-product-addons.php:51
|
12183 |
msgid "Radio Buttons"
|
12184 |
msgstr ""
|
12185 |
|
12186 |
-
#: includes/settings/wcj-settings-product-addons.php:
|
12187 |
#: includes/settings/meta-box/wcj-settings-meta-box-product-addons.php:52
|
12188 |
msgid "Select Box"
|
12189 |
msgstr ""
|
12190 |
|
12191 |
-
#: includes/settings/wcj-settings-product-addons.php:
|
12192 |
#: includes/settings/meta-box/wcj-settings-meta-box-product-addons.php:63
|
12193 |
msgid "Label(s)"
|
12194 |
msgstr ""
|
12195 |
|
12196 |
-
#: includes/settings/wcj-settings-product-addons.php:
|
12197 |
-
#: includes/settings/wcj-settings-product-addons.php:
|
12198 |
#: includes/settings/meta-box/wcj-settings-meta-box-product-addons.php:64
|
12199 |
#: includes/settings/meta-box/wcj-settings-meta-box-product-addons.php:71
|
12200 |
msgid "For radio and select enter one value per line."
|
12201 |
msgstr ""
|
12202 |
|
12203 |
-
#: includes/settings/wcj-settings-product-addons.php:
|
12204 |
#: includes/settings/meta-box/wcj-settings-meta-box-product-addons.php:70
|
12205 |
msgid "Price(s)"
|
12206 |
msgstr ""
|
12207 |
|
12208 |
-
#: includes/settings/wcj-settings-product-addons.php:
|
12209 |
#: includes/settings/meta-box/wcj-settings-meta-box-product-addons.php:77
|
12210 |
msgid "Tooltip(s)"
|
12211 |
msgstr ""
|
12212 |
|
12213 |
-
#: includes/settings/wcj-settings-product-addons.php:
|
12214 |
#: includes/settings/meta-box/wcj-settings-meta-box-product-addons.php:78
|
12215 |
msgid "For radio enter one value per line."
|
12216 |
msgstr ""
|
12217 |
|
12218 |
-
#: includes/settings/wcj-settings-product-addons.php:
|
12219 |
#: includes/settings/wcj-settings-purchase-data.php:83
|
12220 |
#: includes/settings/meta-box/wcj-settings-meta-box-product-addons.php:84
|
12221 |
msgid "Default Value"
|
12222 |
msgstr ""
|
12223 |
|
12224 |
-
#: includes/settings/wcj-settings-product-addons.php:
|
12225 |
#: includes/settings/meta-box/wcj-settings-meta-box-product-addons.php:85
|
12226 |
msgid ""
|
12227 |
"For checkbox use 'checked'; for radio and select enter default label. Leave "
|
12228 |
"blank for no default value."
|
12229 |
msgstr ""
|
12230 |
|
12231 |
-
#: includes/settings/wcj-settings-product-addons.php:
|
12232 |
#: includes/settings/meta-box/wcj-settings-meta-box-product-addons.php:92
|
12233 |
msgid "For \"Select Box\" type only."
|
12234 |
msgstr ""
|
12235 |
|
12236 |
-
#: includes/settings/wcj-settings-product-addons.php:
|
12237 |
#: includes/settings/wcj-settings-product-by-user.php:45
|
12238 |
msgid "Is Required"
|
12239 |
msgstr ""
|
12240 |
|
12241 |
-
#: includes/settings/wcj-settings-product-addons.php:
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
12242 |
msgid "Enable AJAX on Single Product Page"
|
12243 |
msgstr ""
|
12244 |
|
12245 |
-
#: includes/settings/wcj-settings-product-addons.php:
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
12246 |
msgid "Addon in Cart Format"
|
12247 |
msgstr ""
|
12248 |
|
12249 |
-
#: includes/settings/wcj-settings-product-addons.php:
|
12250 |
-
#: includes/settings/wcj-settings-product-addons.php:
|
12251 |
msgid "Each Addon"
|
12252 |
msgstr ""
|
12253 |
|
12254 |
-
#: includes/settings/wcj-settings-product-addons.php:
|
12255 |
-
#: includes/settings/wcj-settings-product-addons.php:
|
12256 |
msgid "You can use %addon_label% and %addon_price%."
|
12257 |
msgstr ""
|
12258 |
|
12259 |
-
#: includes/settings/wcj-settings-product-addons.php:
|
12260 |
msgid "Addon in Order Details Table Format"
|
12261 |
msgstr ""
|
12262 |
|
12263 |
-
#: includes/settings/wcj-settings-product-addons.php:
|
12264 |
msgid "Admin Order Page"
|
12265 |
msgstr ""
|
12266 |
|
12267 |
-
#: includes/settings/wcj-settings-product-addons.php:
|
12268 |
msgid "Hide all addons"
|
12269 |
msgstr ""
|
12270 |
|
12271 |
-
#: includes/settings/wcj-settings-product-addons.php:
|
12272 |
msgid "Position Priority on Frontend"
|
12273 |
msgstr ""
|
12274 |
|
12275 |
-
#: includes/settings/wcj-settings-product-addons.php:
|
12276 |
#: includes/settings/wcj-settings-shipping-by-condition.php:84
|
12277 |
#: includes/settings/wcj-settings-shipping-options.php:41
|
12278 |
msgid "Set to zero to use the default priority."
|
@@ -12658,7 +12971,7 @@ msgstr ""
|
|
12658 |
#: includes/settings/wcj-settings-product-images.php:49
|
12659 |
#: includes/settings/wcj-settings-product-images.php:58
|
12660 |
#: includes/settings/wcj-settings-product-images.php:67
|
12661 |
-
#: includes/settings/wcj-settings-products-xml.php:
|
12662 |
#: includes/settings/meta-box/wcj-settings-meta-box-product-images.php:18
|
12663 |
#: includes/settings/meta-box/wcj-settings-meta-box-product-images.php:25
|
12664 |
msgid "You can use shortcodes here."
|
@@ -12712,12 +13025,12 @@ msgid "Product Tags to Exclude"
|
|
12712 |
msgstr ""
|
12713 |
|
12714 |
#: includes/settings/wcj-settings-product-custom-info.php:160
|
12715 |
-
#: includes/settings/wcj-settings-products-xml.php:
|
12716 |
msgid "Products to Include"
|
12717 |
msgstr ""
|
12718 |
|
12719 |
#: includes/settings/wcj-settings-product-custom-info.php:171
|
12720 |
-
#: includes/settings/wcj-settings-products-xml.php:
|
12721 |
msgid "Products to Exclude"
|
12722 |
msgstr ""
|
12723 |
|
@@ -12897,7 +13210,7 @@ msgstr ""
|
|
12897 |
#: includes/settings/wcj-settings-product-input-fields.php:144
|
12898 |
#: includes/settings/wcj-settings-product-input-fields.php:156
|
12899 |
#: includes/settings/wcj-settings-product-input-fields.php:168
|
12900 |
-
#: includes/settings/wcj-settings-wholesale-price.php:
|
12901 |
msgid "Leave blank to include all products."
|
12902 |
msgstr ""
|
12903 |
|
@@ -13445,125 +13758,132 @@ msgid ""
|
|
13445 |
"WP_Query call. Leave default value if not sure."
|
13446 |
msgstr ""
|
13447 |
|
13448 |
-
#: includes/settings/wcj-settings-products-xml.php:
|
|
|
|
|
|
|
|
|
|
|
|
|
13449 |
msgid "Create Now"
|
13450 |
msgstr ""
|
13451 |
|
13452 |
-
#: includes/settings/wcj-settings-products-xml.php:
|
13453 |
#, php-format
|
13454 |
msgid "Recent file was created on %s"
|
13455 |
msgstr ""
|
13456 |
|
13457 |
-
#: includes/settings/wcj-settings-products-xml.php:
|
13458 |
msgid "XML File"
|
13459 |
msgstr ""
|
13460 |
|
13461 |
-
#: includes/settings/wcj-settings-products-xml.php:
|
13462 |
msgid "XML Header"
|
13463 |
msgstr ""
|
13464 |
|
13465 |
-
#: includes/settings/wcj-settings-products-xml.php:
|
13466 |
-
|
|
|
13467 |
msgstr ""
|
13468 |
|
13469 |
-
#: includes/settings/wcj-settings-products-xml.php:
|
13470 |
msgid "XML Item"
|
13471 |
msgstr ""
|
13472 |
|
13473 |
-
#: includes/settings/wcj-settings-products-xml.php:
|
13474 |
#, php-format
|
13475 |
msgid ""
|
13476 |
"You can use shortcodes here. Please take a look at <a target=\"_blank\" href="
|
13477 |
"\"%s\">Booster's products shortcodes</a>."
|
13478 |
msgstr ""
|
13479 |
|
13480 |
-
#: includes/settings/wcj-settings-products-xml.php:
|
13481 |
msgid "XML Footer"
|
13482 |
msgstr ""
|
13483 |
|
13484 |
-
#: includes/settings/wcj-settings-products-xml.php:
|
13485 |
msgid "XML File Path and Name"
|
13486 |
msgstr ""
|
13487 |
|
13488 |
-
#: includes/settings/wcj-settings-products-xml.php:
|
13489 |
msgid "Path on server:"
|
13490 |
msgstr ""
|
13491 |
|
13492 |
-
#: includes/settings/wcj-settings-products-xml.php:
|
13493 |
msgid "Update Period"
|
13494 |
msgstr ""
|
13495 |
|
13496 |
-
#: includes/settings/wcj-settings-products-xml.php:
|
13497 |
msgid ""
|
13498 |
"Possible update periods are: every minute, hourly, twice daily, daily and "
|
13499 |
"weekly."
|
13500 |
msgstr ""
|
13501 |
|
13502 |
-
#: includes/settings/wcj-settings-products-xml.php:
|
13503 |
msgid ""
|
13504 |
"To include selected products only, enter products here. Leave blank to "
|
13505 |
"include all products."
|
13506 |
msgstr ""
|
13507 |
|
13508 |
-
#: includes/settings/wcj-settings-products-xml.php:
|
13509 |
msgid ""
|
13510 |
"To exclude selected products, enter products here. Leave blank to include "
|
13511 |
"all products."
|
13512 |
msgstr ""
|
13513 |
|
13514 |
-
#: includes/settings/wcj-settings-products-xml.php:
|
13515 |
msgid "Categories to Include"
|
13516 |
msgstr ""
|
13517 |
|
13518 |
-
#: includes/settings/wcj-settings-products-xml.php:
|
13519 |
msgid ""
|
13520 |
"To include products from selected categories only, enter categories here. "
|
13521 |
"Leave blank to include all products."
|
13522 |
msgstr ""
|
13523 |
|
13524 |
-
#: includes/settings/wcj-settings-products-xml.php:
|
13525 |
msgid "Categories to Exclude"
|
13526 |
msgstr ""
|
13527 |
|
13528 |
-
#: includes/settings/wcj-settings-products-xml.php:
|
13529 |
msgid ""
|
13530 |
"To exclude products from selected categories, enter categories here. Leave "
|
13531 |
"blank to include all products."
|
13532 |
msgstr ""
|
13533 |
|
13534 |
-
#: includes/settings/wcj-settings-products-xml.php:
|
13535 |
msgid "Tags to Include"
|
13536 |
msgstr ""
|
13537 |
|
13538 |
-
#: includes/settings/wcj-settings-products-xml.php:
|
13539 |
msgid ""
|
13540 |
"To include products from selected tags only, enter tags here. Leave blank to "
|
13541 |
"include all products."
|
13542 |
msgstr ""
|
13543 |
|
13544 |
-
#: includes/settings/wcj-settings-products-xml.php:
|
13545 |
msgid "Tags to Exclude"
|
13546 |
msgstr ""
|
13547 |
|
13548 |
-
#: includes/settings/wcj-settings-products-xml.php:
|
13549 |
msgid ""
|
13550 |
"To exclude products from selected tags, enter tags here. Leave blank to "
|
13551 |
"include all products."
|
13552 |
msgstr ""
|
13553 |
|
13554 |
-
#: includes/settings/wcj-settings-products-xml.php:
|
13555 |
msgid "Products Scope"
|
13556 |
msgstr ""
|
13557 |
|
13558 |
-
#: includes/settings/wcj-settings-products-xml.php:
|
13559 |
msgid "Only products that are on sale"
|
13560 |
msgstr ""
|
13561 |
|
13562 |
-
#: includes/settings/wcj-settings-products-xml.php:
|
13563 |
msgid "Only products that are featured"
|
13564 |
msgstr ""
|
13565 |
|
13566 |
-
#: includes/settings/wcj-settings-products-xml.php:
|
13567 |
msgid "Only products that are not featured"
|
13568 |
msgstr ""
|
13569 |
|
@@ -13897,10 +14217,6 @@ msgstr ""
|
|
13897 |
msgid "Hide on Single Page Only"
|
13898 |
msgstr ""
|
13899 |
|
13900 |
-
#: includes/settings/wcj-settings-sale-flash.php:81
|
13901 |
-
msgid "Per Category"
|
13902 |
-
msgstr ""
|
13903 |
-
|
13904 |
#: includes/settings/wcj-settings-sale-flash.php:81
|
13905 |
msgid "Per Tag"
|
13906 |
msgstr ""
|
@@ -14633,70 +14949,80 @@ msgid "Apply wholesale discount only if no other cart discounts were applied"
|
|
14633 |
msgstr ""
|
14634 |
|
14635 |
#: includes/settings/wcj-settings-wholesale-price.php:42
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
14636 |
msgid "Show discount info on cart page"
|
14637 |
msgstr ""
|
14638 |
|
14639 |
-
#: includes/settings/wcj-settings-wholesale-price.php:
|
14640 |
msgid "If show discount info on cart page is enabled, set format here"
|
14641 |
msgstr ""
|
14642 |
|
14643 |
-
#: includes/settings/wcj-settings-wholesale-price.php:
|
14644 |
#: includes/settings/meta-box/wcj-settings-meta-box-wholesale-price.php:41
|
14645 |
msgid "Discount Type"
|
14646 |
msgstr ""
|
14647 |
|
14648 |
-
#: includes/settings/wcj-settings-wholesale-price.php:
|
14649 |
msgid "Products to include"
|
14650 |
msgstr ""
|
14651 |
|
14652 |
-
#: includes/settings/wcj-settings-wholesale-price.php:
|
14653 |
msgid "Products to exclude"
|
14654 |
msgstr ""
|
14655 |
|
14656 |
-
#: includes/settings/wcj-settings-wholesale-price.php:
|
14657 |
msgid "Wholesale Levels Options"
|
14658 |
msgstr ""
|
14659 |
|
14660 |
-
#: includes/settings/wcj-settings-wholesale-price.php:
|
14661 |
-
#: includes/settings/wcj-settings-wholesale-price.php:
|
14662 |
#: includes/settings/meta-box/wcj-settings-meta-box-wholesale-price.php:48
|
14663 |
#: includes/settings/meta-box/wcj-settings-meta-box-wholesale-price.php:84
|
14664 |
msgid "Number of levels"
|
14665 |
msgstr ""
|
14666 |
|
14667 |
-
#: includes/settings/wcj-settings-wholesale-price.php:
|
14668 |
-
#: includes/settings/wcj-settings-wholesale-price.php:
|
14669 |
#: includes/settings/meta-box/wcj-settings-meta-box-wholesale-price.php:65
|
14670 |
#: includes/settings/meta-box/wcj-settings-meta-box-wholesale-price.php:101
|
14671 |
msgid "Min quantity"
|
14672 |
msgstr ""
|
14673 |
|
14674 |
-
#: includes/settings/wcj-settings-wholesale-price.php:
|
14675 |
-
#: includes/settings/wcj-settings-wholesale-price.php:
|
14676 |
msgid "Minimum quantity to apply discount"
|
14677 |
msgstr ""
|
14678 |
|
14679 |
-
#: includes/settings/wcj-settings-wholesale-price.php:
|
14680 |
-
#: includes/settings/wcj-settings-wholesale-price.php:
|
14681 |
-
#: includes/settings/wcj-settings-wholesale-price.php:
|
14682 |
-
#: includes/settings/wcj-settings-wholesale-price.php:
|
14683 |
#: includes/settings/meta-box/wcj-settings-meta-box-wholesale-price.php:72
|
14684 |
#: includes/settings/meta-box/wcj-settings-meta-box-wholesale-price.php:108
|
14685 |
msgid "Discount"
|
14686 |
msgstr ""
|
14687 |
|
14688 |
-
#: includes/settings/wcj-settings-wholesale-price.php:
|
14689 |
msgid "Additional User Roles Options"
|
14690 |
msgstr ""
|
14691 |
|
14692 |
-
#: includes/settings/wcj-settings-wholesale-price.php:
|
14693 |
msgid ""
|
14694 |
"If you want to set different wholesale pricing options for different user "
|
14695 |
"roles, fill this section. Please note that you can also use Booster's "
|
14696 |
"\"Price by User Role\" module without filling this section."
|
14697 |
msgstr ""
|
14698 |
|
14699 |
-
#: includes/settings/wcj-settings-wholesale-price.php:
|
14700 |
msgid "User Roles Settings"
|
14701 |
msgstr ""
|
14702 |
|
@@ -14705,6 +15031,33 @@ msgstr ""
|
|
14705 |
msgid "Regenerate wpml-config.xml file"
|
14706 |
msgstr ""
|
14707 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
14708 |
#: includes/settings/meta-box/wcj-settings-meta-box-crowdfunding.php:17
|
14709 |
msgid "Goal"
|
14710 |
msgstr ""
|
@@ -14758,23 +15111,15 @@ msgstr ""
|
|
14758 |
msgid "Add to Cart Local Redirect URL"
|
14759 |
msgstr ""
|
14760 |
|
14761 |
-
#: includes/settings/meta-box/wcj-settings-meta-box-product-add-to-cart.php:
|
14762 |
-
msgid "Disable Add to Cart Button (Single Product Page)"
|
14763 |
-
msgstr ""
|
14764 |
-
|
14765 |
-
#: includes/settings/meta-box/wcj-settings-meta-box-product-add-to-cart.php:69
|
14766 |
-
msgid "Disable Add to Cart Button (Category/Archives)"
|
14767 |
-
msgstr ""
|
14768 |
-
|
14769 |
-
#: includes/settings/meta-box/wcj-settings-meta-box-product-add-to-cart.php:79
|
14770 |
msgid "Custom Add to Cart Button URL (Category/Archives)"
|
14771 |
msgstr ""
|
14772 |
|
14773 |
-
#: includes/settings/meta-box/wcj-settings-meta-box-product-add-to-cart.php:
|
14774 |
msgid "As shop default (no changes)"
|
14775 |
msgstr ""
|
14776 |
|
14777 |
-
#: includes/settings/meta-box/wcj-settings-meta-box-product-add-to-cart.php:
|
14778 |
msgid "Disable Add to Cart Button AJAX"
|
14779 |
msgstr ""
|
14780 |
|
@@ -14812,10 +15157,6 @@ msgstr ""
|
|
14812 |
msgid "Visible for User Roles"
|
14813 |
msgstr ""
|
14814 |
|
14815 |
-
#: includes/settings/meta-box/wcj-settings-meta-box-product-by-user-role.php:20
|
14816 |
-
msgid "Hold Control (Ctrl) key to select multiple roles."
|
14817 |
-
msgstr ""
|
14818 |
-
|
14819 |
#: includes/settings/meta-box/wcj-settings-meta-box-product-custom-visibility.php:15
|
14820 |
msgid "Visible"
|
14821 |
msgstr ""
|
@@ -14981,11 +15322,11 @@ msgstr ""
|
|
14981 |
msgid "Enable Custom Shipping"
|
14982 |
msgstr ""
|
14983 |
|
14984 |
-
#: includes/shortcodes/class-wcj-shortcodes-general.php:
|
14985 |
msgid "Tax toggle (incl.)"
|
14986 |
msgstr ""
|
14987 |
|
14988 |
-
#: includes/shortcodes/class-wcj-shortcodes-general.php:
|
14989 |
msgid "Tax toggle (excl.)"
|
14990 |
msgstr ""
|
14991 |
|
@@ -14993,15 +15334,15 @@ msgstr ""
|
|
14993 |
msgid "Attribute \"name\" is required!"
|
14994 |
msgstr ""
|
14995 |
|
14996 |
-
#: includes/shortcodes/class-wcj-shortcodes-order-items.php:
|
14997 |
msgid "Standard"
|
14998 |
msgstr ""
|
14999 |
|
15000 |
-
#: includes/shortcodes/class-wcj-shortcodes-orders.php:
|
15001 |
msgid "Dollars"
|
15002 |
msgstr ""
|
15003 |
|
15004 |
-
#: includes/shortcodes/class-wcj-shortcodes-orders.php:
|
15005 |
msgid "Cents"
|
15006 |
msgstr ""
|
15007 |
|
@@ -15043,12 +15384,12 @@ msgstr ""
|
|
15043 |
msgid "Edit Product"
|
15044 |
msgstr ""
|
15045 |
|
15046 |
-
#: includes/shortcodes/class-wcj-shortcodes-products.php:
|
15047 |
#, php-format
|
15048 |
msgid "%s ago"
|
15049 |
msgstr ""
|
15050 |
|
15051 |
-
#: includes/shortcodes/class-wcj-shortcodes-products.php:
|
15052 |
msgid "No sales yet."
|
15053 |
msgstr ""
|
15054 |
|
1 |
+
#: includes/class-wcj-add-to-cart-button-visibility.php:25
|
2 |
+
msgid "Add to Cart Button Visibility"
|
3 |
+
msgstr ""
|
4 |
+
|
5 |
+
#: includes/class-wcj-add-to-cart-button-visibility.php:26
|
6 |
+
msgid ""
|
7 |
+
"Enable/disable WooCommerce Add to Cart button globally or on per product "
|
8 |
+
"basis."
|
9 |
+
msgstr ""
|
10 |
+
|
11 |
+
#: includes/class-wcj-add-to-cart-button-visibility.php:28
|
12 |
+
#, php-format
|
13 |
+
msgid ""
|
14 |
+
"If you need to enable/disable Add to Cart button for some <strong>user "
|
15 |
+
"roles</strong> only, we suggest using this module in conjunction with "
|
16 |
+
"Booster's %s module."
|
17 |
+
msgstr ""
|
18 |
+
|
19 |
+
#: includes/class-wcj-add-to-cart-button-visibility.php:30
|
20 |
+
#: includes/class-wcj-modules-by-user-roles.php:25
|
21 |
+
msgid "Modules By User Roles"
|
22 |
+
msgstr ""
|
23 |
+
|
24 |
#: includes/class-wcj-add-to-cart.php:23
|
25 |
+
msgid "Add to Cart Button Labels"
|
26 |
msgstr ""
|
27 |
|
28 |
#: includes/class-wcj-add-to-cart.php:24
|
72 |
#: includes/class-wcj-admin-bar.php:166 includes/class-wcj-admin-bar.php:461
|
73 |
#: includes/class-wcj-admin-bar.php:561
|
74 |
#: includes/admin/class-wc-settings-jetpack.php:211
|
75 |
+
#: includes/admin/class-wc-settings-jetpack.php:397
|
76 |
+
#: includes/core/class-wcj-admin.php:121
|
77 |
msgid "Settings"
|
78 |
msgstr ""
|
79 |
|
80 |
#: includes/class-wcj-admin-bar.php:170
|
81 |
+
#: includes/admin/class-wc-settings-jetpack.php:399
|
82 |
+
#: includes/classes/class-wcj-module.php:644
|
83 |
msgid "Documentation"
|
84 |
msgstr ""
|
85 |
|
98 |
|
99 |
#: includes/class-wcj-admin-bar.php:237 includes/class-wcj-admin-bar.php:274
|
100 |
#: includes/class-wcj-admin-bar.php:585
|
101 |
+
#: includes/classes/class-wcj-module.php:477
|
102 |
#: includes/settings/wcj-settings-wpml.php:15
|
103 |
msgid "Tools"
|
104 |
msgstr ""
|
109 |
|
110 |
#: includes/class-wcj-admin-bar.php:262
|
111 |
#: includes/class-wcj-checkout-files-upload.php:145
|
112 |
+
#: includes/class-wcj-eu-vat-number.php:128 includes/class-wcj-orders.php:87
|
113 |
+
#: includes/class-wcj-payment-gateways.php:91
|
114 |
#: includes/class-wcj-track-users.php:117
|
115 |
#: includes/class-wcj-track-users.php:213
|
116 |
#: includes/admin/class-wc-settings-jetpack.php:24
|
117 |
#: includes/admin/class-wc-settings-jetpack.php:213
|
118 |
#: includes/classes/class-wcj-module.php:295
|
119 |
+
#: includes/classes/class-wcj-module.php:504
|
120 |
msgid "Booster"
|
121 |
msgstr ""
|
122 |
|
226 |
msgstr ""
|
227 |
|
228 |
#: includes/class-wcj-admin-bar.php:405
|
229 |
+
#: includes/class-wcj-eu-vat-number.php:192
|
230 |
msgid "Taxes"
|
231 |
msgstr ""
|
232 |
|
319 |
#: includes/settings/wcj-settings-checkout-custom-fields.php:170
|
320 |
#: includes/settings/wcj-settings-checkout-custom-info.php:56
|
321 |
#: includes/settings/wcj-settings-empty-cart.php:59
|
322 |
+
#: includes/settings/wcj-settings-left-to-free-shipping.php:121
|
323 |
#: includes/settings/wcj-settings-price-by-user-role.php:46
|
324 |
msgid "Shipping"
|
325 |
msgstr ""
|
464 |
msgid "Current PHP time limit: %s seconds."
|
465 |
msgstr ""
|
466 |
|
467 |
+
#: includes/class-wcj-admin-tools.php:102
|
468 |
#: includes/settings/wcj-settings-export.php:157
|
469 |
#: includes/settings/wcj-settings-export.php:236
|
470 |
msgid "Product Meta"
|
471 |
msgstr ""
|
472 |
|
473 |
+
#: includes/class-wcj-admin-tools.php:119
|
474 |
#: includes/settings/wcj-settings-export.php:86
|
475 |
#: includes/settings/wcj-settings-export.php:154
|
476 |
msgid "Order Meta"
|
477 |
msgstr ""
|
478 |
|
479 |
+
#: includes/class-wcj-admin-tools.php:153
|
480 |
msgid "Order Items Meta"
|
481 |
msgstr ""
|
482 |
|
483 |
+
#: includes/class-wcj-admin-tools.php:155
|
484 |
msgid "Item Key"
|
485 |
msgstr ""
|
486 |
|
487 |
+
#: includes/class-wcj-admin-tools.php:155
|
488 |
msgid "Item Meta Key"
|
489 |
msgstr ""
|
490 |
|
491 |
+
#: includes/class-wcj-admin-tools.php:155
|
492 |
msgid "Item Meta Value"
|
493 |
msgstr ""
|
494 |
|
495 |
+
#: includes/class-wcj-admin-tools.php:181
|
496 |
msgid "Delete Log"
|
497 |
msgstr ""
|
498 |
|
499 |
+
#: includes/class-wcj-admin-tools.php:184
|
500 |
#, php-format
|
501 |
msgid "Now: %s"
|
502 |
msgstr ""
|
503 |
|
504 |
+
#: includes/class-wcj-admin-tools.php:188
|
505 |
+
msgid "Log is empty."
|
506 |
+
msgstr ""
|
507 |
+
|
508 |
+
#: includes/class-wcj-admin-tools.php:218
|
509 |
msgid "NOT DEFINED"
|
510 |
msgstr ""
|
511 |
|
587 |
"selected fields on checkout for logged users and more."
|
588 |
msgstr ""
|
589 |
|
590 |
+
#: includes/class-wcj-checkout-customization.php:83
|
591 |
+
#: includes/settings/wcj-settings-checkout-customization.php:99
|
592 |
+
msgid "Returning customer?"
|
593 |
+
msgstr ""
|
594 |
+
|
595 |
+
#: includes/class-wcj-checkout-customization.php:98
|
596 |
#: includes/settings/wcj-settings-checkout-customization.php:86
|
597 |
msgid "Thank you. Your order has been received."
|
598 |
msgstr ""
|
599 |
|
600 |
+
#: includes/class-wcj-checkout-customization.php:117
|
601 |
#: includes/settings/wcj-settings-checkout-customization.php:72
|
602 |
msgid "This field can not be changed"
|
603 |
msgstr ""
|
762 |
msgid "Display prices for WooCommerce products in different currencies."
|
763 |
msgstr ""
|
764 |
|
765 |
+
#: includes/class-wcj-currency-per-product.php:172
|
766 |
#: includes/settings/wcj-settings-currency-per-product.php:43
|
767 |
msgid ""
|
768 |
"Only one product can be added to the cart. Clear the cart or finish the "
|
769 |
"order, before adding another product to the cart."
|
770 |
msgstr ""
|
771 |
|
772 |
+
#: includes/class-wcj-currency-per-product.php:187
|
773 |
#: includes/settings/wcj-settings-currency-per-product.php:50
|
774 |
msgid ""
|
775 |
"Only products with same currency can be added to the cart. Clear the cart or "
|
776 |
"finish the order, before adding products with another currency to the cart."
|
777 |
msgstr ""
|
778 |
|
779 |
+
#: includes/class-wcj-currency-per-product.php:233
|
780 |
#, php-format
|
781 |
msgctxt "Price range: from-to"
|
782 |
msgid "%1$s–%2$s"
|
944 |
msgstr ""
|
945 |
|
946 |
#: includes/class-wcj-empty-cart-button.php:25
|
947 |
+
#: includes/shortcodes/class-wcj-shortcodes-general.php:331
|
948 |
msgid "Empty Cart Button"
|
949 |
msgstr ""
|
950 |
|
955 |
msgstr ""
|
956 |
|
957 |
#: includes/class-wcj-eu-vat-number.php:24
|
958 |
+
#: includes/class-wcj-eu-vat-number.php:271
|
959 |
#: includes/settings/wcj-settings-eu-vat-number.php:22
|
960 |
#: includes/settings/wcj-settings-eu-vat-number.php:29
|
961 |
msgid "EU VAT Number"
|
976 |
msgid "Add all EU countries VAT standard rates to WooCommerce."
|
977 |
msgstr ""
|
978 |
|
979 |
+
#: includes/class-wcj-eu-vat-number.php:180
|
980 |
msgid "Customer IP"
|
981 |
msgstr ""
|
982 |
|
983 |
+
#: includes/class-wcj-eu-vat-number.php:184 includes/class-wcj-orders.php:87
|
984 |
+
#: includes/settings/wcj-settings-orders.php:65
|
985 |
msgid "Country by IP"
|
986 |
msgstr ""
|
987 |
|
988 |
+
#: includes/class-wcj-eu-vat-number.php:188
|
989 |
msgid "Customer EU VAT Number"
|
990 |
msgstr ""
|
991 |
|
992 |
+
#: includes/class-wcj-eu-vat-number.php:203
|
993 |
+
msgid "Validate VAT and remove taxes"
|
994 |
+
msgstr ""
|
995 |
+
|
996 |
+
#: includes/class-wcj-eu-vat-number.php:341
|
997 |
#: includes/settings/wcj-settings-eu-vat-number.php:165
|
998 |
msgid "Validating VAT. Please wait..."
|
999 |
msgstr ""
|
1000 |
|
1001 |
+
#: includes/class-wcj-eu-vat-number.php:342
|
1002 |
#: includes/settings/wcj-settings-eu-vat-number.php:172
|
1003 |
msgid "VAT is valid."
|
1004 |
msgstr ""
|
1005 |
|
1006 |
+
#: includes/class-wcj-eu-vat-number.php:343
|
1007 |
#: includes/settings/wcj-settings-eu-vat-number.php:179
|
1008 |
msgid "VAT is not valid."
|
1009 |
msgstr ""
|
1010 |
|
1011 |
+
#: includes/class-wcj-eu-vat-number.php:344
|
1012 |
#: includes/settings/wcj-settings-eu-vat-number.php:187
|
1013 |
msgid "Validation failed. Please try again."
|
1014 |
msgstr ""
|
1015 |
|
1016 |
+
#: includes/class-wcj-eu-vat-number.php:448
|
1017 |
#: includes/settings/wcj-settings-eu-vat-number.php:83
|
1018 |
msgid "<strong>EU VAT Number</strong> is not valid."
|
1019 |
msgstr ""
|
1020 |
|
1021 |
#: includes/class-wcj-export-import.php:26
|
1022 |
+
#: includes/admin/class-wc-settings-jetpack.php:286
|
1023 |
msgid "Export"
|
1024 |
msgstr ""
|
1025 |
|
1177 |
#: includes/class-wcj-general.php:197 includes/class-wcj-general.php:210
|
1178 |
#: includes/class-wcj-sku.php:333
|
1179 |
#: includes/reports/wcj-class-reports-sales.php:192
|
1180 |
+
#: includes/settings/wcj-settings-order-numbers.php:132
|
1181 |
#: includes/settings/wcj-settings-product-by-user.php:161
|
1182 |
#: includes/settings/wcj-settings-related-products.php:30
|
1183 |
msgid "ID"
|
1193 |
|
1194 |
#: includes/class-wcj-general.php:197
|
1195 |
#: includes/class-wcj-product-by-user.php:197
|
1196 |
+
#: includes/settings/wcj-settings-pdf-invoicing-advanced.php:92
|
1197 |
#: includes/tools/class-wcj-order-statuses-tool.php:142
|
1198 |
#: includes/tools/class-wcj-order-statuses-tool.php:214
|
1199 |
msgid "Actions"
|
1200 |
msgstr ""
|
1201 |
|
1202 |
#: includes/class-wcj-general.php:203
|
1203 |
+
#: includes/class-wcj-payment-gateways.php:117
|
1204 |
#: includes/class-wcj-product-bulk-meta-editor.php:367
|
1205 |
#: includes/class-wcj-product-by-user.php:206
|
1206 |
#: includes/pdf-invoices/submodules/class-wcj-pdf-invoicing-display.php:138
|
1207 |
+
#: includes/pdf-invoices/submodules/class-wcj-pdf-invoicing-display.php:306
|
1208 |
#: includes/shortcodes/class-wcj-shortcodes-products-add-form.php:367
|
1209 |
#: includes/tools/class-wcj-order-statuses-tool.php:157
|
1210 |
msgid "Delete"
|
1219 |
msgstr ""
|
1220 |
|
1221 |
#: includes/class-wcj-general.php:215
|
1222 |
+
#: includes/settings/wcj-settings-admin-orders-list.php:134
|
1223 |
#: includes/settings/wcj-settings-checkout-custom-fields.php:22
|
1224 |
#: includes/settings/wcj-settings-checkout-custom-fields.php:29
|
1225 |
#: includes/settings/wcj-settings-checkout-custom-fields.php:55
|
1232 |
#: includes/settings/wcj-settings-order-custom-statuses.php:37
|
1233 |
#: includes/settings/wcj-settings-order-custom-statuses.php:70
|
1234 |
#: includes/settings/wcj-settings-order-min-amount.php:53
|
1235 |
+
#: includes/settings/wcj-settings-orders.php:71
|
1236 |
+
#: includes/settings/wcj-settings-orders.php:98
|
1237 |
+
#: includes/settings/wcj-settings-pdf-invoicing-advanced.php:117
|
1238 |
+
#: includes/settings/wcj-settings-pdf-invoicing-advanced.php:163
|
1239 |
#: includes/settings/wcj-settings-product-by-country.php:110
|
1240 |
#: includes/settings/wcj-settings-product-by-user.php:114
|
1241 |
+
#: includes/settings/wcj-settings-product-open-pricing.php:108
|
1242 |
#: includes/settings/wcj-settings-product-tabs.php:227
|
1243 |
#: includes/settings/wcj-settings-purchase-data.php:134
|
1244 |
#: includes/settings/wcj-settings-purchase-data.php:143
|
1270 |
msgstr ""
|
1271 |
|
1272 |
#: includes/class-wcj-global-discount.php:27
|
1273 |
+
#: includes/admin/class-wc-settings-jetpack.php:450
|
1274 |
msgid "Global Discount"
|
1275 |
msgstr ""
|
1276 |
|
1289 |
#: includes/class-wcj-left-to-free-shipping.php:62
|
1290 |
#: includes/class-wcj-left-to-free-shipping.php:72
|
1291 |
#: includes/class-wcj-left-to-free-shipping.php:82
|
1292 |
+
#: includes/functions/wcj-functions-general.php:485
|
1293 |
#: includes/settings/wcj-settings-left-to-free-shipping.php:37
|
1294 |
+
#: includes/settings/wcj-settings-left-to-free-shipping.php:70
|
1295 |
+
#: includes/settings/wcj-settings-left-to-free-shipping.php:107
|
1296 |
#: includes/widgets/class-wcj-widget-left-to-free-shipping.php:61
|
1297 |
#, php-format
|
1298 |
msgid "%left_to_free% left to free shipping"
|
1306 |
msgid "Add custom info to WooCommerce mini cart widget."
|
1307 |
msgstr ""
|
1308 |
|
1309 |
+
#: includes/class-wcj-modules-by-user-roles.php:26
|
1310 |
+
msgid "Enable/disable Booster for WooCommerce modules by user roles."
|
1311 |
+
msgstr ""
|
1312 |
+
|
1313 |
#: includes/class-wcj-more-button-labels.php:24
|
1314 |
msgid "More Button Labels"
|
1315 |
msgstr ""
|
1358 |
#: includes/class-wcj-my-account.php:75
|
1359 |
#: includes/class-wcj-product-bulk-meta-editor.php:279
|
1360 |
#: includes/class-wcj-product-by-user.php:206
|
1361 |
+
#: includes/class-wcj-purchase-data.php:94
|
1362 |
#: includes/class-wcj-track-users.php:296
|
1363 |
+
#: includes/classes/class-wcj-module.php:613
|
1364 |
+
#: includes/functions/wcj-functions-general.php:21
|
1365 |
+
#: includes/functions/wcj-functions-html.php:97
|
1366 |
#: includes/reports/wcj-class-reports-monthly-sales.php:341
|
1367 |
#: includes/settings/wcj-settings-empty-cart.php:80
|
1368 |
#: includes/shortcodes/class-wcj-shortcodes-products-add-form.php:367
|
1390 |
#: includes/class-wcj-offer-price.php:113
|
1391 |
#: includes/functions/wcj-functions-reports.php:21
|
1392 |
#: includes/functions/wcj-functions-reports.php:24
|
1393 |
+
#: includes/settings/wcj-settings-order-numbers.php:133
|
1394 |
#: includes/settings/wcj-settings-related-products.php:23
|
1395 |
msgid "Date"
|
1396 |
msgstr ""
|
1398 |
#: includes/class-wcj-offer-price.php:114
|
1399 |
#: includes/export/class-wcj-fields-helper.php:288
|
1400 |
#: includes/reports/wcj-class-reports-stock.php:255
|
1401 |
+
#: includes/settings/wcj-settings-product-add-to-cart.php:302
|
1402 |
#: includes/settings/wcj-settings-related-products.php:33
|
1403 |
#: includes/settings/meta-box/wcj-settings-meta-box-wholesale-price.php:72
|
1404 |
msgid "Price"
|
1415 |
#: includes/class-wcj-offer-price.php:117
|
1416 |
#: includes/export/class-wcj-fields-helper.php:75
|
1417 |
#: includes/input-fields/wcj-product-input-fields-options.php:45
|
1418 |
+
#: includes/reports/wcj-class-reports-customers.php:93
|
1419 |
#: includes/settings/wcj-settings-checkout-custom-fields.php:132
|
1420 |
msgid "Email"
|
1421 |
msgstr ""
|
1632 |
msgid "Minimum WooCommerce order amount (optionally by user role)."
|
1633 |
msgstr ""
|
1634 |
|
1635 |
+
#: includes/class-wcj-order-numbers.php:26
|
1636 |
+
#: includes/settings/wcj-settings-order-numbers.php:15
|
1637 |
msgid "Order Numbers"
|
1638 |
msgstr ""
|
1639 |
|
1640 |
+
#: includes/class-wcj-order-numbers.php:27
|
1641 |
msgid ""
|
1642 |
"WooCommerce sequential order numbering, custom order number prefix, suffix "
|
1643 |
"and number width."
|
1644 |
msgstr ""
|
1645 |
|
1646 |
+
#: includes/class-wcj-order-numbers.php:33
|
1647 |
msgid "Orders Renumerate"
|
1648 |
msgstr ""
|
1649 |
|
1650 |
+
#: includes/class-wcj-order-numbers.php:34
|
1651 |
msgid "Tool renumerates all orders."
|
1652 |
msgstr ""
|
1653 |
|
1654 |
+
#: includes/class-wcj-order-numbers.php:179
|
1655 |
msgid "Orders successfully renumerated!"
|
1656 |
msgstr ""
|
1657 |
|
1658 |
+
#: includes/class-wcj-order-numbers.php:182
|
1659 |
+
#, php-format
|
1660 |
+
msgid "Sequential number generation is enabled. Next order number will be %s."
|
1661 |
+
msgstr ""
|
1662 |
+
|
1663 |
+
#: includes/class-wcj-order-numbers.php:191
|
1664 |
#, php-format
|
1665 |
msgid ""
|
1666 |
"Press the button below to renumerate all existing orders starting from order "
|
1667 |
"counter settings in <a href=\"%s\">Order Numbers</a> module."
|
1668 |
msgstr ""
|
1669 |
|
1670 |
+
#: includes/class-wcj-order-numbers.php:198
|
1671 |
msgid "Renumerate orders"
|
1672 |
msgstr ""
|
1673 |
|
1714 |
msgstr ""
|
1715 |
|
1716 |
#: includes/class-wcj-orders.php:114
|
1717 |
+
msgid "No data."
|
1718 |
+
msgstr ""
|
1719 |
+
|
1720 |
+
#: includes/class-wcj-orders.php:159
|
1721 |
msgid "Regenerate download permissions"
|
1722 |
msgstr ""
|
1723 |
|
1724 |
+
#: includes/class-wcj-orders.php:173
|
1725 |
#, php-format
|
1726 |
msgid "Download permissions regenerated for %s order."
|
1727 |
msgid_plural "Download permissions regenerated for %s orders."
|
1809 |
msgstr ""
|
1810 |
|
1811 |
#: includes/class-wcj-payment-gateways-per-category.php:24
|
1812 |
+
#: includes/admin/class-wc-settings-jetpack.php:449
|
1813 |
msgid "Gateways per Product or Category"
|
1814 |
msgstr ""
|
1815 |
|
1827 |
msgid "Add multiple custom payment gateways to WooCommerce."
|
1828 |
msgstr ""
|
1829 |
|
1830 |
+
#: includes/class-wcj-payment-gateways.php:67
|
1831 |
#, php-format
|
1832 |
msgid "<strong>%s</strong> is a required field."
|
1833 |
msgstr ""
|
1834 |
|
1835 |
+
#: includes/class-wcj-payment-gateways.php:91
|
1836 |
#, php-format
|
1837 |
msgid "%s Fields"
|
1838 |
msgstr ""
|
1866 |
|
1867 |
#: includes/class-wcj-pdf-invoicing.php:89
|
1868 |
#: includes/class-wcj-pdf-invoicing.php:90
|
|
|
|
|
1869 |
#: includes/settings/wcj-settings-price-by-country.php:174
|
1870 |
+
#: includes/settings/wcj-settings-price-by-country.php:179
|
1871 |
+
#: includes/settings/wcj-settings-price-by-country.php:184
|
1872 |
msgid "Generate"
|
1873 |
msgstr ""
|
1874 |
|
1875 |
#: includes/class-wcj-pdf-invoicing.php:97
|
1876 |
#: includes/class-wcj-pdf-invoicing.php:98
|
1877 |
+
#: includes/settings/wcj-settings-pdf-invoicing-advanced.php:95
|
1878 |
msgid "Download"
|
1879 |
msgstr ""
|
1880 |
|
1907 |
msgid "You are not allowed to view the invoice."
|
1908 |
msgstr ""
|
1909 |
|
1910 |
+
#: includes/class-wcj-price-by-country.php:24
|
1911 |
msgid "Prices and Currencies by Country"
|
1912 |
msgstr ""
|
1913 |
|
1914 |
+
#: includes/class-wcj-price-by-country.php:25
|
1915 |
msgid ""
|
1916 |
"Change WooCommerce product price and currency automatically by customer's "
|
1917 |
"country."
|
1918 |
msgstr ""
|
1919 |
|
1920 |
+
#: includes/class-wcj-price-by-country.php:96
|
1921 |
msgid "Price filter widget product prices recalculated."
|
1922 |
msgstr ""
|
1923 |
|
1956 |
msgstr ""
|
1957 |
|
1958 |
#: includes/class-wcj-price-labels.php:32
|
1959 |
+
#: includes/settings/wcj-settings-price-labels.php:99
|
1960 |
msgid "Instead of the price"
|
1961 |
msgstr ""
|
1962 |
|
1974 |
|
1975 |
#: includes/class-wcj-price-labels.php:40
|
1976 |
#: includes/class-wcj-product-info.php:254
|
1977 |
+
#: includes/class-wcj-shipping-options.php:175
|
1978 |
#: includes/settings/wcj-settings-add-to-cart.php:52
|
1979 |
#: includes/settings/wcj-settings-address-formats.php:20
|
1980 |
#: includes/settings/wcj-settings-admin-bar.php:20
|
1985 |
#: includes/settings/wcj-settings-admin-tools.php:34
|
1986 |
#: includes/settings/wcj-settings-admin-tools.php:74
|
1987 |
#: includes/settings/wcj-settings-admin-tools.php:81
|
1988 |
+
#: includes/settings/wcj-settings-admin-tools.php:88
|
1989 |
#: includes/settings/wcj-settings-breadcrumbs.php:20
|
1990 |
#: includes/settings/wcj-settings-call-for-price.php:79
|
1991 |
#: includes/settings/wcj-settings-cart-customization.php:34
|
1993 |
#: includes/settings/wcj-settings-checkout-custom-fields.php:107
|
1994 |
#: includes/settings/wcj-settings-checkout-custom-fields.php:209
|
1995 |
#: includes/settings/wcj-settings-checkout-customization.php:78
|
1996 |
+
#: includes/settings/wcj-settings-checkout-customization.php:92
|
1997 |
#: includes/settings/wcj-settings-checkout-files-upload.php:291
|
1998 |
#: includes/settings/wcj-settings-coupon-code-generator.php:32
|
1999 |
#: includes/settings/wcj-settings-currency-exchange-rates.php:54
|
2003 |
#: includes/settings/wcj-settings-currency-per-product.php:73
|
2004 |
#: includes/settings/wcj-settings-currency-per-product.php:80
|
2005 |
#: includes/settings/wcj-settings-currency-per-product.php:87
|
2006 |
+
#: includes/settings/wcj-settings-currency-per-product.php:241
|
2007 |
#: includes/settings/wcj-settings-custom-css.php:34
|
2008 |
#: includes/settings/wcj-settings-emails-verification.php:28
|
2009 |
#: includes/settings/wcj-settings-emails-verification.php:36
|
2014 |
#: includes/settings/wcj-settings-general.php:202
|
2015 |
#: includes/settings/wcj-settings-global-discount.php:52
|
2016 |
#: includes/settings/wcj-settings-left-to-free-shipping.php:27
|
2017 |
+
#: includes/settings/wcj-settings-left-to-free-shipping.php:58
|
2018 |
+
#: includes/settings/wcj-settings-left-to-free-shipping.php:95
|
2019 |
+
#: includes/settings/wcj-settings-more-button-labels.php:28
|
2020 |
#: includes/settings/wcj-settings-multicurrency-base-price.php:40
|
2021 |
#: includes/settings/wcj-settings-multicurrency-base-price.php:55
|
2022 |
#: includes/settings/wcj-settings-multicurrency.php:39
|
2023 |
#: includes/settings/wcj-settings-multicurrency.php:48
|
2024 |
#: includes/settings/wcj-settings-offer-price.php:19
|
2025 |
#: includes/settings/wcj-settings-order-custom-statuses.php:45
|
2026 |
+
#: includes/settings/wcj-settings-order-numbers.php:97
|
2027 |
+
#: includes/settings/wcj-settings-order-numbers.php:105
|
2028 |
+
#: includes/settings/wcj-settings-order-numbers.php:112
|
2029 |
#: includes/settings/wcj-settings-order-quantities.php:53
|
2030 |
#: includes/settings/wcj-settings-order-quantities.php:111
|
2031 |
#: includes/settings/wcj-settings-order-quantities.php:137
|
2032 |
#: includes/settings/wcj-settings-order-quantities.php:144
|
2033 |
#: includes/settings/wcj-settings-orders.php:25
|
2034 |
#: includes/settings/wcj-settings-orders.php:54
|
2035 |
+
#: includes/settings/wcj-settings-pdf-invoicing-advanced.php:54
|
2036 |
#: includes/settings/wcj-settings-pdf-invoicing-display.php:113
|
2037 |
#: includes/settings/wcj-settings-pdf-invoicing-footer.php:23
|
2038 |
#: includes/settings/wcj-settings-pdf-invoicing-header.php:23
|
2039 |
#: includes/settings/wcj-settings-pdf-invoicing-numbering.php:23
|
2040 |
#: includes/settings/wcj-settings-pdf-invoicing-styling.php:73
|
|
|
2041 |
#: includes/settings/wcj-settings-price-by-country.php:69
|
2042 |
#: includes/settings/wcj-settings-price-by-country.php:89
|
2043 |
#: includes/settings/wcj-settings-price-by-country.php:105
|
2044 |
+
#: includes/settings/wcj-settings-price-by-country.php:123
|
2045 |
+
#: includes/settings/wcj-settings-price-by-country.php:132
|
2046 |
#: includes/settings/wcj-settings-price-by-user-role.php:20
|
2047 |
#: includes/settings/wcj-settings-price-by-user-role.php:47
|
2048 |
#: includes/settings/wcj-settings-price-formats.php:21
|
2049 |
+
#: includes/settings/wcj-settings-price-labels.php:23
|
2050 |
#: includes/settings/wcj-settings-product-add-to-cart.php:25
|
2051 |
#: includes/settings/wcj-settings-product-add-to-cart.php:41
|
2052 |
#: includes/settings/wcj-settings-product-add-to-cart.php:80
|
2053 |
#: includes/settings/wcj-settings-product-add-to-cart.php:132
|
2054 |
#: includes/settings/wcj-settings-product-add-to-cart.php:162
|
2055 |
#: includes/settings/wcj-settings-product-add-to-cart.php:178
|
2056 |
+
#: includes/settings/wcj-settings-product-add-to-cart.php:195
|
2057 |
+
#: includes/settings/wcj-settings-product-add-to-cart.php:236
|
2058 |
+
#: includes/settings/wcj-settings-product-add-to-cart.php:250
|
2059 |
+
#: includes/settings/wcj-settings-product-add-to-cart.php:280
|
2060 |
+
#: includes/settings/wcj-settings-product-add-to-cart.php:315
|
2061 |
+
#: includes/settings/wcj-settings-product-addons.php:32
|
2062 |
+
#: includes/settings/wcj-settings-product-addons.php:51
|
2063 |
+
#: includes/settings/wcj-settings-product-addons.php:75
|
2064 |
+
#: includes/settings/wcj-settings-product-addons.php:171
|
2065 |
#: includes/settings/wcj-settings-product-bulk-meta-editor.php:21
|
2066 |
#: includes/settings/wcj-settings-product-bulk-meta-editor.php:29
|
2067 |
#: includes/settings/wcj-settings-product-by-country.php:21
|
2085 |
#: includes/settings/wcj-settings-product-input-fields.php:317
|
2086 |
#: includes/settings/wcj-settings-product-open-pricing.php:87
|
2087 |
#: includes/settings/wcj-settings-product-open-pricing.php:94
|
|
|
2088 |
#: includes/settings/wcj-settings-product-price-by-formula.php:30
|
2089 |
#: includes/settings/wcj-settings-product-tabs.php:23
|
2090 |
#: includes/settings/wcj-settings-product-tabs.php:212
|
2091 |
#: includes/settings/wcj-settings-product-tabs.php:220
|
2092 |
+
#: includes/settings/wcj-settings-products-xml.php:73
|
2093 |
#: includes/settings/wcj-settings-purchase-data.php:22
|
2094 |
#: includes/settings/wcj-settings-purchase-data.php:29
|
2095 |
#: includes/settings/wcj-settings-purchase-data.php:36
|
2118 |
#: includes/settings/wcj-settings-wholesale-price.php:22
|
2119 |
#: includes/settings/wcj-settings-wholesale-price.php:29
|
2120 |
#: includes/settings/wcj-settings-wholesale-price.php:36
|
2121 |
+
#: includes/settings/wcj-settings-wholesale-price.php:44
|
2122 |
+
#: includes/settings/meta-box/wcj-settings-meta-box-product-add-to-cart.php:68
|
2123 |
#: includes/settings/meta-box/wcj-settings-meta-box-product-addons.php:35
|
2124 |
#: includes/settings/meta-box/wcj-settings-meta-box-related-products.php:17
|
2125 |
#: includes/settings/meta-box/wcj-settings-meta-box-sale-flash.php:14
|
2158 |
msgid "Booster: Custom Price Labels"
|
2159 |
msgstr ""
|
2160 |
|
2161 |
+
#: includes/class-wcj-product-add-to-cart.php:26
|
2162 |
+
#: includes/settings/wcj-settings-product-add-to-cart.php:306
|
2163 |
+
msgid "Add to Cart"
|
2164 |
msgstr ""
|
2165 |
|
2166 |
+
#: includes/class-wcj-product-add-to-cart.php:27
|
2167 |
msgid "Set any local url to redirect to on WooCommerce Add to Cart."
|
2168 |
msgstr ""
|
2169 |
|
2170 |
+
#: includes/class-wcj-product-add-to-cart.php:28
|
2171 |
msgid "Automatically add to cart on product visit."
|
2172 |
msgstr ""
|
2173 |
|
2174 |
+
#: includes/class-wcj-product-add-to-cart.php:29
|
2175 |
msgid "Display radio buttons instead of drop box for variable products."
|
2176 |
msgstr ""
|
2177 |
|
2178 |
+
#: includes/class-wcj-product-add-to-cart.php:30
|
2179 |
msgid "Disable quantity input."
|
2180 |
msgstr ""
|
2181 |
|
2182 |
+
#: includes/class-wcj-product-add-to-cart.php:31
|
|
|
|
|
|
|
|
|
2183 |
msgid "Open external products on add to cart in new window."
|
2184 |
msgstr ""
|
2185 |
|
2186 |
+
#: includes/class-wcj-product-add-to-cart.php:32
|
2187 |
msgid ""
|
2188 |
"Replace Add to Cart button on archives with button from single product pages."
|
2189 |
msgstr ""
|
2190 |
|
2191 |
+
#: includes/class-wcj-product-add-to-cart.php:33
|
2192 |
msgid "Customize Add to Cart messages."
|
2193 |
msgstr ""
|
2194 |
|
2195 |
+
#: includes/class-wcj-product-add-to-cart.php:176
|
2196 |
#, php-format
|
2197 |
msgctxt "Item name in quotes"
|
2198 |
msgid "“%s”"
|
2199 |
msgstr ""
|
2200 |
|
2201 |
+
#: includes/class-wcj-product-add-to-cart.php:181
|
2202 |
#, php-format
|
2203 |
msgid "%s has been added to your cart."
|
2204 |
msgid_plural "%s have been added to your cart."
|
2205 |
msgstr[0] ""
|
2206 |
msgstr[1] ""
|
2207 |
|
2208 |
+
#: includes/class-wcj-product-add-to-cart.php:185
|
2209 |
+
#: includes/settings/wcj-settings-product-add-to-cart.php:245
|
2210 |
msgid "Continue shopping"
|
2211 |
msgstr ""
|
2212 |
|
2213 |
+
#: includes/class-wcj-product-add-to-cart.php:187
|
2214 |
+
#: includes/settings/wcj-settings-product-add-to-cart.php:259
|
2215 |
msgid "View cart"
|
2216 |
msgstr ""
|
2217 |
|
2223 |
msgid "Add (paid/free/discount) addons to WooCommerce products."
|
2224 |
msgstr ""
|
2225 |
|
2226 |
+
#: includes/class-wcj-product-addons.php:163
|
2227 |
msgid "Some of the required addons are not selected!"
|
2228 |
msgstr ""
|
2229 |
|
2230 |
+
#: includes/class-wcj-product-addons.php:178
|
2231 |
msgid ""
|
2232 |
"Booster: Free plugin's version is limited to only three products with per "
|
2233 |
"product addons enabled at a time. You will need to get <a href=\"http://"
|
2335 |
msgstr ""
|
2336 |
|
2337 |
#: includes/class-wcj-product-bulk-meta-editor.php:232
|
2338 |
+
#: includes/settings/wcj-settings-wholesale-price.php:51
|
2339 |
+
#: includes/settings/meta-box/wcj-settings-meta-box-add-to-cart-button-visibility.php:19
|
2340 |
+
#: includes/settings/meta-box/wcj-settings-meta-box-add-to-cart-button-visibility.php:38
|
2341 |
msgid "Show"
|
2342 |
msgstr ""
|
2343 |
|
2344 |
#: includes/class-wcj-product-bulk-meta-editor.php:236
|
2345 |
#: includes/class-wcj-product-bulk-meta-editor.php:340
|
2346 |
+
#: includes/settings/wcj-settings-product-add-to-cart.php:304
|
2347 |
msgid "Meta"
|
2348 |
msgstr ""
|
2349 |
|
2354 |
msgstr ""
|
2355 |
|
2356 |
#: includes/class-wcj-product-bulk-meta-editor.php:294
|
2357 |
+
#: includes/settings/wcj-settings-admin-orders-list.php:71
|
2358 |
#: includes/settings/wcj-settings-admin-products-list.php:56
|
2359 |
#: includes/settings/wcj-settings-export.php:91
|
2360 |
#: includes/settings/wcj-settings-export.php:162
|
2384 |
msgstr ""
|
2385 |
|
2386 |
#: includes/class-wcj-product-bulk-meta-editor.php:389
|
2387 |
+
#: includes/class-wcj-purchase-data.php:77
|
2388 |
#: includes/export/class-wcj-fields-helper.php:280
|
2389 |
#: includes/functions/wcj-functions-reports.php:25
|
2390 |
#: includes/settings/wcj-settings-product-bulk-meta-editor.php:42
|
2463 |
msgstr ""
|
2464 |
|
2465 |
#: includes/class-wcj-product-bulk-price-converter.php:260
|
2466 |
+
#: includes/shortcodes/class-wcj-shortcodes-products.php:346
|
2467 |
msgid "Any"
|
2468 |
msgstr ""
|
2469 |
|
2599 |
#: includes/settings/wcj-settings-export.php:75
|
2600 |
#: includes/settings/wcj-settings-export.php:143
|
2601 |
#: includes/settings/wcj-settings-export.php:225
|
2602 |
+
#: includes/settings/wcj-settings-product-add-to-cart.php:300
|
2603 |
+
#: includes/settings/wcj-settings-product-addons.php:93
|
2604 |
#: includes/settings/wcj-settings-product-by-user.php:167
|
2605 |
#: includes/settings/wcj-settings-product-tabs.php:52
|
2606 |
#: includes/settings/wcj-settings-product-tabs.php:368
|
2627 |
msgstr ""
|
2628 |
|
2629 |
#: includes/class-wcj-product-custom-info.php:24
|
2630 |
+
#: includes/admin/class-wc-settings-jetpack.php:451
|
2631 |
+
#: includes/functions/wcj-functions-general.php:286
|
2632 |
msgid "Product Info"
|
2633 |
msgstr ""
|
2634 |
|
2678 |
|
2679 |
#: includes/class-wcj-product-info.php:123
|
2680 |
#: includes/settings/wcj-settings-offer-price.php:91
|
2681 |
+
#: includes/settings/wcj-settings-product-add-to-cart.php:326
|
2682 |
#: includes/settings/wcj-settings-product-custom-info.php:102
|
2683 |
msgid "Before product"
|
2684 |
msgstr ""
|
2685 |
|
2686 |
#: includes/class-wcj-product-info.php:124
|
2687 |
+
#: includes/settings/wcj-settings-product-add-to-cart.php:327
|
2688 |
#: includes/settings/wcj-settings-product-custom-info.php:103
|
2689 |
msgid "Before product title"
|
2690 |
msgstr ""
|
2691 |
|
2692 |
#: includes/class-wcj-product-info.php:125
|
2693 |
#: includes/settings/wcj-settings-offer-price.php:92
|
2694 |
+
#: includes/settings/wcj-settings-product-add-to-cart.php:328
|
2695 |
#: includes/settings/wcj-settings-product-custom-info.php:106
|
2696 |
msgid "After product"
|
2697 |
msgstr ""
|
2698 |
|
2699 |
#: includes/class-wcj-product-info.php:126
|
2700 |
+
#: includes/settings/wcj-settings-product-add-to-cart.php:329
|
2701 |
#: includes/settings/wcj-settings-product-custom-info.php:105
|
2702 |
msgid "After product title"
|
2703 |
msgstr ""
|
2704 |
|
2705 |
#: includes/class-wcj-product-info.php:138
|
2706 |
#: includes/settings/wcj-settings-offer-price.php:72
|
2707 |
+
#: includes/settings/wcj-settings-product-add-to-cart.php:292
|
2708 |
#: includes/settings/wcj-settings-product-custom-info.php:93
|
2709 |
msgid "Inside single product summary"
|
2710 |
msgstr ""
|
2711 |
|
2712 |
#: includes/class-wcj-product-info.php:139
|
2713 |
#: includes/settings/wcj-settings-offer-price.php:71
|
2714 |
+
#: includes/settings/wcj-settings-product-add-to-cart.php:291
|
2715 |
#: includes/settings/wcj-settings-product-custom-info.php:92
|
2716 |
msgid "Before single product summary"
|
2717 |
msgstr ""
|
2718 |
|
2719 |
#: includes/class-wcj-product-info.php:140
|
2720 |
#: includes/settings/wcj-settings-offer-price.php:73
|
2721 |
+
#: includes/settings/wcj-settings-product-add-to-cart.php:293
|
2722 |
#: includes/settings/wcj-settings-product-custom-info.php:94
|
2723 |
msgid "After single product summary"
|
2724 |
msgstr ""
|
2728 |
#: includes/settings/wcj-settings-checkout-custom-info.php:47
|
2729 |
#: includes/settings/wcj-settings-checkout-files-upload.php:51
|
2730 |
#: includes/settings/wcj-settings-left-to-free-shipping.php:43
|
2731 |
+
#: includes/settings/wcj-settings-left-to-free-shipping.php:76
|
2732 |
+
#: includes/settings/wcj-settings-left-to-free-shipping.php:113
|
2733 |
#: includes/settings/wcj-settings-mini-cart.php:46
|
2734 |
+
#: includes/settings/wcj-settings-product-add-to-cart.php:286
|
2735 |
+
#: includes/settings/wcj-settings-product-add-to-cart.php:321
|
2736 |
#: includes/settings/wcj-settings-product-custom-info.php:85
|
2737 |
#: includes/settings/wcj-settings-product-info.php:50
|
2738 |
#: includes/settings/wcj-settings-product-info.php:83
|
2769 |
msgstr ""
|
2770 |
|
2771 |
#: includes/class-wcj-product-input-fields.php:24
|
2772 |
+
#: includes/admin/class-wc-settings-jetpack.php:452
|
2773 |
#: includes/input-fields/class-wcj-product-input-fields-core.php:123
|
2774 |
msgid "Product Input Fields"
|
2775 |
msgstr ""
|
2890 |
msgstr ""
|
2891 |
|
2892 |
#: includes/class-wcj-product-tabs.php:591
|
2893 |
+
#: includes/settings/wcj-settings-add-to-cart-button-visibility.php:84
|
2894 |
+
#: includes/settings/wcj-settings-add-to-cart-button-visibility.php:100
|
2895 |
#: includes/settings/wcj-settings-cart.php:44
|
2896 |
#: includes/settings/wcj-settings-checkout-custom-info.php:40
|
2897 |
#: includes/settings/wcj-settings-left-to-free-shipping.php:34
|
2898 |
+
#: includes/settings/wcj-settings-left-to-free-shipping.php:67
|
2899 |
+
#: includes/settings/wcj-settings-left-to-free-shipping.php:104
|
2900 |
#: includes/settings/wcj-settings-mini-cart.php:39
|
2901 |
#: includes/settings/wcj-settings-product-custom-info.php:77
|
2902 |
#: includes/settings/wcj-settings-product-tabs.php:72
|
2924 |
|
2925 |
#: includes/class-wcj-product-tabs.php:605
|
2926 |
#: includes/input-fields/wcj-product-input-fields-options.php:95
|
2927 |
+
#: includes/settings/wcj-settings-admin-orders-list.php:84
|
2928 |
#: includes/settings/wcj-settings-checkout-custom-fields.php:224
|
2929 |
#: includes/settings/meta-box/wcj-settings-meta-box-custom-css.php:20
|
2930 |
#: includes/settings/meta-box/wcj-settings-meta-box-offer-price.php:20
|
2931 |
+
#: includes/settings/meta-box/wcj-settings-meta-box-price-by-country.php:64
|
2932 |
#: includes/settings/meta-box/wcj-settings-meta-box-price-by-user-role.php:35
|
2933 |
#: includes/settings/meta-box/wcj-settings-meta-box-price-by-user-role.php:97
|
2934 |
#: includes/settings/meta-box/wcj-settings-meta-box-product-add-to-cart.php:21
|
2935 |
#: includes/settings/meta-box/wcj-settings-meta-box-product-add-to-cart.php:43
|
|
|
|
|
2936 |
#: includes/settings/meta-box/wcj-settings-meta-box-product-addons.php:19
|
2937 |
#: includes/settings/meta-box/wcj-settings-meta-box-product-addons.php:41
|
2938 |
#: includes/settings/meta-box/wcj-settings-meta-box-product-addons.php:104
|
2960 |
#: includes/settings/wcj-settings-eu-vat-number.php:130
|
2961 |
#: includes/settings/meta-box/wcj-settings-meta-box-custom-css.php:19
|
2962 |
#: includes/settings/meta-box/wcj-settings-meta-box-offer-price.php:19
|
2963 |
+
#: includes/settings/meta-box/wcj-settings-meta-box-price-by-country.php:65
|
2964 |
#: includes/settings/meta-box/wcj-settings-meta-box-price-by-user-role.php:34
|
2965 |
#: includes/settings/meta-box/wcj-settings-meta-box-price-by-user-role.php:96
|
2966 |
#: includes/settings/meta-box/wcj-settings-meta-box-product-add-to-cart.php:20
|
2967 |
#: includes/settings/meta-box/wcj-settings-meta-box-product-add-to-cart.php:42
|
|
|
|
|
2968 |
#: includes/settings/meta-box/wcj-settings-meta-box-product-addons.php:18
|
2969 |
#: includes/settings/meta-box/wcj-settings-meta-box-product-addons.php:40
|
2970 |
#: includes/settings/meta-box/wcj-settings-meta-box-product-addons.php:103
|
2984 |
#: includes/class-wcj-product-tabs.php:614
|
2985 |
#: includes/settings/wcj-settings-checkout-core-fields.php:61
|
2986 |
#: includes/settings/wcj-settings-currency-exchange-rates.php:141
|
2987 |
+
#: includes/settings/wcj-settings-order-numbers.php:46
|
2988 |
+
#: includes/settings/wcj-settings-orders.php:119
|
2989 |
#: includes/settings/wcj-settings-product-add-to-cart.php:64
|
2990 |
#: includes/settings/meta-box/wcj-settings-meta-box-product-by-date.php:19
|
2991 |
#: includes/settings/meta-box/wcj-settings-meta-box-product-by-time.php:19
|
3021 |
msgid "WooCommerce products XML feeds."
|
3022 |
msgstr ""
|
3023 |
|
3024 |
+
#: includes/class-wcj-products-xml.php:95
|
3025 |
#: includes/exchange-rates/class-wcj-exchange-rates-crons.php:211
|
3026 |
msgid "Once Weekly"
|
3027 |
msgstr ""
|
3028 |
|
3029 |
+
#: includes/class-wcj-products-xml.php:99
|
3030 |
#: includes/exchange-rates/class-wcj-exchange-rates-crons.php:215
|
3031 |
msgid "Once a Minute"
|
3032 |
msgstr ""
|
3033 |
|
3034 |
+
#: includes/class-wcj-products-xml.php:114
|
3035 |
+
msgid "An error has occurred while creating products XML file."
|
3036 |
msgstr ""
|
3037 |
|
3038 |
+
#: includes/class-wcj-products-xml.php:117
|
3039 |
+
#, php-format
|
3040 |
+
msgid "Products XML file #%s created successfully."
|
3041 |
msgstr ""
|
3042 |
|
3043 |
+
#: includes/class-wcj-purchase-data.php:28
|
3044 |
msgid "Cost of Goods"
|
3045 |
msgstr ""
|
3046 |
|
3047 |
+
#: includes/class-wcj-purchase-data.php:29
|
3048 |
msgid "Save WooCommerce product purchase costs data for admin reports."
|
3049 |
msgstr ""
|
3050 |
|
3051 |
+
#: includes/class-wcj-purchase-data.php:35
|
3052 |
msgid "\"WooCommerce Cost of Goods\" Data Import"
|
3053 |
msgstr ""
|
3054 |
|
3055 |
+
#: includes/class-wcj-purchase-data.php:36
|
3056 |
msgid "Import products costs from \"WooCommerce Cost of Goods\"."
|
3057 |
msgstr ""
|
3058 |
|
3059 |
+
#: includes/class-wcj-purchase-data.php:78
|
3060 |
msgid "Product Title"
|
3061 |
msgstr ""
|
3062 |
|
3063 |
+
#: includes/class-wcj-purchase-data.php:79
|
3064 |
msgid "WooCommerce Cost of Goods (source)"
|
3065 |
msgstr ""
|
3066 |
|
3067 |
+
#: includes/class-wcj-purchase-data.php:80
|
3068 |
msgid "Booster: Product cost (destination)"
|
3069 |
msgstr ""
|
3070 |
|
3071 |
+
#: includes/class-wcj-purchase-data.php:93
|
3072 |
+
#: includes/admin/class-wc-settings-jetpack.php:290
|
3073 |
msgid "Import"
|
3074 |
msgstr ""
|
3075 |
|
3076 |
+
#: includes/class-wcj-purchase-data.php:115
|
3077 |
#: includes/shipping/class-wc-shipping-wcj-custom-with-shipping-zones.php:105
|
3078 |
#: includes/shipping/class-wc-shipping-wcj-custom-with-shipping-zones.php:172
|
3079 |
#: includes/shipping/class-wc-shipping-wcj-custom.php:131
|
3081 |
msgid "Cost"
|
3082 |
msgstr ""
|
3083 |
|
3084 |
+
#: includes/class-wcj-purchase-data.php:118
|
3085 |
+
#: includes/class-wcj-purchase-data.php:151
|
3086 |
+
#: includes/class-wcj-purchase-data.php:238
|
3087 |
#: includes/functions/wcj-functions-reports.php:29
|
3088 |
#: includes/settings/wcj-settings-purchase-data.php:133
|
3089 |
#: includes/settings/wcj-settings-purchase-data.php:161
|
3090 |
msgid "Profit"
|
3091 |
msgstr ""
|
3092 |
|
3093 |
+
#: includes/class-wcj-purchase-data.php:154
|
3094 |
#: includes/settings/wcj-settings-purchase-data.php:142
|
3095 |
#: includes/settings/wcj-settings-purchase-data.php:168
|
3096 |
msgid "Purchase Cost"
|
3097 |
msgstr ""
|
3098 |
|
3099 |
+
#: includes/class-wcj-purchase-data.php:236
|
3100 |
msgid "Selling"
|
3101 |
msgstr ""
|
3102 |
|
3103 |
+
#: includes/class-wcj-purchase-data.php:237
|
3104 |
msgid "Buying"
|
3105 |
msgstr ""
|
3106 |
|
3107 |
+
#: includes/class-wcj-purchase-data.php:241
|
3108 |
msgid "Report"
|
3109 |
msgstr ""
|
3110 |
|
3111 |
#: includes/class-wcj-related-products.php:38
|
3112 |
+
#: includes/admin/class-wc-settings-jetpack.php:454
|
3113 |
#: includes/settings/wcj-settings-free-price.php:20
|
3114 |
#: includes/settings/meta-box/wcj-settings-meta-box-related-products.php:28
|
3115 |
msgid "Related Products"
|
3301 |
msgid "Customize WooCommerce shipping calculator on cart page."
|
3302 |
msgstr ""
|
3303 |
|
3304 |
+
#: includes/class-wcj-shipping-options.php:27
|
3305 |
msgid "Shipping Options"
|
3306 |
msgstr ""
|
3307 |
|
3308 |
+
#: includes/class-wcj-shipping-options.php:28
|
3309 |
msgid "Add descriptions and icons to shipping methods on frontend."
|
3310 |
msgstr ""
|
3311 |
|
3312 |
+
#: includes/class-wcj-shipping-options.php:29
|
3313 |
msgid "Hide WooCommerce shipping when free is available."
|
3314 |
msgstr ""
|
3315 |
|
3316 |
+
#: includes/class-wcj-shipping-options.php:30
|
3317 |
msgid "Grant free shipping on per product basis."
|
3318 |
msgstr ""
|
3319 |
|
3320 |
+
#: includes/class-wcj-shipping-options.php:174
|
3321 |
msgid "Booster: Hide when free is available"
|
3322 |
msgstr ""
|
3323 |
|
3324 |
+
#: includes/class-wcj-shipping-options.php:182
|
3325 |
#: includes/settings/wcj-settings-shipping-options.php:28
|
3326 |
msgid ""
|
3327 |
"Available options: hide all; hide all except \"Local Pickup\"; hide \"Flat "
|
3328 |
"Rate\" only."
|
3329 |
msgstr ""
|
3330 |
|
3331 |
+
#: includes/class-wcj-shipping-options.php:186
|
3332 |
#: includes/settings/wcj-settings-shipping-options.php:32
|
3333 |
msgid "Hide all"
|
3334 |
msgstr ""
|
3335 |
|
3336 |
+
#: includes/class-wcj-shipping-options.php:187
|
3337 |
#: includes/settings/wcj-settings-shipping-options.php:33
|
3338 |
msgid "Hide all except \"Local Pickup\""
|
3339 |
msgstr ""
|
3340 |
|
3341 |
+
#: includes/class-wcj-shipping-options.php:188
|
3342 |
#: includes/settings/wcj-settings-shipping-options.php:34
|
3343 |
msgid "Hide \"Flat Rate\" only"
|
3344 |
msgstr ""
|
3459 |
msgstr ""
|
3460 |
|
3461 |
#: includes/class-wcj-track-users.php:159
|
3462 |
+
#: includes/settings/wcj-settings-products-xml.php:116
|
3463 |
msgid "URL:"
|
3464 |
msgstr ""
|
3465 |
|
3563 |
"can be moved to paid plugin version."
|
3564 |
msgstr ""
|
3565 |
|
3566 |
+
#: includes/admin/class-wc-settings-jetpack.php:262
|
3567 |
msgid ""
|
3568 |
"This section lets you export, import or reset all Booster's modules settings."
|
3569 |
msgstr ""
|
3570 |
|
3571 |
+
#: includes/admin/class-wc-settings-jetpack.php:287
|
3572 |
msgid "Export all Booster's options to a file."
|
3573 |
msgstr ""
|
3574 |
|
3575 |
+
#: includes/admin/class-wc-settings-jetpack.php:292
|
3576 |
msgid "Import all Booster's options from a file."
|
3577 |
msgstr ""
|
3578 |
|
3579 |
+
#: includes/admin/class-wc-settings-jetpack.php:295
|
3580 |
msgid ""
|
3581 |
"This will reset settings to defaults for all Booster modules. Are you sure?"
|
3582 |
msgstr ""
|
3583 |
|
3584 |
+
#: includes/admin/class-wc-settings-jetpack.php:295
|
3585 |
msgid "Reset"
|
3586 |
msgstr ""
|
3587 |
|
3588 |
+
#: includes/admin/class-wc-settings-jetpack.php:296
|
3589 |
msgid "Reset all Booster's options."
|
3590 |
msgstr ""
|
3591 |
|
3592 |
+
#: includes/admin/class-wc-settings-jetpack.php:333
|
3593 |
msgid "Version"
|
3594 |
msgstr ""
|
3595 |
|
3596 |
+
#: includes/admin/class-wc-settings-jetpack.php:354
|
3597 |
+
#: includes/admin/class-wc-settings-jetpack.php:361
|
3598 |
msgid "Select All"
|
3599 |
msgstr ""
|
3600 |
|
3601 |
+
#: includes/admin/class-wc-settings-jetpack.php:355
|
3602 |
+
#: includes/admin/class-wc-settings-jetpack.php:362
|
3603 |
#: includes/admin/class-wcj-tools.php:72
|
3604 |
msgid "Module"
|
3605 |
msgstr ""
|
3606 |
|
3607 |
+
#: includes/admin/class-wc-settings-jetpack.php:356
|
3608 |
+
#: includes/admin/class-wc-settings-jetpack.php:363
|
3609 |
#: includes/admin/class-wcj-tools.php:73
|
3610 |
#: includes/export/class-wcj-fields-helper.php:293
|
3611 |
#: includes/gateways/class-wc-gateway-wcj-custom.php:74
|
3616 |
msgid "Description"
|
3617 |
msgstr ""
|
3618 |
|
3619 |
+
#: includes/admin/class-wc-settings-jetpack.php:410
|
3620 |
msgid "No active modules found."
|
3621 |
msgstr ""
|
3622 |
|
3623 |
+
#: includes/admin/class-wc-settings-jetpack.php:413
|
3624 |
msgid "Total Modules:"
|
3625 |
msgstr ""
|
3626 |
|
3627 |
+
#: includes/admin/class-wc-settings-jetpack.php:439
|
3628 |
msgid "Autoload Booster's Options"
|
3629 |
msgstr ""
|
3630 |
|
3631 |
+
#: includes/admin/class-wc-settings-jetpack.php:441
|
3632 |
msgid ""
|
3633 |
"Choose if you want Booster's options to be autoloaded when calling "
|
3634 |
"add_option. After saving this option, you need to Reset all Booster's "
|
3635 |
"settings. Leave default value (i.e. Enabled) if not sure."
|
3636 |
msgstr ""
|
3637 |
|
3638 |
+
#: includes/admin/class-wc-settings-jetpack.php:446
|
3639 |
msgid "Use List Instead of Comma Separated Text for Products in Settings"
|
3640 |
msgstr ""
|
3641 |
|
3642 |
+
#: includes/admin/class-wc-settings-jetpack.php:448
|
3643 |
#, php-format
|
3644 |
msgid "Supported modules: %s."
|
3645 |
msgstr ""
|
3646 |
|
3647 |
+
#: includes/admin/class-wc-settings-jetpack.php:453
|
3648 |
msgid "Products XML"
|
3649 |
msgstr ""
|
3650 |
|
3651 |
+
#: includes/admin/class-wc-settings-jetpack.php:478
|
3652 |
+
#: includes/core/class-wcj-admin.php:105
|
3653 |
msgid "Booster for WooCommerce"
|
3654 |
msgstr ""
|
3655 |
|
3667 |
msgid "Save changes"
|
3668 |
msgstr ""
|
3669 |
|
3670 |
+
#: includes/admin/class-wcj-settings-manager.php:60
|
3671 |
msgid "Please upload a file to import!"
|
3672 |
msgstr ""
|
3673 |
|
3674 |
+
#: includes/admin/class-wcj-settings-manager.php:68
|
3675 |
+
#: includes/admin/class-wcj-settings-manager.php:73
|
3676 |
msgid "Wrong file format!"
|
3677 |
msgstr ""
|
3678 |
|
3679 |
+
#: includes/admin/class-wcj-settings-manager.php:82
|
3680 |
#, php-format
|
3681 |
msgid "%d options successfully imported."
|
3682 |
msgstr ""
|
3683 |
|
3684 |
+
#: includes/admin/class-wcj-settings-manager.php:167
|
3685 |
#, php-format
|
3686 |
msgid "%d options and %d meta successfully deleted."
|
3687 |
msgstr ""
|
3746 |
"Listings, Product Tabs and more."
|
3747 |
msgstr ""
|
3748 |
|
3749 |
+
#: includes/admin/wcj-modules-cats.php:93
|
3750 |
msgid "Cart & Checkout"
|
3751 |
msgstr ""
|
3752 |
|
3753 |
+
#: includes/admin/wcj-modules-cats.php:94
|
3754 |
msgid ""
|
3755 |
"Cart and Checkout Customization, Empty Cart Button, Mini Cart, Coupons and "
|
3756 |
"more."
|
3757 |
msgstr ""
|
3758 |
|
3759 |
+
#: includes/admin/wcj-modules-cats.php:112
|
3760 |
#: includes/settings/wcj-settings-payment-gateways-by-country.php:14
|
3761 |
#: includes/settings/wcj-settings-payment-gateways-by-currency.php:14
|
3762 |
#: includes/settings/wcj-settings-payment-gateways-by-shipping.php:21
|
3765 |
msgid "Payment Gateways"
|
3766 |
msgstr ""
|
3767 |
|
3768 |
+
#: includes/admin/wcj-modules-cats.php:113
|
3769 |
msgid ""
|
3770 |
"Custom Payment Gateways, Gateways Currency, Gateways Fees and Discounts and "
|
3771 |
"more."
|
3772 |
msgstr ""
|
3773 |
|
3774 |
+
#: includes/admin/wcj-modules-cats.php:129
|
3775 |
msgid "Shipping & Orders"
|
3776 |
msgstr ""
|
3777 |
|
3778 |
+
#: includes/admin/wcj-modules-cats.php:130
|
3779 |
msgid ""
|
3780 |
"Order Custom Statuses, Order Minimum Amount, Order Numbers, Custom Shipping "
|
3781 |
"Methods and more."
|
3782 |
msgstr ""
|
3783 |
|
3784 |
+
#: includes/admin/wcj-modules-cats.php:150
|
3785 |
msgid "PDF Invoicing & Packing Slips"
|
3786 |
msgstr ""
|
3787 |
|
3788 |
+
#: includes/admin/wcj-modules-cats.php:151
|
3789 |
msgid "PDF Documents"
|
3790 |
msgstr ""
|
3791 |
|
3792 |
+
#: includes/admin/wcj-modules-cats.php:167
|
3793 |
msgid "Emails & Misc."
|
3794 |
msgstr ""
|
3795 |
|
3796 |
+
#: includes/admin/wcj-modules-cats.php:168
|
3797 |
msgid "Emails, Reports, Export, Admin Tools, General Options and more."
|
3798 |
msgstr ""
|
3799 |
|
3811 |
msgid "Selected: %s."
|
3812 |
msgstr ""
|
3813 |
|
3814 |
+
#: includes/classes/class-wcj-module.php:465
|
3815 |
msgid "Back to Module Settings"
|
3816 |
msgstr ""
|
3817 |
|
3818 |
+
#: includes/classes/class-wcj-module.php:483
|
3819 |
#: includes/settings/wcj-settings-wpml.php:20
|
3820 |
msgid "Module Tools"
|
3821 |
msgstr ""
|
3822 |
|
3823 |
+
#: includes/classes/class-wcj-module.php:556
|
3824 |
#: includes/settings/wcj-settings-checkout-core-fields.php:54
|
3825 |
msgid "enabled"
|
3826 |
msgstr ""
|
3827 |
|
3828 |
+
#: includes/classes/class-wcj-module.php:557
|
3829 |
msgid "disabled"
|
3830 |
msgstr ""
|
3831 |
|
3832 |
+
#: includes/classes/class-wcj-module.php:565
|
3833 |
#: includes/settings/wcj-settings-product-tabs.php:152
|
3834 |
#: includes/settings/wcj-settings-product-tabs.php:164
|
3835 |
#: includes/settings/wcj-settings-product-tabs.php:176
|
3837 |
msgid "Deprecated"
|
3838 |
msgstr ""
|
3839 |
|
3840 |
+
#: includes/classes/class-wcj-module.php:603
|
3841 |
msgid "Reset Settings"
|
3842 |
msgstr ""
|
3843 |
|
3844 |
+
#: includes/classes/class-wcj-module.php:609
|
3845 |
msgid "Reset Module to Default Settings"
|
3846 |
msgstr ""
|
3847 |
|
3848 |
+
#: includes/classes/class-wcj-module.php:610
|
3849 |
msgid "Reset Submodule to Default Settings"
|
3850 |
msgstr ""
|
3851 |
|
3852 |
+
#: includes/classes/class-wcj-module.php:614
|
3853 |
msgid "Reset settings"
|
3854 |
msgstr ""
|
3855 |
|
3856 |
+
#: includes/classes/class-wcj-module.php:648
|
3857 |
msgid "Module Options"
|
3858 |
msgstr ""
|
3859 |
|
3860 |
+
#: includes/classes/class-wcj-module.php:655
|
3861 |
msgid "Enable Module"
|
3862 |
msgstr ""
|
3863 |
|
3867 |
msgstr ""
|
3868 |
|
3869 |
#: includes/classes/class-wcj-shortcodes.php:107
|
3870 |
+
#: includes/shortcodes/class-wcj-shortcodes-general.php:331
|
3871 |
#, php-format
|
3872 |
msgid "\"%s\" module is not enabled!"
|
3873 |
msgstr ""
|
3877 |
msgid "Page %page_number% / %total_pages%"
|
3878 |
msgstr ""
|
3879 |
|
3880 |
+
#: includes/core/class-wcj-admin.php:65
|
3881 |
+
msgid "Please update <strong>Booster Plus for WooCommerce</strong> plugin."
|
3882 |
+
msgstr ""
|
3883 |
+
|
3884 |
+
#: includes/core/class-wcj-admin.php:67
|
3885 |
#, php-format
|
3886 |
msgid ""
|
3887 |
+
"Visit <a target=\"_blank\" href=\"%s\">your account page</a> on booster.io "
|
3888 |
+
"to download the latest Booster Plus version."
|
|
|
3889 |
msgstr ""
|
3890 |
|
3891 |
+
#: includes/core/class-wcj-admin.php:71
|
3892 |
#, php-format
|
3893 |
+
msgid "Click <a target=\"_blank\" href=\"%s\">here</a> for more info."
|
|
|
|
|
|
|
|
|
3894 |
msgstr ""
|
3895 |
|
3896 |
+
#: includes/core/class-wcj-admin.php:89
|
3897 |
#, php-format
|
3898 |
msgid ""
|
3899 |
"If you like <strong>Booster for WooCommerce</strong> please leave us a %s "
|
3900 |
"rating. Thank you, we couldn't have done it without you!"
|
3901 |
msgstr ""
|
3902 |
|
3903 |
+
#: includes/core/class-wcj-admin.php:106
|
3904 |
msgid "Booster Settings"
|
3905 |
msgstr ""
|
3906 |
|
3907 |
+
#: includes/core/class-wcj-admin.php:122
|
3908 |
msgid "Docs"
|
3909 |
msgstr ""
|
3910 |
|
3911 |
+
#: includes/core/class-wcj-admin.php:125
|
3912 |
msgid "Unlock all"
|
3913 |
msgstr ""
|
3914 |
|
4068 |
|
4069 |
#: includes/exchange-rates/class-wcj-exchange-rates-crons.php:22
|
4070 |
#: includes/settings/wcj-settings-currency-exchange-rates.php:38
|
4071 |
+
#: includes/settings/wcj-settings-products-xml.php:129
|
4072 |
msgid "Update Every Minute"
|
4073 |
msgstr ""
|
4074 |
|
4075 |
#: includes/exchange-rates/class-wcj-exchange-rates-crons.php:23
|
4076 |
#: includes/settings/wcj-settings-currency-exchange-rates.php:39
|
4077 |
+
#: includes/settings/wcj-settings-products-xml.php:130
|
4078 |
msgid "Update Hourly"
|
4079 |
msgstr ""
|
4080 |
|
4081 |
#: includes/exchange-rates/class-wcj-exchange-rates-crons.php:24
|
4082 |
#: includes/settings/wcj-settings-currency-exchange-rates.php:40
|
4083 |
+
#: includes/settings/wcj-settings-products-xml.php:131
|
4084 |
msgid "Update Twice Daily"
|
4085 |
msgstr ""
|
4086 |
|
4087 |
#: includes/exchange-rates/class-wcj-exchange-rates-crons.php:25
|
4088 |
#: includes/settings/wcj-settings-currency-exchange-rates.php:41
|
4089 |
+
#: includes/settings/wcj-settings-products-xml.php:132
|
4090 |
msgid "Update Daily"
|
4091 |
msgstr ""
|
4092 |
|
4093 |
#: includes/exchange-rates/class-wcj-exchange-rates-crons.php:26
|
4094 |
#: includes/settings/wcj-settings-currency-exchange-rates.php:42
|
4095 |
+
#: includes/settings/wcj-settings-products-xml.php:133
|
4096 |
msgid "Update Weekly"
|
4097 |
msgstr ""
|
4098 |
|
4199 |
msgstr ""
|
4200 |
|
4201 |
#: includes/export/class-wcj-fields-helper.php:81
|
4202 |
+
#: includes/reports/wcj-class-reports-customers.php:95
|
4203 |
msgid "Registered"
|
4204 |
msgstr ""
|
4205 |
|
4209 |
|
4210 |
#: includes/export/class-wcj-fields-helper.php:110
|
4211 |
#: includes/export/class-wcj-fields-helper.php:193
|
4212 |
+
#: includes/pdf-invoices/submodules/class-wcj-pdf-invoicing-advanced.php:40
|
4213 |
+
#: includes/pdf-invoices/submodules/class-wcj-pdf-invoicing-advanced.php:64
|
4214 |
+
#: includes/settings/wcj-settings-order-numbers.php:27
|
4215 |
msgid "Order ID"
|
4216 |
msgstr ""
|
4217 |
|
4242 |
|
4243 |
#: includes/export/class-wcj-fields-helper.php:116
|
4244 |
#: includes/export/class-wcj-fields-helper.php:201
|
4245 |
+
#: includes/pdf-invoices/submodules/class-wcj-pdf-invoicing-advanced.php:47
|
4246 |
+
#: includes/pdf-invoices/submodules/class-wcj-pdf-invoicing-advanced.php:77
|
4247 |
#: includes/settings/meta-box/wcj-settings-meta-box-orders.php:19
|
4248 |
msgid "Order Currency"
|
4249 |
msgstr ""
|
4250 |
|
4251 |
#: includes/export/class-wcj-fields-helper.php:117
|
4252 |
#: includes/export/class-wcj-fields-helper.php:202
|
4253 |
+
#: includes/pdf-invoices/submodules/class-wcj-pdf-invoicing-advanced.php:46
|
4254 |
+
#: includes/pdf-invoices/submodules/class-wcj-pdf-invoicing-advanced.php:76
|
4255 |
msgid "Order Total"
|
4256 |
msgstr ""
|
4257 |
|
4393 |
msgstr ""
|
4394 |
|
4395 |
#: includes/export/class-wcj-fields-helper.php:286
|
4396 |
+
#: includes/price-by-country/class-wcj-price-by-country-local.php:128
|
4397 |
#: includes/settings/wcj-settings-product-by-user.php:16
|
4398 |
#: includes/settings/meta-box/wcj-settings-meta-box-multicurrency.php:37
|
4399 |
#: includes/settings/meta-box/wcj-settings-meta-box-price-by-user-role.php:55
|
4403 |
msgstr ""
|
4404 |
|
4405 |
#: includes/export/class-wcj-fields-helper.php:287
|
4406 |
+
#: includes/price-by-country/class-wcj-price-by-country-local.php:135
|
4407 |
#: includes/settings/wcj-settings-product-by-user.php:17
|
4408 |
#: includes/settings/meta-box/wcj-settings-meta-box-multicurrency.php:46
|
4409 |
#: includes/settings/meta-box/wcj-settings-meta-box-price-by-user-role.php:64
|
4419 |
#: includes/settings/wcj-settings-export.php:149
|
4420 |
#: includes/settings/wcj-settings-export.php:231
|
4421 |
#: includes/settings/wcj-settings-global-discount.php:58
|
4422 |
+
#: includes/settings/wcj-settings-product-addons.php:81
|
4423 |
#: includes/settings/wcj-settings-purchase-data.php:73
|
4424 |
#: includes/settings/wcj-settings-shipping-options.php:77
|
4425 |
#: includes/settings/meta-box/wcj-settings-meta-box-product-addons.php:45
|
4547 |
msgid "Availability Class"
|
4548 |
msgstr ""
|
4549 |
|
4550 |
+
#: includes/functions/wcj-functions-admin.php:100
|
4551 |
#, php-format
|
4552 |
msgid ""
|
4553 |
"<strong>Booster for WooCommerce</strong> plugin was successfully updated to "
|
4554 |
"version <strong>%s</strong>."
|
4555 |
msgstr ""
|
4556 |
|
4557 |
+
#: includes/functions/wcj-functions-admin.php:123
|
4558 |
msgid "Enter comma separated list of IDs."
|
4559 |
msgstr ""
|
4560 |
|
4561 |
+
#: includes/functions/wcj-functions-admin.php:197
|
4562 |
#: includes/settings/wcj-settings-emails-verification.php:59
|
4563 |
#: includes/settings/wcj-settings-emails-verification.php:67
|
4564 |
#: includes/settings/wcj-settings-emails-verification.php:107
|
4566 |
msgid "Replaced value: %s"
|
4567 |
msgstr ""
|
4568 |
|
4569 |
+
#: includes/functions/wcj-functions-admin.php:197
|
4570 |
#, php-format
|
4571 |
msgid "Replaced values: %s"
|
4572 |
msgstr ""
|
4573 |
|
4574 |
+
#: includes/functions/wcj-functions-admin.php:226
|
4575 |
msgid "Install Booster Plus to unlock all features"
|
4576 |
msgstr ""
|
4577 |
|
4578 |
+
#: includes/functions/wcj-functions-admin.php:227
|
4579 |
#, php-format
|
4580 |
msgid ""
|
4581 |
"Some settings fields are locked and you will need %s to modify all locked "
|
4582 |
"fields."
|
4583 |
msgstr ""
|
4584 |
|
4585 |
+
#: includes/functions/wcj-functions-admin.php:228
|
4586 |
msgid "Buy now"
|
4587 |
msgstr ""
|
4588 |
|
4589 |
+
#: includes/functions/wcj-functions-admin.php:228
|
4590 |
msgid "Visit Booster Site"
|
4591 |
msgstr ""
|
4592 |
|
4593 |
+
#: includes/functions/wcj-functions-admin.php:232
|
4594 |
#, php-format
|
4595 |
msgid "Get <a href=\"%s\" target=\"_blank\">Booster Plus</a> to change value."
|
4596 |
msgstr ""
|
4597 |
|
4598 |
+
#: includes/functions/wcj-functions-admin.php:235
|
4599 |
#, php-format
|
4600 |
msgid ""
|
4601 |
"Get <a href=\"%s\" target=\"_blank\">Booster Plus</a> to enable \"%s\" "
|
4602 |
"option."
|
4603 |
msgstr ""
|
4604 |
|
4605 |
+
#: includes/functions/wcj-functions-admin.php:238
|
4606 |
#, php-format
|
4607 |
msgid "Get Booster Plus to enable \"%s\" option."
|
4608 |
msgstr ""
|
4609 |
|
4610 |
+
#: includes/functions/wcj-functions-admin.php:241
|
4611 |
#, php-format
|
4612 |
msgid ""
|
4613 |
"Get <a href=\"%s\" target=\"_blank\">Booster Plus</a> to change values below."
|
4614 |
msgstr ""
|
4615 |
|
4616 |
+
#: includes/functions/wcj-functions-admin.php:244
|
4617 |
#, php-format
|
4618 |
msgid ""
|
4619 |
"Get <a href=\"%s\" target=\"_blank\">Booster Plus</a> to change values above."
|
4620 |
msgstr ""
|
4621 |
|
4622 |
+
#: includes/functions/wcj-functions-admin.php:247
|
4623 |
msgid "Get Booster Plus to change value."
|
4624 |
msgstr ""
|
4625 |
|
5677 |
msgid "Once a minute"
|
5678 |
msgstr ""
|
5679 |
|
5680 |
+
#: includes/functions/wcj-functions-currencies.php:17
|
5681 |
msgid "United Arab Emirates Dirham"
|
5682 |
msgstr ""
|
5683 |
|
5684 |
+
#: includes/functions/wcj-functions-currencies.php:18
|
5685 |
msgid "Afghan afghani"
|
5686 |
msgstr ""
|
5687 |
|
5688 |
+
#: includes/functions/wcj-functions-currencies.php:19
|
5689 |
msgid "Albanian lek"
|
5690 |
msgstr ""
|
5691 |
|
5692 |
+
#: includes/functions/wcj-functions-currencies.php:20
|
5693 |
msgid "Armenian dram"
|
5694 |
msgstr ""
|
5695 |
|
5696 |
+
#: includes/functions/wcj-functions-currencies.php:21
|
5697 |
msgid "Netherlands Antillean gulden"
|
5698 |
msgstr ""
|
5699 |
|
5700 |
+
#: includes/functions/wcj-functions-currencies.php:22
|
5701 |
msgid "Angolan kwanza"
|
5702 |
msgstr ""
|
5703 |
|
5704 |
+
#: includes/functions/wcj-functions-currencies.php:23
|
5705 |
msgid "Argentine Peso"
|
5706 |
msgstr ""
|
5707 |
|
5708 |
+
#: includes/functions/wcj-functions-currencies.php:24
|
5709 |
msgid "Australian Dollars"
|
5710 |
msgstr ""
|
5711 |
|
5712 |
+
#: includes/functions/wcj-functions-currencies.php:25
|
5713 |
msgid "Aruban florin"
|
5714 |
msgstr ""
|
5715 |
|
5716 |
+
#: includes/functions/wcj-functions-currencies.php:26
|
5717 |
msgid "Azerbaijani manat"
|
5718 |
msgstr ""
|
5719 |
|
5720 |
+
#: includes/functions/wcj-functions-currencies.php:27
|
5721 |
msgid "Bosnia and Herzegovina konvertibilna marka"
|
5722 |
msgstr ""
|
5723 |
|
5724 |
+
#: includes/functions/wcj-functions-currencies.php:28
|
5725 |
msgid "Barbadian dollar"
|
5726 |
msgstr ""
|
5727 |
|
5728 |
+
#: includes/functions/wcj-functions-currencies.php:29
|
5729 |
msgid "Bangladeshi Taka"
|
5730 |
msgstr ""
|
5731 |
|
5732 |
+
#: includes/functions/wcj-functions-currencies.php:30
|
5733 |
msgid "Bulgarian Lev"
|
5734 |
msgstr ""
|
5735 |
|
5736 |
+
#: includes/functions/wcj-functions-currencies.php:31
|
5737 |
msgid "Bahraini dinar"
|
5738 |
msgstr ""
|
5739 |
|
5740 |
+
#: includes/functions/wcj-functions-currencies.php:32
|
5741 |
msgid "Burundi franc"
|
5742 |
msgstr ""
|
5743 |
|
5744 |
+
#: includes/functions/wcj-functions-currencies.php:33
|
5745 |
msgid "Belarusian ruble"
|
5746 |
msgstr ""
|
5747 |
|
5748 |
+
#: includes/functions/wcj-functions-currencies.php:34
|
5749 |
msgid "Brunei dollar"
|
5750 |
msgstr ""
|
5751 |
|
5752 |
+
#: includes/functions/wcj-functions-currencies.php:35
|
5753 |
msgid "Bolivian boliviano"
|
5754 |
msgstr ""
|
5755 |
|
5756 |
+
#: includes/functions/wcj-functions-currencies.php:36
|
5757 |
msgid "Brazilian Real"
|
5758 |
msgstr ""
|
5759 |
|
5760 |
+
#: includes/functions/wcj-functions-currencies.php:37
|
5761 |
msgid "Bahamian dollar"
|
5762 |
msgstr ""
|
5763 |
|
5764 |
+
#: includes/functions/wcj-functions-currencies.php:38
|
5765 |
msgid "Bhutanese ngultrum"
|
5766 |
msgstr ""
|
5767 |
|
5768 |
+
#: includes/functions/wcj-functions-currencies.php:39
|
5769 |
msgid "Botswana pula"
|
5770 |
msgstr ""
|
5771 |
|
5772 |
+
#: includes/functions/wcj-functions-currencies.php:40
|
5773 |
msgid "Belize dollar"
|
5774 |
msgstr ""
|
5775 |
|
5776 |
+
#: includes/functions/wcj-functions-currencies.php:41
|
5777 |
msgid "Canadian Dollars"
|
5778 |
msgstr ""
|
5779 |
|
5780 |
+
#: includes/functions/wcj-functions-currencies.php:42
|
5781 |
msgid "Congolese franc"
|
5782 |
msgstr ""
|
5783 |
|
5784 |
+
#: includes/functions/wcj-functions-currencies.php:43
|
5785 |
msgid "Swiss Franc"
|
5786 |
msgstr ""
|
5787 |
|
5788 |
+
#: includes/functions/wcj-functions-currencies.php:44
|
5789 |
msgid "Chilean Peso"
|
5790 |
msgstr ""
|
5791 |
|
5792 |
+
#: includes/functions/wcj-functions-currencies.php:45
|
5793 |
msgid "Chinese Yuan"
|
5794 |
msgstr ""
|
5795 |
|
5796 |
+
#: includes/functions/wcj-functions-currencies.php:46
|
5797 |
msgid "Colombian Peso"
|
5798 |
msgstr ""
|
5799 |
|
5800 |
+
#: includes/functions/wcj-functions-currencies.php:47
|
5801 |
msgid "Costa Rican colon"
|
5802 |
msgstr ""
|
5803 |
|
5804 |
+
#: includes/functions/wcj-functions-currencies.php:48
|
5805 |
msgid "Cuban peso"
|
5806 |
msgstr ""
|
5807 |
|
5808 |
+
#: includes/functions/wcj-functions-currencies.php:49
|
5809 |
msgid "Cape Verdean escudo"
|
5810 |
msgstr ""
|
5811 |
|
5812 |
+
#: includes/functions/wcj-functions-currencies.php:50
|
5813 |
msgid "Czech Koruna"
|
5814 |
msgstr ""
|
5815 |
|
5816 |
+
#: includes/functions/wcj-functions-currencies.php:51
|
5817 |
msgid "Djiboutian franc"
|
5818 |
msgstr ""
|
5819 |
|
5820 |
+
#: includes/functions/wcj-functions-currencies.php:52
|
5821 |
msgid "Danish Krone"
|
5822 |
msgstr ""
|
5823 |
|
5824 |
+
#: includes/functions/wcj-functions-currencies.php:53
|
5825 |
msgid "Dominican Peso"
|
5826 |
msgstr ""
|
5827 |
|
5828 |
+
#: includes/functions/wcj-functions-currencies.php:54
|
5829 |
msgid "Algerian dinar"
|
5830 |
msgstr ""
|
5831 |
|
5832 |
+
#: includes/functions/wcj-functions-currencies.php:55
|
5833 |
msgid "Estonian kroon"
|
5834 |
msgstr ""
|
5835 |
|
5836 |
+
#: includes/functions/wcj-functions-currencies.php:56
|
5837 |
msgid "Egyptian Pound"
|
5838 |
msgstr ""
|
5839 |
|
5840 |
+
#: includes/functions/wcj-functions-currencies.php:57
|
5841 |
msgid "Eritrean nakfa"
|
5842 |
msgstr ""
|
5843 |
|
5844 |
+
#: includes/functions/wcj-functions-currencies.php:58
|
5845 |
msgid "Ethiopian birr"
|
5846 |
msgstr ""
|
5847 |
|
5848 |
+
#: includes/functions/wcj-functions-currencies.php:59
|
5849 |
msgid "Euros"
|
5850 |
msgstr ""
|
5851 |
|
5852 |
+
#: includes/functions/wcj-functions-currencies.php:60
|
5853 |
msgid "Fijian dollar"
|
5854 |
msgstr ""
|
5855 |
|
5856 |
+
#: includes/functions/wcj-functions-currencies.php:61
|
5857 |
msgid "Falkland Islands pound"
|
5858 |
msgstr ""
|
5859 |
|
5860 |
+
#: includes/functions/wcj-functions-currencies.php:62
|
5861 |
msgid "Pounds Sterling"
|
5862 |
msgstr ""
|
5863 |
|
5864 |
+
#: includes/functions/wcj-functions-currencies.php:63
|
5865 |
msgid "Georgian lari"
|
5866 |
msgstr ""
|
5867 |
|
5868 |
+
#: includes/functions/wcj-functions-currencies.php:64
|
5869 |
msgid "Ghanaian cedi"
|
5870 |
msgstr ""
|
5871 |
|
5872 |
+
#: includes/functions/wcj-functions-currencies.php:65
|
5873 |
msgid "Gibraltar pound"
|
5874 |
msgstr ""
|
5875 |
|
5876 |
+
#: includes/functions/wcj-functions-currencies.php:66
|
5877 |
msgid "Guyanese dollar"
|
5878 |
msgstr ""
|
5879 |
|
5880 |
+
#: includes/functions/wcj-functions-currencies.php:67
|
5881 |
msgid "Gambian dalasi"
|
5882 |
msgstr ""
|
5883 |
|
5884 |
+
#: includes/functions/wcj-functions-currencies.php:68
|
5885 |
msgid "Guinean franc"
|
5886 |
msgstr ""
|
5887 |
|
5888 |
+
#: includes/functions/wcj-functions-currencies.php:69
|
5889 |
+
#: includes/functions/wcj-functions-currencies.php:172
|
5890 |
msgid "Central African CFA franc"
|
5891 |
msgstr ""
|
5892 |
|
5893 |
+
#: includes/functions/wcj-functions-currencies.php:70
|
5894 |
msgid "Guatemalan quetzal"
|
5895 |
msgstr ""
|
5896 |
|
5897 |
+
#: includes/functions/wcj-functions-currencies.php:71
|
5898 |
msgid "Hong Kong Dollar"
|
5899 |
msgstr ""
|
5900 |
|
5901 |
+
#: includes/functions/wcj-functions-currencies.php:72
|
5902 |
msgid "Honduran lempira"
|
5903 |
msgstr ""
|
5904 |
|
5905 |
+
#: includes/functions/wcj-functions-currencies.php:73
|
5906 |
msgid "Croatia kuna"
|
5907 |
msgstr ""
|
5908 |
|
5909 |
+
#: includes/functions/wcj-functions-currencies.php:74
|
5910 |
msgid "Haitian gourde"
|
5911 |
msgstr ""
|
5912 |
|
5913 |
+
#: includes/functions/wcj-functions-currencies.php:75
|
5914 |
msgid "Hungarian Forint"
|
5915 |
msgstr ""
|
5916 |
|
5917 |
+
#: includes/functions/wcj-functions-currencies.php:76
|
5918 |
msgid "Indonesia Rupiah"
|
5919 |
msgstr ""
|
5920 |
|
5921 |
+
#: includes/functions/wcj-functions-currencies.php:77
|
5922 |
msgid "Israeli Shekel"
|
5923 |
msgstr ""
|
5924 |
|
5925 |
+
#: includes/functions/wcj-functions-currencies.php:78
|
5926 |
msgid "Indian Rupee"
|
5927 |
msgstr ""
|
5928 |
|
5929 |
+
#: includes/functions/wcj-functions-currencies.php:79
|
5930 |
msgid "Iraqi dinar"
|
5931 |
msgstr ""
|
5932 |
|
5933 |
+
#: includes/functions/wcj-functions-currencies.php:80
|
5934 |
msgid "Iranian rial"
|
5935 |
msgstr ""
|
5936 |
|
5937 |
+
#: includes/functions/wcj-functions-currencies.php:81
|
5938 |
msgid "Icelandic krona"
|
5939 |
msgstr ""
|
5940 |
|
5941 |
+
#: includes/functions/wcj-functions-currencies.php:82
|
5942 |
msgid "Yemeni rial"
|
5943 |
msgstr ""
|
5944 |
|
5945 |
+
#: includes/functions/wcj-functions-currencies.php:83
|
5946 |
msgid "Jamaican dollar"
|
5947 |
msgstr ""
|
5948 |
|
5949 |
+
#: includes/functions/wcj-functions-currencies.php:84
|
5950 |
msgid "Jordanian dinar"
|
5951 |
msgstr ""
|
5952 |
|
5953 |
+
#: includes/functions/wcj-functions-currencies.php:85
|
5954 |
msgid "Japanese Yen"
|
5955 |
msgstr ""
|
5956 |
|
5957 |
+
#: includes/functions/wcj-functions-currencies.php:86
|
5958 |
msgid "Kenyan shilling"
|
5959 |
msgstr ""
|
5960 |
|
5961 |
+
#: includes/functions/wcj-functions-currencies.php:87
|
5962 |
msgid "Kyrgyzstani som"
|
5963 |
msgstr ""
|
5964 |
|
5965 |
+
#: includes/functions/wcj-functions-currencies.php:88
|
5966 |
msgid "Cambodian riel"
|
5967 |
msgstr ""
|
5968 |
|
5969 |
+
#: includes/functions/wcj-functions-currencies.php:89
|
5970 |
msgid "Lao kip"
|
5971 |
msgstr ""
|
5972 |
|
5973 |
+
#: includes/functions/wcj-functions-currencies.php:90
|
5974 |
msgid "Cayman Islands dollar"
|
5975 |
msgstr ""
|
5976 |
|
5977 |
+
#: includes/functions/wcj-functions-currencies.php:91
|
5978 |
msgid "Comorian franc"
|
5979 |
msgstr ""
|
5980 |
|
5981 |
+
#: includes/functions/wcj-functions-currencies.php:92
|
5982 |
msgid "North Korean won"
|
5983 |
msgstr ""
|
5984 |
|
5985 |
+
#: includes/functions/wcj-functions-currencies.php:93
|
5986 |
msgid "South Korean Won"
|
5987 |
msgstr ""
|
5988 |
|
5989 |
+
#: includes/functions/wcj-functions-currencies.php:94
|
5990 |
msgid "Kuwaiti dinar"
|
5991 |
msgstr ""
|
5992 |
|
5993 |
+
#: includes/functions/wcj-functions-currencies.php:95
|
5994 |
msgid "Kazakhstani tenge"
|
5995 |
msgstr ""
|
5996 |
|
5997 |
+
#: includes/functions/wcj-functions-currencies.php:96
|
5998 |
msgid "Lao Kip"
|
5999 |
msgstr ""
|
6000 |
|
6001 |
+
#: includes/functions/wcj-functions-currencies.php:97
|
6002 |
msgid "Lebanese lira"
|
6003 |
msgstr ""
|
6004 |
|
6005 |
+
#: includes/functions/wcj-functions-currencies.php:98
|
6006 |
msgid "Libyan dinar"
|
6007 |
msgstr ""
|
6008 |
|
6009 |
+
#: includes/functions/wcj-functions-currencies.php:99
|
6010 |
msgid "Sri Lankan rupee"
|
6011 |
msgstr ""
|
6012 |
|
6013 |
+
#: includes/functions/wcj-functions-currencies.php:100
|
6014 |
msgid "Liberian dollar"
|
6015 |
msgstr ""
|
6016 |
|
6017 |
+
#: includes/functions/wcj-functions-currencies.php:101
|
6018 |
msgid "Lesotho loti"
|
6019 |
msgstr ""
|
6020 |
|
6021 |
+
#: includes/functions/wcj-functions-currencies.php:102
|
6022 |
msgid "Lithuanian litas"
|
6023 |
msgstr ""
|
6024 |
|
6025 |
+
#: includes/functions/wcj-functions-currencies.php:103
|
6026 |
msgid "Latvian lats"
|
6027 |
msgstr ""
|
6028 |
|
6029 |
+
#: includes/functions/wcj-functions-currencies.php:104
|
6030 |
msgid "Moroccan dirham"
|
6031 |
msgstr ""
|
6032 |
|
6033 |
+
#: includes/functions/wcj-functions-currencies.php:105
|
6034 |
msgid "Moldovan leu"
|
6035 |
msgstr ""
|
6036 |
|
6037 |
+
#: includes/functions/wcj-functions-currencies.php:106
|
6038 |
msgid "Malagasy ariary"
|
6039 |
msgstr ""
|
6040 |
|
6041 |
+
#: includes/functions/wcj-functions-currencies.php:107
|
6042 |
msgid "Malaysian ringgit"
|
6043 |
msgstr ""
|
6044 |
|
6045 |
+
#: includes/functions/wcj-functions-currencies.php:108
|
6046 |
msgid "Macedonian denar"
|
6047 |
msgstr ""
|
6048 |
|
6049 |
+
#: includes/functions/wcj-functions-currencies.php:109
|
6050 |
msgid "Myanma kyat"
|
6051 |
msgstr ""
|
6052 |
|
6053 |
+
#: includes/functions/wcj-functions-currencies.php:110
|
6054 |
msgid "Mongolian tugrik"
|
6055 |
msgstr ""
|
6056 |
|
6057 |
+
#: includes/functions/wcj-functions-currencies.php:111
|
6058 |
msgid "Macanese pataca"
|
6059 |
msgstr ""
|
6060 |
|
6061 |
+
#: includes/functions/wcj-functions-currencies.php:112
|
6062 |
msgid "Mauritanian ouguiya"
|
6063 |
msgstr ""
|
6064 |
|
6065 |
+
#: includes/functions/wcj-functions-currencies.php:113
|
6066 |
msgid "Mauritian rupee"
|
6067 |
msgstr ""
|
6068 |
|
6069 |
+
#: includes/functions/wcj-functions-currencies.php:114
|
6070 |
msgid "Maldivian rufiyaa"
|
6071 |
msgstr ""
|
6072 |
|
6073 |
+
#: includes/functions/wcj-functions-currencies.php:115
|
6074 |
msgid "Malawian kwacha"
|
6075 |
msgstr ""
|
6076 |
|
6077 |
+
#: includes/functions/wcj-functions-currencies.php:116
|
6078 |
msgid "Mexican Peso"
|
6079 |
msgstr ""
|
6080 |
|
6081 |
+
#: includes/functions/wcj-functions-currencies.php:117
|
6082 |
msgid "Malaysian Ringgits"
|
6083 |
msgstr ""
|
6084 |
|
6085 |
+
#: includes/functions/wcj-functions-currencies.php:118
|
6086 |
msgid "Mozambican metical"
|
6087 |
msgstr ""
|
6088 |
|
6089 |
+
#: includes/functions/wcj-functions-currencies.php:119
|
6090 |
msgid "Namibian dollar"
|
6091 |
msgstr ""
|
6092 |
|
6093 |
+
#: includes/functions/wcj-functions-currencies.php:120
|
6094 |
msgid "Nigerian Naira"
|
6095 |
msgstr ""
|
6096 |
|
6097 |
+
#: includes/functions/wcj-functions-currencies.php:121
|
6098 |
msgid "Nicaraguan cordoba"
|
6099 |
msgstr ""
|
6100 |
|
6101 |
+
#: includes/functions/wcj-functions-currencies.php:122
|
6102 |
msgid "Norwegian Krone"
|
6103 |
msgstr ""
|
6104 |
|
6105 |
+
#: includes/functions/wcj-functions-currencies.php:123
|
6106 |
msgid "Nepali Rupee"
|
6107 |
msgstr ""
|
6108 |
|
6109 |
+
#: includes/functions/wcj-functions-currencies.php:124
|
6110 |
msgid "New Zealand Dollar"
|
6111 |
msgstr ""
|
6112 |
|
6113 |
+
#: includes/functions/wcj-functions-currencies.php:125
|
6114 |
msgid "Omani rial"
|
6115 |
msgstr ""
|
6116 |
|
6117 |
+
#: includes/functions/wcj-functions-currencies.php:126
|
6118 |
msgid "Panamanian balboa"
|
6119 |
msgstr ""
|
6120 |
|
6121 |
+
#: includes/functions/wcj-functions-currencies.php:127
|
6122 |
msgid "Peruvian nuevo sol"
|
6123 |
msgstr ""
|
6124 |
|
6125 |
+
#: includes/functions/wcj-functions-currencies.php:128
|
6126 |
msgid "Papua New Guinean kina"
|
6127 |
msgstr ""
|
6128 |
|
6129 |
+
#: includes/functions/wcj-functions-currencies.php:129
|
6130 |
msgid "Philippine Pesos"
|
6131 |
msgstr ""
|
6132 |
|
6133 |
+
#: includes/functions/wcj-functions-currencies.php:130
|
6134 |
msgid "Paraguayan guarani"
|
6135 |
msgstr ""
|
6136 |
|
6137 |
+
#: includes/functions/wcj-functions-currencies.php:131
|
6138 |
msgid "Pakistani Rupee"
|
6139 |
msgstr ""
|
6140 |
|
6141 |
+
#: includes/functions/wcj-functions-currencies.php:132
|
6142 |
msgid "Polish Zloty"
|
6143 |
msgstr ""
|
6144 |
|
6145 |
+
#: includes/functions/wcj-functions-currencies.php:133
|
6146 |
msgid "Paraguayan Guaran"
|
6147 |
msgstr ""
|
6148 |
|
6149 |
+
#: includes/functions/wcj-functions-currencies.php:134
|
6150 |
msgid "Qatari riyal"
|
6151 |
msgstr ""
|
6152 |
|
6153 |
+
#: includes/functions/wcj-functions-currencies.php:135
|
6154 |
msgid "Chinese renminbi"
|
6155 |
msgstr ""
|
6156 |
|
6157 |
+
#: includes/functions/wcj-functions-currencies.php:136
|
6158 |
msgid "Romanian Leu"
|
6159 |
msgstr ""
|
6160 |
|
6161 |
+
#: includes/functions/wcj-functions-currencies.php:137
|
6162 |
msgid "Serbian dinar"
|
6163 |
msgstr ""
|
6164 |
|
6165 |
+
#: includes/functions/wcj-functions-currencies.php:138
|
6166 |
msgid "Russian Ruble"
|
6167 |
msgstr ""
|
6168 |
|
6169 |
+
#: includes/functions/wcj-functions-currencies.php:139
|
6170 |
msgid "Rwandan franc"
|
6171 |
msgstr ""
|
6172 |
|
6173 |
+
#: includes/functions/wcj-functions-currencies.php:140
|
6174 |
msgid "Saudi Riyal"
|
6175 |
msgstr ""
|
6176 |
|
6177 |
+
#: includes/functions/wcj-functions-currencies.php:141
|
6178 |
msgid "Solomon Islands dollar"
|
6179 |
msgstr ""
|
6180 |
|
6181 |
+
#: includes/functions/wcj-functions-currencies.php:142
|
6182 |
msgid "Seychellois rupee"
|
6183 |
msgstr ""
|
6184 |
|
6185 |
+
#: includes/functions/wcj-functions-currencies.php:143
|
6186 |
msgid "Sudanese pound"
|
6187 |
msgstr ""
|
6188 |
|
6189 |
+
#: includes/functions/wcj-functions-currencies.php:144
|
6190 |
msgid "Swedish Krona"
|
6191 |
msgstr ""
|
6192 |
|
6193 |
+
#: includes/functions/wcj-functions-currencies.php:145
|
6194 |
msgid "Singapore Dollar"
|
6195 |
msgstr ""
|
6196 |
|
6197 |
+
#: includes/functions/wcj-functions-currencies.php:146
|
6198 |
msgid "Saint Helena pound"
|
6199 |
msgstr ""
|
6200 |
|
6201 |
+
#: includes/functions/wcj-functions-currencies.php:147
|
6202 |
msgid "Syrian pound"
|
6203 |
msgstr ""
|
6204 |
|
6205 |
+
#: includes/functions/wcj-functions-currencies.php:148
|
6206 |
msgid "Slovak koruna"
|
6207 |
msgstr ""
|
6208 |
|
6209 |
+
#: includes/functions/wcj-functions-currencies.php:149
|
6210 |
msgid "Sierra Leonean leone"
|
6211 |
msgstr ""
|
6212 |
|
6213 |
+
#: includes/functions/wcj-functions-currencies.php:150
|
6214 |
msgid "Somali shilling"
|
6215 |
msgstr ""
|
6216 |
|
6217 |
+
#: includes/functions/wcj-functions-currencies.php:151
|
6218 |
msgid "Surinamese dollar"
|
6219 |
msgstr ""
|
6220 |
|
6221 |
+
#: includes/functions/wcj-functions-currencies.php:152
|
6222 |
msgid "Sao Tome and Principe dobra"
|
6223 |
msgstr ""
|
6224 |
|
6225 |
+
#: includes/functions/wcj-functions-currencies.php:153
|
6226 |
msgid "Swazi lilangeni"
|
6227 |
msgstr ""
|
6228 |
|
6229 |
+
#: includes/functions/wcj-functions-currencies.php:154
|
6230 |
msgid "Thai Baht"
|
6231 |
msgstr ""
|
6232 |
|
6233 |
+
#: includes/functions/wcj-functions-currencies.php:155
|
6234 |
msgid "Tajikistani somoni"
|
6235 |
msgstr ""
|
6236 |
|
6237 |
+
#: includes/functions/wcj-functions-currencies.php:156
|
6238 |
msgid "Turkmen manat"
|
6239 |
msgstr ""
|
6240 |
|
6241 |
+
#: includes/functions/wcj-functions-currencies.php:157
|
6242 |
msgid "Tunisian dinar"
|
6243 |
msgstr ""
|
6244 |
|
6245 |
+
#: includes/functions/wcj-functions-currencies.php:158
|
6246 |
msgid "Paanga"
|
6247 |
msgstr ""
|
6248 |
|
6249 |
+
#: includes/functions/wcj-functions-currencies.php:159
|
6250 |
msgid "Turkish Lira"
|
6251 |
msgstr ""
|
6252 |
|
6253 |
+
#: includes/functions/wcj-functions-currencies.php:160
|
6254 |
msgid "Trinidad and Tobago dollar"
|
6255 |
msgstr ""
|
6256 |
|
6257 |
+
#: includes/functions/wcj-functions-currencies.php:161
|
6258 |
msgid "Taiwan New Dollars"
|
6259 |
msgstr ""
|
6260 |
|
6261 |
+
#: includes/functions/wcj-functions-currencies.php:162
|
6262 |
msgid "Tanzanian shilling"
|
6263 |
msgstr ""
|
6264 |
|
6265 |
+
#: includes/functions/wcj-functions-currencies.php:163
|
6266 |
msgid "Ukrainian Hryvnia"
|
6267 |
msgstr ""
|
6268 |
|
6269 |
+
#: includes/functions/wcj-functions-currencies.php:164
|
6270 |
msgid "Ugandan shilling"
|
6271 |
msgstr ""
|
6272 |
|
6273 |
+
#: includes/functions/wcj-functions-currencies.php:165
|
6274 |
msgid "Uruguayan peso"
|
6275 |
msgstr ""
|
6276 |
|
6277 |
+
#: includes/functions/wcj-functions-currencies.php:166
|
6278 |
msgid "US Dollars"
|
6279 |
msgstr ""
|
6280 |
|
6281 |
+
#: includes/functions/wcj-functions-currencies.php:167
|
6282 |
msgid "Uzbekistani som"
|
6283 |
msgstr ""
|
6284 |
|
6285 |
+
#: includes/functions/wcj-functions-currencies.php:168
|
6286 |
msgid "Venezuelan bolivar"
|
6287 |
msgstr ""
|
6288 |
|
6289 |
+
#: includes/functions/wcj-functions-currencies.php:169
|
6290 |
msgid "Vietnamese Dong"
|
6291 |
msgstr ""
|
6292 |
|
6293 |
+
#: includes/functions/wcj-functions-currencies.php:170
|
6294 |
msgid "Vanuatu vatu"
|
6295 |
msgstr ""
|
6296 |
|
6297 |
+
#: includes/functions/wcj-functions-currencies.php:171
|
6298 |
msgid "Samoan tala"
|
6299 |
msgstr ""
|
6300 |
|
6301 |
+
#: includes/functions/wcj-functions-currencies.php:173
|
6302 |
msgid "East Caribbean dollar"
|
6303 |
msgstr ""
|
6304 |
|
6305 |
+
#: includes/functions/wcj-functions-currencies.php:174
|
6306 |
msgid "Special Drawing Rights"
|
6307 |
msgstr ""
|
6308 |
|
6309 |
+
#: includes/functions/wcj-functions-currencies.php:175
|
6310 |
msgid "West African CFA franc"
|
6311 |
msgstr ""
|
6312 |
|
6313 |
+
#: includes/functions/wcj-functions-currencies.php:176
|
6314 |
msgid "CFP franc"
|
6315 |
msgstr ""
|
6316 |
|
6317 |
+
#: includes/functions/wcj-functions-currencies.php:177
|
6318 |
msgid "South African rand"
|
6319 |
msgstr ""
|
6320 |
|
6321 |
+
#: includes/functions/wcj-functions-currencies.php:178
|
6322 |
msgid "Zambian kwacha"
|
6323 |
msgstr ""
|
6324 |
|
6325 |
+
#: includes/functions/wcj-functions-currencies.php:179
|
6326 |
msgid "Zimbabwean dollar"
|
6327 |
msgstr ""
|
6328 |
|
6329 |
+
#: includes/functions/wcj-functions-currencies.php:181
|
6330 |
msgid "Auroracoin"
|
6331 |
msgstr ""
|
6332 |
|
6333 |
+
#: includes/functions/wcj-functions-currencies.php:182
|
6334 |
msgid "BitConnect"
|
6335 |
msgstr ""
|
6336 |
|
6337 |
+
#: includes/functions/wcj-functions-currencies.php:183
|
6338 |
msgid "Bitcoin Cash"
|
6339 |
msgstr ""
|
6340 |
|
6341 |
+
#: includes/functions/wcj-functions-currencies.php:184
|
6342 |
msgid "Bitcoin"
|
6343 |
msgstr ""
|
6344 |
|
6345 |
+
#: includes/functions/wcj-functions-currencies.php:185
|
6346 |
msgid "Coinye"
|
6347 |
msgstr ""
|
6348 |
|
6349 |
+
#: includes/functions/wcj-functions-currencies.php:186
|
6350 |
msgid "DigitalNote"
|
6351 |
msgstr ""
|
6352 |
|
6353 |
+
#: includes/functions/wcj-functions-currencies.php:187
|
6354 |
msgid "Emercoin"
|
6355 |
msgstr ""
|
6356 |
|
6357 |
+
#: includes/functions/wcj-functions-currencies.php:188
|
6358 |
msgid "Ethereum Classic"
|
6359 |
msgstr ""
|
6360 |
|
6361 |
+
#: includes/functions/wcj-functions-currencies.php:189
|
6362 |
msgid "Ethereum"
|
6363 |
msgstr ""
|
6364 |
|
6365 |
+
#: includes/functions/wcj-functions-currencies.php:190
|
6366 |
msgid "Freemasoncoin"
|
6367 |
msgstr ""
|
6368 |
|
6369 |
+
#: includes/functions/wcj-functions-currencies.php:191
|
6370 |
msgid "Gridcoin"
|
6371 |
msgstr ""
|
6372 |
|
6373 |
+
#: includes/functions/wcj-functions-currencies.php:192
|
6374 |
msgid "IOTA"
|
6375 |
msgstr ""
|
6376 |
|
6377 |
+
#: includes/functions/wcj-functions-currencies.php:193
|
6378 |
msgid "Litecoin"
|
6379 |
msgstr ""
|
6380 |
|
6381 |
+
#: includes/functions/wcj-functions-currencies.php:194
|
6382 |
msgid "MazaCoin"
|
6383 |
msgstr ""
|
6384 |
|
6385 |
+
#: includes/functions/wcj-functions-currencies.php:195
|
6386 |
msgid "Monero"
|
6387 |
msgstr ""
|
6388 |
|
6389 |
+
#: includes/functions/wcj-functions-currencies.php:196
|
6390 |
msgid "Namecoin"
|
6391 |
msgstr ""
|
6392 |
|
6393 |
+
#: includes/functions/wcj-functions-currencies.php:197
|
6394 |
msgid "NEM"
|
6395 |
msgstr ""
|
6396 |
|
6397 |
+
#: includes/functions/wcj-functions-currencies.php:198
|
6398 |
msgid "Nxt"
|
6399 |
msgstr ""
|
6400 |
|
6401 |
+
#: includes/functions/wcj-functions-currencies.php:199
|
6402 |
msgid "Omni"
|
6403 |
msgstr ""
|
6404 |
|
6405 |
+
#: includes/functions/wcj-functions-currencies.php:200
|
6406 |
msgid "Peercoin"
|
6407 |
msgstr ""
|
6408 |
|
6409 |
+
#: includes/functions/wcj-functions-currencies.php:201
|
6410 |
msgid "PotCoin"
|
6411 |
msgstr ""
|
6412 |
|
6413 |
+
#: includes/functions/wcj-functions-currencies.php:202
|
6414 |
msgid "Primecoin"
|
6415 |
msgstr ""
|
6416 |
|
6417 |
+
#: includes/functions/wcj-functions-currencies.php:203
|
6418 |
msgid "Ripple"
|
6419 |
msgstr ""
|
6420 |
|
6421 |
+
#: includes/functions/wcj-functions-currencies.php:204
|
6422 |
msgid "SixEleven"
|
6423 |
msgstr ""
|
6424 |
|
6425 |
+
#: includes/functions/wcj-functions-currencies.php:205
|
6426 |
msgid "Synereo AMP"
|
6427 |
msgstr ""
|
6428 |
|
6429 |
+
#: includes/functions/wcj-functions-currencies.php:206
|
6430 |
msgid "Titcoin"
|
6431 |
msgstr ""
|
6432 |
|
6433 |
+
#: includes/functions/wcj-functions-currencies.php:207
|
6434 |
msgid "Ubiq"
|
6435 |
msgstr ""
|
6436 |
|
6437 |
+
#: includes/functions/wcj-functions-currencies.php:208
|
6438 |
msgid "Vertcoin"
|
6439 |
msgstr ""
|
6440 |
|
6441 |
+
#: includes/functions/wcj-functions-currencies.php:209
|
6442 |
msgid "Zcash"
|
6443 |
msgstr ""
|
6444 |
|
6445 |
+
#: includes/functions/wcj-functions-currencies.php:211
|
6446 |
msgid "myCred"
|
6447 |
msgstr ""
|
6448 |
|
6449 |
+
#: includes/functions/wcj-functions-exchange-rates.php:69
|
6450 |
msgid "Yahoo"
|
6451 |
msgstr ""
|
6452 |
|
6453 |
+
#: includes/functions/wcj-functions-exchange-rates.php:70
|
6454 |
msgid "European Central Bank (ECB)"
|
6455 |
msgstr ""
|
6456 |
|
6457 |
+
#: includes/functions/wcj-functions-exchange-rates.php:71
|
6458 |
msgid "TCMB"
|
6459 |
msgstr ""
|
6460 |
|
6461 |
+
#: includes/functions/wcj-functions-exchange-rates.php:72
|
6462 |
msgid "Fixer.io"
|
6463 |
msgstr ""
|
6464 |
|
6465 |
+
#: includes/functions/wcj-functions-exchange-rates.php:73
|
6466 |
msgid "Coinbase"
|
6467 |
msgstr ""
|
6468 |
|
6469 |
+
#: includes/functions/wcj-functions-exchange-rates.php:74
|
6470 |
msgid "CoinMarketCap"
|
6471 |
msgstr ""
|
6472 |
|
6473 |
+
#: includes/functions/wcj-functions-general.php:479
|
6474 |
+
#: includes/functions/wcj-functions-general.php:525
|
6475 |
+
#: includes/settings/wcj-settings-left-to-free-shipping.php:141
|
6476 |
msgid "You have Free delivery"
|
6477 |
msgstr ""
|
6478 |
|
6479 |
+
#: includes/functions/wcj-functions-general.php:546
|
6480 |
msgid "Before cart"
|
6481 |
msgstr ""
|
6482 |
|
6483 |
+
#: includes/functions/wcj-functions-general.php:547
|
6484 |
msgid "Before cart table"
|
6485 |
msgstr ""
|
6486 |
|
6487 |
+
#: includes/functions/wcj-functions-general.php:548
|
6488 |
msgid "Before cart contents"
|
6489 |
msgstr ""
|
6490 |
|
6491 |
+
#: includes/functions/wcj-functions-general.php:549
|
6492 |
msgid "Cart contents"
|
6493 |
msgstr ""
|
6494 |
|
6495 |
+
#: includes/functions/wcj-functions-general.php:550
|
6496 |
msgid "Cart coupon"
|
6497 |
msgstr ""
|
6498 |
|
6499 |
+
#: includes/functions/wcj-functions-general.php:551
|
6500 |
msgid "Cart actions"
|
6501 |
msgstr ""
|
6502 |
|
6503 |
+
#: includes/functions/wcj-functions-general.php:552
|
6504 |
msgid "After cart contents"
|
6505 |
msgstr ""
|
6506 |
|
6507 |
+
#: includes/functions/wcj-functions-general.php:553
|
6508 |
msgid "After cart table"
|
6509 |
msgstr ""
|
6510 |
|
6511 |
+
#: includes/functions/wcj-functions-general.php:554
|
6512 |
msgid "Cart collaterals"
|
6513 |
msgstr ""
|
6514 |
|
6515 |
+
#: includes/functions/wcj-functions-general.php:555
|
6516 |
msgid "After cart"
|
6517 |
msgstr ""
|
6518 |
|
6519 |
+
#: includes/functions/wcj-functions-general.php:557
|
6520 |
msgid "Before cart totals"
|
6521 |
msgstr ""
|
6522 |
|
6523 |
+
#: includes/functions/wcj-functions-general.php:558
|
6524 |
msgid "Cart totals: Before shipping"
|
6525 |
msgstr ""
|
6526 |
|
6527 |
+
#: includes/functions/wcj-functions-general.php:559
|
6528 |
msgid "Cart totals: After shipping"
|
6529 |
msgstr ""
|
6530 |
|
6531 |
+
#: includes/functions/wcj-functions-general.php:560
|
6532 |
msgid "Cart totals: Before order total"
|
6533 |
msgstr ""
|
6534 |
|
6535 |
+
#: includes/functions/wcj-functions-general.php:561
|
6536 |
msgid "Cart totals: After order total"
|
6537 |
msgstr ""
|
6538 |
|
6539 |
+
#: includes/functions/wcj-functions-general.php:562
|
6540 |
msgid "Proceed to checkout"
|
6541 |
msgstr ""
|
6542 |
|
6543 |
+
#: includes/functions/wcj-functions-general.php:563
|
6544 |
msgid "After cart totals"
|
6545 |
msgstr ""
|
6546 |
|
6547 |
+
#: includes/functions/wcj-functions-general.php:565
|
6548 |
msgid "Before shipping calculator"
|
6549 |
msgstr ""
|
6550 |
|
6551 |
+
#: includes/functions/wcj-functions-general.php:566
|
6552 |
msgid "After shipping calculator"
|
6553 |
msgstr ""
|
6554 |
|
6555 |
+
#: includes/functions/wcj-functions-general.php:568
|
6556 |
msgid "If cart is empty"
|
6557 |
msgstr ""
|
6558 |
|
6589 |
msgstr ""
|
6590 |
|
6591 |
#: includes/functions/wcj-functions-reports.php:27
|
6592 |
+
#: includes/settings/wcj-settings-product-addons.php:149
|
6593 |
+
#: includes/settings/meta-box/wcj-settings-meta-box-product-addons.php:108
|
6594 |
msgid "Quantity"
|
6595 |
msgstr ""
|
6596 |
|
6835 |
#: includes/settings/wcj-settings-export.php:220
|
6836 |
#: includes/settings/wcj-settings-global-discount.php:50
|
6837 |
#: includes/settings/wcj-settings-product-by-user.php:149
|
6838 |
+
#: includes/settings/wcj-settings-products-xml.php:72
|
6839 |
#: includes/settings/meta-box/wcj-settings-meta-box-price-by-user-role.php:37
|
6840 |
#: includes/settings/meta-box/wcj-settings-meta-box-product-addons.php:21
|
6841 |
#: includes/settings/meta-box/wcj-settings-meta-box-product-bookings.php:14
|
6854 |
#: includes/settings/wcj-settings-cart-customization.php:50
|
6855 |
#: includes/settings/wcj-settings-checkout-custom-fields.php:120
|
6856 |
#: includes/settings/wcj-settings-more-button-labels.php:19
|
6857 |
+
#: includes/settings/wcj-settings-product-addons.php:89
|
6858 |
#: includes/settings/meta-box/wcj-settings-meta-box-product-addons.php:53
|
6859 |
msgid "Text"
|
6860 |
msgstr ""
|
6871 |
|
6872 |
#: includes/input-fields/wcj-product-input-fields-options.php:35
|
6873 |
#: includes/settings/wcj-settings-checkout-custom-fields.php:123
|
6874 |
+
#: includes/settings/wcj-settings-product-addons.php:86
|
6875 |
#: includes/settings/meta-box/wcj-settings-meta-box-product-addons.php:50
|
6876 |
msgid "Checkbox"
|
6877 |
msgstr ""
|
6914 |
#: includes/input-fields/wcj-product-input-fields-options.php:57
|
6915 |
#: includes/settings/wcj-settings-checkout-custom-fields.php:150
|
6916 |
#: includes/settings/wcj-settings-eu-vat-number.php:27
|
6917 |
+
#: includes/settings/wcj-settings-product-addons.php:128
|
6918 |
#: includes/settings/meta-box/wcj-settings-meta-box-product-addons.php:91
|
6919 |
msgid "Placeholder"
|
6920 |
msgstr ""
|
7260 |
msgid "No documents (%s) found for %d-%02d."
|
7261 |
msgstr ""
|
7262 |
|
7263 |
+
#: includes/pdf-invoices/submodules/class-wcj-pdf-invoicing-advanced.php:25
|
7264 |
+
#: includes/settings/wcj-settings-order-min-amount.php:69
|
7265 |
+
#: includes/settings/wcj-settings-pdf-invoicing-advanced.php:60
|
7266 |
+
#: includes/settings/wcj-settings-pdf-invoicing-advanced.php:74
|
7267 |
+
msgid "Advanced"
|
7268 |
+
msgstr ""
|
7269 |
+
|
7270 |
+
#: includes/pdf-invoices/submodules/class-wcj-pdf-invoicing-advanced.php:38
|
7271 |
+
#: includes/pdf-invoices/submodules/class-wcj-pdf-invoicing-advanced.php:62
|
7272 |
msgid "Document Number"
|
7273 |
msgstr ""
|
7274 |
|
7275 |
+
#: includes/pdf-invoices/submodules/class-wcj-pdf-invoicing-advanced.php:39
|
7276 |
+
#: includes/pdf-invoices/submodules/class-wcj-pdf-invoicing-advanced.php:63
|
7277 |
msgid "Document Date"
|
7278 |
msgstr ""
|
7279 |
|
7280 |
+
#: includes/pdf-invoices/submodules/class-wcj-pdf-invoicing-advanced.php:41
|
7281 |
+
#: includes/pdf-invoices/submodules/class-wcj-pdf-invoicing-advanced.php:65
|
7282 |
msgid "Customer Country"
|
7283 |
msgstr ""
|
7284 |
|
7285 |
+
#: includes/pdf-invoices/submodules/class-wcj-pdf-invoicing-advanced.php:42
|
7286 |
+
#: includes/pdf-invoices/submodules/class-wcj-pdf-invoicing-advanced.php:66
|
7287 |
msgid "Customer VAT ID"
|
7288 |
msgstr ""
|
7289 |
|
7290 |
+
#: includes/pdf-invoices/submodules/class-wcj-pdf-invoicing-advanced.php:43
|
7291 |
+
#: includes/pdf-invoices/submodules/class-wcj-pdf-invoicing-advanced.php:67
|
7292 |
msgid "Tax %"
|
7293 |
msgstr ""
|
7294 |
|
7295 |
+
#: includes/pdf-invoices/submodules/class-wcj-pdf-invoicing-advanced.php:44
|
7296 |
+
#: includes/pdf-invoices/submodules/class-wcj-pdf-invoicing-advanced.php:68
|
7297 |
+
msgid "Order Total Excl. Tax"
|
7298 |
msgstr ""
|
7299 |
|
7300 |
+
#: includes/pdf-invoices/submodules/class-wcj-pdf-invoicing-advanced.php:45
|
7301 |
+
#: includes/pdf-invoices/submodules/class-wcj-pdf-invoicing-advanced.php:69
|
7302 |
msgid "Order Taxes"
|
7303 |
msgstr ""
|
7304 |
|
7305 |
+
#: includes/pdf-invoices/submodules/class-wcj-pdf-invoicing-advanced.php:48
|
7306 |
+
#: includes/pdf-invoices/submodules/class-wcj-pdf-invoicing-advanced.php:78
|
7307 |
msgid "Payment Gateway"
|
7308 |
msgstr ""
|
7309 |
|
7310 |
+
#: includes/pdf-invoices/submodules/class-wcj-pdf-invoicing-advanced.php:49
|
7311 |
+
#: includes/pdf-invoices/submodules/class-wcj-pdf-invoicing-advanced.php:79
|
7312 |
msgid "Refunds"
|
7313 |
msgstr ""
|
7314 |
|
7315 |
+
#: includes/pdf-invoices/submodules/class-wcj-pdf-invoicing-advanced.php:70
|
7316 |
+
msgid "Cart Total Excl. Tax"
|
7317 |
+
msgstr ""
|
7318 |
+
|
7319 |
+
#: includes/pdf-invoices/submodules/class-wcj-pdf-invoicing-advanced.php:71
|
7320 |
+
msgid "Cart Tax"
|
7321 |
+
msgstr ""
|
7322 |
+
|
7323 |
+
#: includes/pdf-invoices/submodules/class-wcj-pdf-invoicing-advanced.php:72
|
7324 |
+
msgid "Cart Tax %"
|
7325 |
+
msgstr ""
|
7326 |
+
|
7327 |
+
#: includes/pdf-invoices/submodules/class-wcj-pdf-invoicing-advanced.php:73
|
7328 |
+
msgid "Shipping Total Excl. Tax"
|
7329 |
+
msgstr ""
|
7330 |
+
|
7331 |
+
#: includes/pdf-invoices/submodules/class-wcj-pdf-invoicing-advanced.php:74
|
7332 |
+
msgid "Shipping Tax"
|
7333 |
+
msgstr ""
|
7334 |
+
|
7335 |
+
#: includes/pdf-invoices/submodules/class-wcj-pdf-invoicing-advanced.php:75
|
7336 |
+
msgid "Shipping Tax %"
|
7337 |
+
msgstr ""
|
7338 |
+
|
7339 |
#: includes/pdf-invoices/submodules/class-wcj-pdf-invoicing-display.php:24
|
7340 |
msgid "Display & Misc."
|
7341 |
msgstr ""
|
7342 |
|
7343 |
#: includes/pdf-invoices/submodules/class-wcj-pdf-invoicing-display.php:129
|
7344 |
+
#: includes/pdf-invoices/submodules/class-wcj-pdf-invoicing-display.php:299
|
7345 |
msgid "View"
|
7346 |
msgstr ""
|
7347 |
|
7348 |
#: includes/pdf-invoices/submodules/class-wcj-pdf-invoicing-display.php:148
|
7349 |
+
#: includes/pdf-invoices/submodules/class-wcj-pdf-invoicing-display.php:312
|
7350 |
msgid "Create"
|
7351 |
msgstr ""
|
7352 |
|
7354 |
msgid "Booster: PDF Invoices"
|
7355 |
msgstr ""
|
7356 |
|
7357 |
+
#: includes/pdf-invoices/submodules/class-wcj-pdf-invoicing-display.php:287
|
7358 |
+
msgid "You have no document types enabled."
|
7359 |
+
msgstr ""
|
7360 |
+
|
7361 |
+
#: includes/pdf-invoices/submodules/class-wcj-pdf-invoicing-display.php:318
|
7362 |
msgid ""
|
7363 |
"In case of partial refund, you need to reload the page to see created "
|
7364 |
"document in this meta box."
|
7411 |
msgid "Country Groups Generated."
|
7412 |
msgstr ""
|
7413 |
|
7414 |
+
#: includes/price-by-country/class-wcj-price-by-country-local.php:142
|
7415 |
+
#: includes/settings/wcj-settings-price-by-country.php:315
|
7416 |
+
#: includes/settings/meta-box/wcj-settings-meta-box-price-by-country.php:67
|
7417 |
msgid "Make empty price"
|
7418 |
msgstr ""
|
7419 |
|
7420 |
+
#: includes/price-by-country/class-wcj-price-by-country-local.php:258
|
7421 |
+
#: includes/settings/wcj-settings-add-to-cart.php:51
|
7422 |
+
#: includes/settings/wcj-settings-price-by-country.php:200
|
7423 |
+
#: includes/settings/wcj-settings-price-by-country.php:201
|
7424 |
+
#: includes/settings/wcj-settings-price-by-country.php:206
|
7425 |
+
#: includes/settings/wcj-settings-price-by-country.php:254
|
7426 |
+
#: includes/settings/wcj-settings-price-by-country.php:297
|
7427 |
+
#: includes/settings/meta-box/wcj-settings-meta-box-price-by-country.php:17
|
7428 |
+
msgid "Group"
|
7429 |
msgstr ""
|
7430 |
|
7431 |
#: includes/reports/class-wcj-currency-reports.php:38
|
7437 |
msgid "Show reports only in"
|
7438 |
msgstr ""
|
7439 |
|
7440 |
+
#: includes/reports/wcj-class-reports-customers.php:38
|
7441 |
msgid "No customers found."
|
7442 |
msgstr ""
|
7443 |
|
7444 |
+
#: includes/reports/wcj-class-reports-customers.php:79
|
7445 |
+
msgid "Non Available"
|
7446 |
+
msgstr ""
|
7447 |
+
|
7448 |
+
#: includes/reports/wcj-class-reports-customers.php:92
|
7449 |
#: includes/settings/wcj-settings-offer-price.php:162
|
7450 |
msgid "Customer Name"
|
7451 |
msgstr ""
|
7452 |
|
7453 |
+
#: includes/reports/wcj-class-reports-customers.php:94
|
7454 |
msgid "Total Spent"
|
7455 |
msgstr ""
|
7456 |
|
7457 |
+
#: includes/reports/wcj-class-reports-customers.php:134
|
7458 |
msgid "Total customers"
|
7459 |
msgstr ""
|
7460 |
|
7461 |
+
#: includes/reports/wcj-class-reports-customers.php:138
|
7462 |
msgid "Country Code"
|
7463 |
msgstr ""
|
7464 |
|
7465 |
+
#: includes/reports/wcj-class-reports-customers.php:139
|
7466 |
msgid "Customers Count"
|
7467 |
msgstr ""
|
7468 |
|
7469 |
+
#: includes/reports/wcj-class-reports-customers.php:140
|
7470 |
msgid "Percent of total"
|
7471 |
msgstr ""
|
7472 |
|
7473 |
+
#: includes/reports/wcj-class-reports-customers.php:162
|
7474 |
msgid "Report for:"
|
7475 |
msgstr ""
|
7476 |
|
7710 |
msgid "Report was generated in: "
|
7711 |
msgstr ""
|
7712 |
|
7713 |
+
#: includes/settings/wcj-settings-add-to-cart-button-visibility.php:17
|
7714 |
+
#: includes/settings/wcj-settings-add-to-cart-button-visibility.php:22
|
7715 |
+
#: includes/settings/wcj-settings-product-add-to-cart.php:24
|
7716 |
+
#: includes/settings/wcj-settings-product-by-date.php:20
|
7717 |
+
msgid "All Products"
|
7718 |
+
msgstr ""
|
7719 |
+
|
7720 |
+
#: includes/settings/wcj-settings-add-to-cart-button-visibility.php:23
|
7721 |
+
#: includes/settings/wcj-settings-add-to-cart-button-visibility.php:53
|
7722 |
+
#: includes/settings/wcj-settings-add-to-cart-button-visibility.php:70
|
7723 |
+
#: includes/settings/wcj-settings-admin-orders-list.php:21
|
7724 |
+
#: includes/settings/wcj-settings-admin-orders-list.php:109
|
7725 |
+
#: includes/settings/wcj-settings-admin-orders-list.php:150
|
7726 |
+
#: includes/settings/wcj-settings-admin-products-list.php:20
|
7727 |
+
#: includes/settings/wcj-settings-admin-products-list.php:76
|
7728 |
+
#: includes/settings/wcj-settings-order-quantities.php:21
|
7729 |
+
#: includes/settings/wcj-settings-order-quantities.php:79
|
7730 |
+
#: includes/settings/wcj-settings-orders.php:89
|
7731 |
+
#: includes/settings/wcj-settings-price-formats.php:37
|
7732 |
+
#: includes/settings/wcj-settings-product-add-to-cart.php:273
|
7733 |
+
#: includes/settings/wcj-settings-product-listings.php:128
|
7734 |
+
#: includes/settings/wcj-settings-sale-flash.php:20
|
7735 |
+
#: includes/settings/wcj-settings-sale-flash.php:65
|
7736 |
+
#: includes/settings/wcj-settings-sale-flash.php:90
|
7737 |
+
#: includes/settings/wcj-settings-shipping-by-condition.php:25
|
7738 |
+
#: includes/settings/wcj-settings-shipping-options.php:21
|
7739 |
+
#: includes/settings/wcj-settings-stock.php:23
|
7740 |
+
#: includes/settings/wcj-settings-tax-display.php:27
|
7741 |
+
#: includes/settings/wcj-settings-tax-display.php:44
|
7742 |
+
#: includes/settings/wcj-settings-tax-display.php:101
|
7743 |
+
msgid "Enable section"
|
7744 |
+
msgstr ""
|
7745 |
+
|
7746 |
+
#: includes/settings/wcj-settings-add-to-cart-button-visibility.php:29
|
7747 |
+
#: includes/settings/wcj-settings-add-to-cart-button-visibility.php:76
|
7748 |
+
msgid "Disable Buttons on Category/Archives Pages"
|
7749 |
+
msgstr ""
|
7750 |
+
|
7751 |
+
#: includes/settings/wcj-settings-add-to-cart-button-visibility.php:30
|
7752 |
+
#: includes/settings/wcj-settings-add-to-cart-button-visibility.php:37
|
7753 |
+
#: includes/settings/wcj-settings-general.php:51
|
7754 |
+
#: includes/settings/wcj-settings-general.php:100
|
7755 |
+
#: includes/settings/wcj-settings-general.php:114
|
7756 |
+
#: includes/settings/wcj-settings-general.php:121
|
7757 |
+
#: includes/settings/wcj-settings-general.php:128
|
7758 |
+
#: includes/settings/wcj-settings-general.php:135
|
7759 |
+
#: includes/settings/wcj-settings-pdf-invoicing-advanced.php:101
|
7760 |
+
#: includes/settings/wcj-settings-price-by-user-role.php:56
|
7761 |
+
#: includes/settings/wcj-settings-price-by-user-role.php:88
|
7762 |
+
#: includes/settings/wcj-settings-product-add-to-cart.php:131
|
7763 |
+
#: includes/settings/wcj-settings-product-open-pricing.php:80
|
7764 |
+
#: includes/settings/wcj-settings-sku.php:205
|
7765 |
+
#: includes/settings/meta-box/wcj-settings-meta-box-product-add-to-cart.php:67
|
7766 |
+
msgid "Disable"
|
7767 |
+
msgstr ""
|
7768 |
+
|
7769 |
+
#: includes/settings/wcj-settings-add-to-cart-button-visibility.php:36
|
7770 |
+
#: includes/settings/wcj-settings-add-to-cart-button-visibility.php:92
|
7771 |
+
msgid "Disable Buttons on Single Product Pages"
|
7772 |
+
msgstr ""
|
7773 |
+
|
7774 |
+
#: includes/settings/wcj-settings-add-to-cart-button-visibility.php:47
|
7775 |
+
#: includes/settings/wcj-settings-add-to-cart-button-visibility.php:52
|
7776 |
+
#: includes/settings/wcj-settings-price-labels.php:22
|
7777 |
+
#: includes/settings/wcj-settings-product-add-to-cart.php:39
|
7778 |
+
#: includes/settings/wcj-settings-product-by-date.php:52
|
7779 |
+
#: includes/settings/wcj-settings-product-by-time.php:52
|
7780 |
+
#: includes/settings/wcj-settings-sale-flash.php:59
|
7781 |
+
#: includes/settings/wcj-settings-sale-flash.php:64
|
7782 |
+
msgid "Per Product"
|
7783 |
+
msgstr ""
|
7784 |
+
|
7785 |
+
#: includes/settings/wcj-settings-add-to-cart-button-visibility.php:54
|
7786 |
+
#: includes/settings/wcj-settings-custom-css.php:36
|
7787 |
+
#: includes/settings/wcj-settings-product-add-to-cart.php:179
|
7788 |
+
#: includes/settings/wcj-settings-product-add-to-cart.php:196
|
7789 |
+
msgid "This will add meta box to each product's edit page"
|
7790 |
+
msgstr ""
|
7791 |
+
|
7792 |
+
#: includes/settings/wcj-settings-add-to-cart-button-visibility.php:64
|
7793 |
+
#: includes/settings/wcj-settings-add-to-cart-button-visibility.php:69
|
7794 |
+
#: includes/settings/wcj-settings-sale-flash.php:81
|
7795 |
+
msgid "Per Category"
|
7796 |
+
msgstr ""
|
7797 |
+
|
7798 |
+
#: includes/settings/wcj-settings-add-to-cart-button-visibility.php:85
|
7799 |
+
msgid ""
|
7800 |
+
"Content to replace with on archives (can be empty). You can use HTML and/or "
|
7801 |
+
"shortcodes here."
|
7802 |
+
msgstr ""
|
7803 |
+
|
7804 |
+
#: includes/settings/wcj-settings-add-to-cart-button-visibility.php:101
|
7805 |
+
msgid ""
|
7806 |
+
"Content to replace with on single product pages (can be empty). You can use "
|
7807 |
+
"HTML and/or shortcodes here."
|
7808 |
+
msgstr ""
|
7809 |
+
|
7810 |
#: includes/settings/wcj-settings-add-to-cart.php:14
|
7811 |
msgid "Per Category Options"
|
7812 |
msgstr ""
|
7842 |
msgid "Click \"Save changes\" after you change this number."
|
7843 |
msgstr ""
|
7844 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
7845 |
#: includes/settings/wcj-settings-add-to-cart.php:59
|
7846 |
msgid "categories"
|
7847 |
msgstr ""
|
7860 |
msgstr ""
|
7861 |
|
7862 |
#: includes/settings/wcj-settings-add-to-cart.php:92
|
7863 |
+
#: includes/settings/wcj-settings-product-addons.php:26
|
7864 |
#: includes/settings/wcj-settings-product-by-date.php:47
|
7865 |
#: includes/settings/wcj-settings-product-by-time.php:47
|
7866 |
msgid "Per Product Options"
|
8010 |
#: includes/settings/wcj-settings-payment-gateways-icons.php:14
|
8011 |
#: includes/settings/wcj-settings-payment-gateways-per-category.php:18
|
8012 |
#: includes/settings/wcj-settings-price-by-user-role.php:14
|
8013 |
+
#: includes/settings/wcj-settings-product-addons.php:165
|
8014 |
#: includes/settings/wcj-settings-product-bookings.php:86
|
8015 |
#: includes/settings/wcj-settings-product-by-user-role.php:14
|
8016 |
#: includes/settings/wcj-settings-product-by-user.php:59
|
8025 |
msgstr ""
|
8026 |
|
8027 |
#: includes/settings/wcj-settings-admin-bar.php:19
|
8028 |
+
msgid "\"WooCommerce\" Admin Bar"
|
8029 |
+
msgstr ""
|
8030 |
+
|
8031 |
+
#: includes/settings/wcj-settings-admin-bar.php:26
|
8032 |
+
msgid "\"Booster\" Admin Bar"
|
8033 |
+
msgstr ""
|
8034 |
+
|
8035 |
+
#: includes/settings/wcj-settings-admin-bar.php:33
|
8036 |
+
msgid "\"Booster: Active\" Admin Bar"
|
8037 |
+
msgstr ""
|
8038 |
+
|
8039 |
+
#: includes/settings/wcj-settings-admin-orders-list.php:14
|
8040 |
+
#: includes/settings/wcj-settings-admin-orders-list.php:20
|
8041 |
+
#: includes/settings/wcj-settings-admin-products-list.php:14
|
8042 |
+
msgid "Custom Columns"
|
8043 |
+
msgstr ""
|
8044 |
+
|
8045 |
+
#: includes/settings/wcj-settings-admin-orders-list.php:16
|
8046 |
+
msgid "This section lets you add custom columns to WooCommerce orders list."
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
8047 |
msgstr ""
|
8048 |
|
8049 |
#: includes/settings/wcj-settings-admin-orders-list.php:28
|
8082 |
msgid "Label"
|
8083 |
msgstr ""
|
8084 |
|
8085 |
+
#: includes/settings/wcj-settings-admin-orders-list.php:72
|
8086 |
#: includes/settings/wcj-settings-admin-products-list.php:57
|
8087 |
msgid "You can use shortcodes and/or HTML here."
|
8088 |
msgstr ""
|
8089 |
|
8090 |
+
#: includes/settings/wcj-settings-admin-orders-list.php:79
|
8091 |
msgid "Sortable"
|
8092 |
msgstr ""
|
8093 |
|
8094 |
+
#: includes/settings/wcj-settings-admin-orders-list.php:85
|
8095 |
msgid "By meta (as text)"
|
8096 |
msgstr ""
|
8097 |
|
8098 |
+
#: includes/settings/wcj-settings-admin-orders-list.php:86
|
8099 |
msgid "By meta (as numbers)"
|
8100 |
msgstr ""
|
8101 |
|
8102 |
+
#: includes/settings/wcj-settings-admin-orders-list.php:90
|
8103 |
msgid "Key (if sortable)"
|
8104 |
msgstr ""
|
8105 |
|
8106 |
+
#: includes/settings/wcj-settings-admin-orders-list.php:103
|
8107 |
+
#: includes/settings/wcj-settings-admin-orders-list.php:108
|
8108 |
msgid "Multiple Status"
|
8109 |
msgstr ""
|
8110 |
|
8111 |
+
#: includes/settings/wcj-settings-admin-orders-list.php:115
|
8112 |
msgid "Multiple Status Filtering"
|
8113 |
msgstr ""
|
8114 |
|
8115 |
+
#: includes/settings/wcj-settings-admin-orders-list.php:120
|
8116 |
#: includes/settings/wcj-settings-empty-cart.php:40
|
8117 |
#: includes/settings/wcj-settings-empty-cart.php:55
|
8118 |
#: includes/settings/wcj-settings-offer-price.php:69
|
8120 |
msgid "Do not add"
|
8121 |
msgstr ""
|
8122 |
|
8123 |
+
#: includes/settings/wcj-settings-admin-orders-list.php:121
|
8124 |
msgid "Add as multiple select"
|
8125 |
msgstr ""
|
8126 |
|
8127 |
+
#: includes/settings/wcj-settings-admin-orders-list.php:122
|
8128 |
msgid "Add as checkboxes"
|
8129 |
msgstr ""
|
8130 |
|
8131 |
+
#: includes/settings/wcj-settings-admin-orders-list.php:126
|
8132 |
msgid "Hide Default Statuses Menu"
|
8133 |
msgstr ""
|
8134 |
|
8135 |
+
#: includes/settings/wcj-settings-admin-orders-list.php:127
|
8136 |
#: includes/settings/wcj-settings-breadcrumbs.php:34
|
8137 |
#: includes/settings/wcj-settings-cart-customization.php:20
|
8138 |
#: includes/settings/wcj-settings-cart-customization.php:27
|
8139 |
#: includes/settings/wcj-settings-checkout-customization.php:32
|
8140 |
#: includes/settings/wcj-settings-currency.php:21
|
8141 |
#: includes/settings/wcj-settings-order-custom-statuses.php:63
|
8142 |
+
#: includes/settings/wcj-settings-pdf-invoicing-advanced.php:47
|
8143 |
#: includes/settings/wcj-settings-product-bookings.php:92
|
8144 |
#: includes/settings/wcj-settings-product-images.php:20
|
8145 |
#: includes/settings/wcj-settings-product-images.php:27
|
8151 |
#: includes/settings/wcj-settings-sale-flash.php:42
|
8152 |
#: includes/settings/wcj-settings-sale-flash.php:49
|
8153 |
#: includes/settings/wcj-settings-shipping-calculator.php:54
|
8154 |
+
#: includes/settings/meta-box/wcj-settings-meta-box-add-to-cart-button-visibility.php:18
|
8155 |
+
#: includes/settings/meta-box/wcj-settings-meta-box-add-to-cart-button-visibility.php:37
|
8156 |
msgid "Hide"
|
8157 |
msgstr ""
|
8158 |
|
8159 |
+
#: includes/settings/wcj-settings-admin-orders-list.php:133
|
8160 |
msgid "Add \"Not Completed\" Status Link to Default Statuses Menu"
|
8161 |
msgstr ""
|
8162 |
|
8163 |
+
#: includes/settings/wcj-settings-admin-orders-list.php:144
|
8164 |
+
#: includes/settings/wcj-settings-admin-orders-list.php:149
|
8165 |
#: includes/settings/wcj-settings-admin-products-list.php:70
|
8166 |
msgid "Columns Order"
|
8167 |
msgstr ""
|
8168 |
|
8169 |
+
#: includes/settings/wcj-settings-admin-orders-list.php:157
|
8170 |
#: includes/settings/wcj-settings-admin-products-list.php:83
|
8171 |
msgid "Default columns order"
|
8172 |
msgstr ""
|
8227 |
msgid "Show Product Meta"
|
8228 |
msgstr ""
|
8229 |
|
8230 |
+
#: includes/settings/wcj-settings-admin-tools.php:87
|
8231 |
+
msgid "Show Variable Product Pricing Table"
|
8232 |
+
msgstr ""
|
8233 |
+
|
8234 |
#: includes/settings/wcj-settings-breadcrumbs.php:19
|
8235 |
msgid "Change Breadcrumbs Home URL"
|
8236 |
msgstr ""
|
8366 |
msgid "Info Block"
|
8367 |
msgstr ""
|
8368 |
|
8369 |
+
#: includes/settings/wcj-settings-cart.php:58
|
8370 |
+
#: includes/settings/wcj-settings-checkout-custom-info.php:84
|
8371 |
#: includes/settings/wcj-settings-mini-cart.php:58
|
8372 |
#: includes/settings/wcj-settings-product-custom-info.php:112
|
8373 |
msgid "Position Order (i.e. Priority)"
|
8374 |
msgstr ""
|
8375 |
|
8376 |
+
#: includes/settings/wcj-settings-cart.php:72
|
8377 |
msgid "Cart Items Table Custom Info"
|
8378 |
msgstr ""
|
8379 |
|
8380 |
+
#: includes/settings/wcj-settings-cart.php:78
|
8381 |
msgid "Add to Each Item Name"
|
8382 |
msgstr ""
|
8383 |
|
8384 |
+
#: includes/settings/wcj-settings-cart.php:79
|
8385 |
msgid ""
|
8386 |
"You can use shortcodes here. E.g.: [wcj_product_sku]. Leave blank to disable."
|
8387 |
msgstr ""
|
8538 |
#: includes/settings/wcj-settings-checkout-custom-fields.php:169
|
8539 |
#: includes/settings/wcj-settings-checkout-custom-info.php:55
|
8540 |
#: includes/settings/wcj-settings-empty-cart.php:58
|
8541 |
+
#: includes/settings/wcj-settings-left-to-free-shipping.php:120
|
8542 |
msgid "Billing"
|
8543 |
msgstr ""
|
8544 |
|
8671 |
|
8672 |
#: includes/settings/wcj-settings-checkout-custom-fields.php:319
|
8673 |
#: includes/settings/wcj-settings-global-discount.php:137
|
8674 |
+
#: includes/settings/wcj-settings-product-addons.php:141
|
8675 |
#: includes/settings/wcj-settings-related-products.php:223
|
8676 |
msgid "Exclude Products"
|
8677 |
msgstr ""
|
8717 |
#: includes/settings/wcj-settings-checkout-custom-info.php:53
|
8718 |
#: includes/settings/wcj-settings-checkout-files-upload.php:55
|
8719 |
#: includes/settings/wcj-settings-empty-cart.php:56
|
8720 |
+
#: includes/settings/wcj-settings-left-to-free-shipping.php:118
|
8721 |
msgid "Before checkout form"
|
8722 |
msgstr ""
|
8723 |
|
8724 |
#: includes/settings/wcj-settings-checkout-custom-info.php:54
|
8725 |
#: includes/settings/wcj-settings-empty-cart.php:57
|
8726 |
+
#: includes/settings/wcj-settings-left-to-free-shipping.php:119
|
8727 |
msgid "Before customer details"
|
8728 |
msgstr ""
|
8729 |
|
8730 |
#: includes/settings/wcj-settings-checkout-custom-info.php:57
|
8731 |
#: includes/settings/wcj-settings-empty-cart.php:60
|
8732 |
+
#: includes/settings/wcj-settings-left-to-free-shipping.php:122
|
8733 |
msgid "After customer details"
|
8734 |
msgstr ""
|
8735 |
|
8736 |
#: includes/settings/wcj-settings-checkout-custom-info.php:58
|
8737 |
#: includes/settings/wcj-settings-empty-cart.php:61
|
8738 |
+
#: includes/settings/wcj-settings-left-to-free-shipping.php:123
|
8739 |
msgid "Before order review"
|
8740 |
msgstr ""
|
8741 |
|
8742 |
#: includes/settings/wcj-settings-checkout-custom-info.php:59
|
8743 |
#: includes/settings/wcj-settings-empty-cart.php:62
|
8744 |
+
#: includes/settings/wcj-settings-left-to-free-shipping.php:124
|
8745 |
msgid "Order review"
|
8746 |
msgstr ""
|
8747 |
|
8748 |
#: includes/settings/wcj-settings-checkout-custom-info.php:60
|
8749 |
#: includes/settings/wcj-settings-empty-cart.php:63
|
8750 |
+
#: includes/settings/wcj-settings-left-to-free-shipping.php:125
|
8751 |
msgid "After order review"
|
8752 |
msgstr ""
|
8753 |
|
8754 |
#: includes/settings/wcj-settings-checkout-custom-info.php:61
|
8755 |
#: includes/settings/wcj-settings-checkout-files-upload.php:56
|
8756 |
#: includes/settings/wcj-settings-empty-cart.php:64
|
8757 |
+
#: includes/settings/wcj-settings-left-to-free-shipping.php:126
|
8758 |
msgid "After checkout form"
|
8759 |
msgstr ""
|
8760 |
|
8877 |
#: includes/settings/wcj-settings-checkout-customization.php:84
|
8878 |
#: includes/settings/wcj-settings-sale-flash.php:27
|
8879 |
#: includes/settings/wcj-settings-sale-flash.php:102
|
8880 |
+
#: includes/settings/meta-box/wcj-settings-meta-box-add-to-cart-button-visibility.php:30
|
8881 |
+
#: includes/settings/meta-box/wcj-settings-meta-box-add-to-cart-button-visibility.php:49
|
8882 |
msgid "You can use HTML and/or shortcodes here."
|
8883 |
msgstr ""
|
8884 |
|
8885 |
+
#: includes/settings/wcj-settings-checkout-customization.php:91
|
8886 |
+
msgid "Customize \"Returning customer?\" message"
|
8887 |
+
msgstr ""
|
8888 |
+
|
8889 |
#: includes/settings/wcj-settings-checkout-files-upload.php:22
|
8890 |
#: includes/settings/wcj-settings-products-xml.php:23
|
8891 |
msgid "Total Files"
|
9047 |
msgstr ""
|
9048 |
|
9049 |
#: includes/settings/wcj-settings-checkout-files-upload.php:249
|
9050 |
+
#: includes/settings/wcj-settings-product-addons.php:187
|
9051 |
+
#: includes/settings/wcj-settings-product-addons.php:207
|
9052 |
msgid "Before"
|
9053 |
msgstr ""
|
9054 |
|
9068 |
msgstr ""
|
9069 |
|
9070 |
#: includes/settings/wcj-settings-checkout-files-upload.php:272
|
9071 |
+
#: includes/settings/wcj-settings-product-addons.php:200
|
9072 |
+
#: includes/settings/wcj-settings-product-addons.php:220
|
9073 |
msgid "After"
|
9074 |
msgstr ""
|
9075 |
|
9076 |
#: includes/settings/wcj-settings-checkout-files-upload.php:285
|
9077 |
+
#: includes/settings/wcj-settings-currency-per-product.php:234
|
9078 |
#: includes/settings/wcj-settings-eu-vat-number.php:203
|
9079 |
#: includes/settings/wcj-settings-general.php:77
|
9080 |
+
#: includes/settings/wcj-settings-payment-gateways.php:49
|
9081 |
+
#: includes/settings/wcj-settings-pdf-invoicing-advanced.php:42
|
9082 |
#: includes/settings/wcj-settings-product-custom-info.php:188
|
9083 |
#: includes/settings/wcj-settings-shipping-by-condition.php:78
|
9084 |
msgid "Advanced Options"
|
9156 |
msgstr ""
|
9157 |
|
9158 |
#: includes/settings/wcj-settings-currency-exchange-rates.php:20
|
|
|
9159 |
#, php-format
|
9160 |
msgid "%s seconds till next update."
|
9161 |
msgstr ""
|
9172 |
#: includes/settings/wcj-settings-multicurrency-base-price.php:24
|
9173 |
#: includes/settings/wcj-settings-multicurrency.php:22
|
9174 |
#: includes/settings/wcj-settings-payment-gateways-currency.php:59
|
9175 |
+
#: includes/settings/wcj-settings-price-by-country.php:270
|
9176 |
msgid "Exchange Rates Updates"
|
9177 |
msgstr ""
|
9178 |
|
9243 |
msgstr ""
|
9244 |
|
9245 |
#: includes/settings/wcj-settings-currency-exchange-rates.php:156
|
9246 |
+
#: includes/settings/wcj-settings-price-by-country.php:265
|
9247 |
msgid "Exchange Rates"
|
9248 |
msgstr ""
|
9249 |
|
9255 |
#: includes/settings/wcj-settings-currency-per-product.php:163
|
9256 |
#: includes/settings/wcj-settings-multicurrency-base-price.php:94
|
9257 |
#: includes/settings/wcj-settings-multicurrency.php:135
|
9258 |
+
#: includes/settings/wcj-settings-price-by-country.php:245
|
9259 |
#: includes/settings/wcj-settings-price-formats.php:59
|
9260 |
msgid "Currency"
|
9261 |
msgstr ""
|
9330 |
#: includes/settings/wcj-settings-multicurrency-base-price.php:29
|
9331 |
#: includes/settings/wcj-settings-multicurrency.php:28
|
9332 |
#: includes/settings/wcj-settings-payment-gateways-currency.php:64
|
9333 |
+
#: includes/settings/wcj-settings-price-by-country.php:275
|
9334 |
msgid "Enter Rates Manually"
|
9335 |
msgstr ""
|
9336 |
|
9338 |
#: includes/settings/wcj-settings-multicurrency-base-price.php:30
|
9339 |
#: includes/settings/wcj-settings-multicurrency.php:29
|
9340 |
#: includes/settings/wcj-settings-payment-gateways-currency.php:65
|
9341 |
+
#: includes/settings/wcj-settings-price-by-country.php:276
|
9342 |
msgid "Automatically via Currency Exchange Rates module"
|
9343 |
msgstr ""
|
9344 |
|
9346 |
#: includes/settings/wcj-settings-multicurrency-base-price.php:33
|
9347 |
#: includes/settings/wcj-settings-multicurrency.php:32
|
9348 |
#: includes/settings/wcj-settings-payment-gateways-currency.php:68
|
9349 |
+
#: includes/settings/wcj-settings-price-by-country.php:279
|
9350 |
msgid "Visit"
|
9351 |
msgstr ""
|
9352 |
|
9354 |
#: includes/settings/wcj-settings-multicurrency-base-price.php:33
|
9355 |
#: includes/settings/wcj-settings-multicurrency.php:32
|
9356 |
#: includes/settings/wcj-settings-payment-gateways-currency.php:68
|
9357 |
+
#: includes/settings/wcj-settings-price-by-country.php:279
|
9358 |
msgid "Currency Exchange Rates module"
|
9359 |
msgstr ""
|
9360 |
|
9385 |
msgid "Product Authors User Roles"
|
9386 |
msgstr ""
|
9387 |
|
9388 |
+
#: includes/settings/wcj-settings-currency-per-product.php:239
|
9389 |
+
#: includes/settings/wcj-settings-multicurrency-base-price.php:53
|
9390 |
+
msgid "Advanced: Save Calculated Products Prices"
|
9391 |
+
msgstr ""
|
9392 |
+
|
9393 |
+
#: includes/settings/wcj-settings-currency-per-product.php:240
|
9394 |
+
#: includes/settings/wcj-settings-multicurrency-base-price.php:54
|
9395 |
+
msgid ""
|
9396 |
+
"This may help if you are experiencing compatibility issues with other "
|
9397 |
+
"plugins."
|
9398 |
+
msgstr ""
|
9399 |
+
|
9400 |
#: includes/settings/wcj-settings-currency.php:15
|
9401 |
msgid "Currency Symbol Options"
|
9402 |
msgstr ""
|
9442 |
"Set product specific CSS to be loaded only on specific product's single page."
|
9443 |
msgstr ""
|
9444 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
9445 |
#: includes/settings/wcj-settings-custom-css.php:42
|
9446 |
msgid "Custom CSS on per Product Basis - Default Field Value"
|
9447 |
msgstr ""
|
9736 |
msgstr ""
|
9737 |
|
9738 |
#: includes/settings/wcj-settings-export.php:20
|
9739 |
+
#: includes/settings/wcj-settings-pdf-invoicing-advanced.php:156
|
9740 |
msgid "CSV Separator"
|
9741 |
msgstr ""
|
9742 |
|
9880 |
msgstr ""
|
9881 |
|
9882 |
#: includes/settings/wcj-settings-free-price.php:16
|
9883 |
+
#: includes/settings/wcj-settings-product-add-to-cart.php:206
|
9884 |
msgid "External Products"
|
9885 |
msgstr ""
|
9886 |
|
9887 |
#: includes/settings/wcj-settings-free-price.php:19
|
9888 |
+
#: includes/settings/meta-box/wcj-settings-meta-box-add-to-cart-button-visibility.php:21
|
9889 |
msgid "Single Product Page"
|
9890 |
msgstr ""
|
9891 |
|
9931 |
msgid "Disable all Booster's shortcodes (for memory saving)."
|
9932 |
msgstr ""
|
9933 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
9934 |
#: includes/settings/wcj-settings-general.php:61
|
9935 |
#: includes/settings/wcj-settings-general.php:66
|
9936 |
msgid "Product Revisions"
|
10053 |
#: includes/settings/wcj-settings-global-discount.php:64
|
10054 |
#: includes/settings/wcj-settings-payment-gateways-fees.php:38
|
10055 |
#: includes/settings/wcj-settings-purchase-data.php:78
|
10056 |
+
#: includes/settings/wcj-settings-wholesale-price.php:70
|
10057 |
#: includes/settings/meta-box/wcj-settings-meta-box-wholesale-price.php:18
|
10058 |
msgid "Percent"
|
10059 |
msgstr ""
|
10062 |
#: includes/settings/wcj-settings-payment-gateways-fees.php:37
|
10063 |
#: includes/settings/wcj-settings-price-by-user-role.php:32
|
10064 |
#: includes/settings/wcj-settings-purchase-data.php:77
|
10065 |
+
#: includes/settings/wcj-settings-wholesale-price.php:71
|
10066 |
#: includes/settings/meta-box/wcj-settings-meta-box-wholesale-price.php:19
|
10067 |
msgid "Fixed"
|
10068 |
msgstr ""
|
10083 |
|
10084 |
#: includes/settings/wcj-settings-global-discount.php:83
|
10085 |
#: includes/settings/wcj-settings-product-add-to-cart.php:65
|
10086 |
+
#: includes/settings/wcj-settings-products-xml.php:200
|
10087 |
msgid "All products"
|
10088 |
msgstr ""
|
10089 |
|
10092 |
msgstr ""
|
10093 |
|
10094 |
#: includes/settings/wcj-settings-global-discount.php:85
|
10095 |
+
#: includes/settings/wcj-settings-products-xml.php:202
|
10096 |
msgid "Only products that are not on sale"
|
10097 |
msgstr ""
|
10098 |
|
10178 |
msgstr ""
|
10179 |
|
10180 |
#: includes/settings/wcj-settings-left-to-free-shipping.php:35
|
10181 |
+
#: includes/settings/wcj-settings-left-to-free-shipping.php:68
|
10182 |
+
#: includes/settings/wcj-settings-left-to-free-shipping.php:105
|
10183 |
+
#: includes/settings/wcj-settings-left-to-free-shipping.php:138
|
10184 |
msgid "You can use HTML and/or shortcodes (e.g. [wcj_wpml]) here."
|
10185 |
msgstr ""
|
10186 |
|
10187 |
+
#: includes/settings/wcj-settings-left-to-free-shipping.php:51
|
10188 |
+
#: includes/settings/wcj-settings-left-to-free-shipping.php:88
|
10189 |
+
#: includes/settings/wcj-settings-left-to-free-shipping.php:131
|
10190 |
msgid "Position Order (Priority)"
|
10191 |
msgstr ""
|
10192 |
|
10193 |
+
#: includes/settings/wcj-settings-left-to-free-shipping.php:57
|
10194 |
msgid "Info on Mini Cart"
|
10195 |
msgstr ""
|
10196 |
|
10197 |
+
#: includes/settings/wcj-settings-left-to-free-shipping.php:81
|
10198 |
#: includes/settings/wcj-settings-mini-cart.php:51
|
10199 |
msgid "Before mini cart"
|
10200 |
msgstr ""
|
10201 |
|
10202 |
+
#: includes/settings/wcj-settings-left-to-free-shipping.php:82
|
10203 |
#: includes/settings/wcj-settings-mini-cart.php:52
|
10204 |
msgid "Before buttons"
|
10205 |
msgstr ""
|
10206 |
|
10207 |
+
#: includes/settings/wcj-settings-left-to-free-shipping.php:83
|
10208 |
#: includes/settings/wcj-settings-mini-cart.php:53
|
10209 |
msgid "After mini cart"
|
10210 |
msgstr ""
|
10211 |
|
10212 |
+
#: includes/settings/wcj-settings-left-to-free-shipping.php:94
|
10213 |
msgid "Info on Checkout"
|
10214 |
msgstr ""
|
10215 |
|
10216 |
+
#: includes/settings/wcj-settings-left-to-free-shipping.php:137
|
10217 |
msgid "Message on Free Shipping Reached"
|
10218 |
msgstr ""
|
10219 |
|
10220 |
+
#: includes/settings/wcj-settings-left-to-free-shipping.php:139
|
10221 |
msgid "Set empty to disable."
|
10222 |
msgstr ""
|
10223 |
|
10225 |
msgid "Mini Cart Custom Info Blocks"
|
10226 |
msgstr ""
|
10227 |
|
10228 |
+
#: includes/settings/wcj-settings-modules-by-user-roles.php:28
|
10229 |
+
msgid "Enable Modules"
|
10230 |
+
msgstr ""
|
10231 |
+
|
10232 |
+
#: includes/settings/wcj-settings-modules-by-user-roles.php:29
|
10233 |
+
msgid ""
|
10234 |
+
"Select modules which should be enabled for current user role. All other "
|
10235 |
+
"modules will be disabled. Ignored if left empty."
|
10236 |
+
msgstr ""
|
10237 |
+
|
10238 |
+
#: includes/settings/wcj-settings-modules-by-user-roles.php:37
|
10239 |
+
msgid "Disable Modules"
|
10240 |
+
msgstr ""
|
10241 |
+
|
10242 |
+
#: includes/settings/wcj-settings-modules-by-user-roles.php:38
|
10243 |
+
msgid ""
|
10244 |
+
"Select modules which should be disabled for current user role. All other "
|
10245 |
+
"modules will be enabled. Ignored if left empty."
|
10246 |
+
msgstr ""
|
10247 |
+
|
10248 |
#: includes/settings/wcj-settings-more-button-labels.php:14
|
10249 |
msgid "Place order (Order now) Button"
|
10250 |
msgstr ""
|
10257 |
msgid "Button on the checkout page."
|
10258 |
msgstr ""
|
10259 |
|
10260 |
+
#: includes/settings/wcj-settings-more-button-labels.php:27
|
10261 |
+
msgid "Override Default Text"
|
10262 |
msgstr ""
|
10263 |
|
10264 |
+
#: includes/settings/wcj-settings-more-button-labels.php:29
|
10265 |
+
msgid ""
|
10266 |
+
"Enable this if button text is not changing for some payment gateway (e.g. "
|
10267 |
+
"PayPal)."
|
10268 |
msgstr ""
|
10269 |
|
10270 |
+
#: includes/settings/wcj-settings-multicurrency-base-price.php:39
|
10271 |
+
msgid "Round Prices"
|
10272 |
msgstr ""
|
10273 |
|
10274 |
+
#: includes/settings/wcj-settings-multicurrency-base-price.php:46
|
10275 |
+
msgid "rounding precision"
|
|
|
|
|
10276 |
msgstr ""
|
10277 |
|
10278 |
#: includes/settings/wcj-settings-multicurrency.php:23
|
10390 |
msgstr ""
|
10391 |
|
10392 |
#: includes/settings/wcj-settings-multicurrency.php:168
|
10393 |
+
#: includes/settings/wcj-settings-wholesale-price.php:145
|
10394 |
msgid "Save settings after you change this option. Leave blank to disable."
|
10395 |
msgstr ""
|
10396 |
|
10685 |
msgid "Message on cart page"
|
10686 |
msgstr ""
|
10687 |
|
|
|
|
|
|
|
|
|
|
|
|
|
10688 |
#: includes/settings/wcj-settings-order-min-amount.php:70
|
10689 |
msgid "Cart notice method"
|
10690 |
msgstr ""
|
10724 |
msgid "Order Minimum Amount by User Role"
|
10725 |
msgstr ""
|
10726 |
|
10727 |
+
#: includes/settings/wcj-settings-order-numbers.php:17
|
10728 |
msgid ""
|
10729 |
"This section lets you enable sequential order numbering, set custom number "
|
10730 |
"prefix, suffix and width."
|
10731 |
msgstr ""
|
10732 |
|
10733 |
+
#: includes/settings/wcj-settings-order-numbers.php:21
|
10734 |
#: includes/settings/wcj-settings-sku.php:21
|
10735 |
msgid "Number Generation"
|
10736 |
msgstr ""
|
10737 |
|
10738 |
+
#: includes/settings/wcj-settings-order-numbers.php:26
|
10739 |
#: includes/settings/wcj-settings-pdf-invoicing-numbering.php:22
|
10740 |
#: includes/settings/wcj-settings-sku.php:27
|
10741 |
msgid "Sequential"
|
10742 |
msgstr ""
|
10743 |
|
10744 |
+
#: includes/settings/wcj-settings-order-numbers.php:28
|
10745 |
#: includes/settings/wcj-settings-sku.php:28
|
10746 |
msgid "Pseudorandom - Hash (max 10 digits)"
|
10747 |
msgstr ""
|
10748 |
|
10749 |
+
#: includes/settings/wcj-settings-order-numbers.php:32
|
10750 |
+
msgid "Sequential: Next Order Number"
|
10751 |
msgstr ""
|
10752 |
|
10753 |
+
#: includes/settings/wcj-settings-order-numbers.php:33
|
10754 |
msgid "Next new order will be given this number."
|
10755 |
msgstr ""
|
10756 |
|
10757 |
+
#: includes/settings/wcj-settings-order-numbers.php:33
|
10758 |
msgid "Use Renumerate Orders tool for existing orders."
|
10759 |
msgstr ""
|
10760 |
|
10761 |
+
#: includes/settings/wcj-settings-order-numbers.php:34
|
10762 |
+
#: includes/settings/wcj-settings-order-numbers.php:41
|
10763 |
msgid "This will be ignored if sequential order numbering is disabled."
|
10764 |
msgstr ""
|
10765 |
|
10766 |
+
#: includes/settings/wcj-settings-order-numbers.php:40
|
10767 |
+
msgid "Sequential: Reset Counter"
|
10768 |
+
msgstr ""
|
10769 |
+
|
10770 |
+
#: includes/settings/wcj-settings-order-numbers.php:47
|
10771 |
+
msgid "Daily"
|
10772 |
+
msgstr ""
|
10773 |
+
|
10774 |
+
#: includes/settings/wcj-settings-order-numbers.php:48
|
10775 |
+
msgid "Monthly"
|
10776 |
+
msgstr ""
|
10777 |
+
|
10778 |
+
#: includes/settings/wcj-settings-order-numbers.php:49
|
10779 |
+
msgid "Yearly"
|
10780 |
+
msgstr ""
|
10781 |
+
|
10782 |
+
#: includes/settings/wcj-settings-order-numbers.php:53
|
10783 |
msgid "Order Number Custom Prefix"
|
10784 |
msgstr ""
|
10785 |
|
10786 |
+
#: includes/settings/wcj-settings-order-numbers.php:54
|
10787 |
msgid ""
|
10788 |
"Prefix before order number (optional). This will change the prefixes for all "
|
10789 |
"existing orders."
|
10790 |
msgstr ""
|
10791 |
|
10792 |
+
#: includes/settings/wcj-settings-order-numbers.php:60
|
10793 |
msgid "Order Number Date Prefix"
|
10794 |
msgstr ""
|
10795 |
|
10796 |
+
#: includes/settings/wcj-settings-order-numbers.php:62
|
10797 |
msgid ""
|
10798 |
"Date prefix before order number (optional). This will change the prefixes "
|
10799 |
"for all existing orders. Value is passed directly to PHP `date` function, so "
|
10802 |
"d- or mdy."
|
10803 |
msgstr ""
|
10804 |
|
10805 |
+
#: includes/settings/wcj-settings-order-numbers.php:69
|
10806 |
msgid "Order Number Width"
|
10807 |
msgstr ""
|
10808 |
|
10809 |
+
#: includes/settings/wcj-settings-order-numbers.php:71
|
10810 |
msgid ""
|
10811 |
"Minimum width of number without prefix (zeros will be added to the left "
|
10812 |
"side). This will change the minimum width of order number for all existing "
|
10814 |
"Leave zero to disable."
|
10815 |
msgstr ""
|
10816 |
|
10817 |
+
#: includes/settings/wcj-settings-order-numbers.php:78
|
10818 |
msgid "Order Number Custom Suffix"
|
10819 |
msgstr ""
|
10820 |
|
10821 |
+
#: includes/settings/wcj-settings-order-numbers.php:80
|
10822 |
msgid ""
|
10823 |
"Suffix after order number (optional). This will change the suffixes for all "
|
10824 |
"existing orders."
|
10825 |
msgstr ""
|
10826 |
|
10827 |
+
#: includes/settings/wcj-settings-order-numbers.php:87
|
10828 |
msgid "Order Number Date Suffix"
|
10829 |
msgstr ""
|
10830 |
|
10831 |
+
#: includes/settings/wcj-settings-order-numbers.php:89
|
10832 |
msgid ""
|
10833 |
"Date suffix after order number (optional). This will change the suffixes for "
|
10834 |
"all existing orders. Value is passed directly to PHP `date` function, so "
|
10837 |
"d- or mdy."
|
10838 |
msgstr ""
|
10839 |
|
10840 |
+
#: includes/settings/wcj-settings-order-numbers.php:96
|
10841 |
msgid "Use MySQL Transaction"
|
10842 |
msgstr ""
|
10843 |
|
10844 |
+
#: includes/settings/wcj-settings-order-numbers.php:98
|
10845 |
msgid ""
|
10846 |
"This should be enabled if you have a lot of simultaneous orders in your shop "
|
10847 |
"- to prevent duplicate order numbers (sequential)."
|
10848 |
msgstr ""
|
10849 |
|
10850 |
+
#: includes/settings/wcj-settings-order-numbers.php:104
|
10851 |
msgid "Enable Order Tracking by Custom Number"
|
10852 |
msgstr ""
|
10853 |
|
10854 |
+
#: includes/settings/wcj-settings-order-numbers.php:111
|
10855 |
msgid "Enable Order Admin Search by Custom Number"
|
10856 |
msgstr ""
|
10857 |
|
10858 |
+
#: includes/settings/wcj-settings-order-numbers.php:122
|
10859 |
msgid "Orders Renumerate Tool Options"
|
10860 |
msgstr ""
|
10861 |
|
10862 |
+
#: includes/settings/wcj-settings-order-numbers.php:127
|
10863 |
msgid "Sort by"
|
10864 |
msgstr ""
|
10865 |
|
10866 |
+
#: includes/settings/wcj-settings-order-numbers.php:134
|
10867 |
msgid "Last modified date"
|
10868 |
msgstr ""
|
10869 |
|
10870 |
+
#: includes/settings/wcj-settings-order-numbers.php:135
|
10871 |
#: includes/settings/wcj-settings-related-products.php:22
|
10872 |
msgid "Random"
|
10873 |
msgstr ""
|
10874 |
|
10875 |
+
#: includes/settings/wcj-settings-order-numbers.php:139
|
10876 |
msgid "Sort Ascending or Descending"
|
10877 |
msgstr ""
|
10878 |
|
10879 |
+
#: includes/settings/wcj-settings-order-numbers.php:144
|
10880 |
#: includes/settings/wcj-settings-related-products.php:90
|
10881 |
msgid "Ascending"
|
10882 |
msgstr ""
|
10883 |
|
10884 |
+
#: includes/settings/wcj-settings-order-numbers.php:145
|
10885 |
#: includes/settings/wcj-settings-related-products.php:91
|
10886 |
msgid "Descending"
|
10887 |
msgstr ""
|
11025 |
"may want auto-complete all your orders."
|
11026 |
msgstr ""
|
11027 |
|
11028 |
+
#: includes/settings/wcj-settings-orders.php:70
|
11029 |
+
msgid "Add Country by IP Meta Box"
|
11030 |
+
msgstr ""
|
11031 |
+
|
11032 |
+
#: includes/settings/wcj-settings-orders.php:72
|
11033 |
+
msgid ""
|
11034 |
+
"When enabled this will add \"Booster: Country by IP\" metabox to each "
|
11035 |
+
"order's edit page."
|
11036 |
+
msgstr ""
|
11037 |
+
|
11038 |
+
#: includes/settings/wcj-settings-orders.php:82
|
11039 |
msgid "Bulk Regenerate Download Permissions for Orders"
|
11040 |
msgstr ""
|
11041 |
|
11042 |
+
#: includes/settings/wcj-settings-orders.php:87
|
11043 |
msgid "Bulk Regenerate Download Permissions"
|
11044 |
msgstr ""
|
11045 |
|
11046 |
+
#: includes/settings/wcj-settings-orders.php:96
|
11047 |
msgid "Bulk Actions"
|
11048 |
msgstr ""
|
11049 |
|
11050 |
+
#: includes/settings/wcj-settings-orders.php:97
|
11051 |
msgid ""
|
11052 |
"When enabled this will add \"Regenerate download permissions\" action to "
|
11053 |
"\"Bulk Actions\" select box on admin orders page."
|
11054 |
msgstr ""
|
11055 |
|
11056 |
+
#: includes/settings/wcj-settings-orders.php:105
|
11057 |
msgid "All Orders - Now"
|
11058 |
msgstr ""
|
11059 |
|
11060 |
+
#: includes/settings/wcj-settings-orders.php:106
|
11061 |
msgid ""
|
11062 |
"Check this box and press \"Save changes\" button to start regeneration. "
|
11063 |
"Please note that both module and current section must be enabled before that."
|
11064 |
msgstr ""
|
11065 |
|
11066 |
+
#: includes/settings/wcj-settings-orders.php:107
|
11067 |
msgid "Regenerate now"
|
11068 |
msgstr ""
|
11069 |
|
11070 |
+
#: includes/settings/wcj-settings-orders.php:114
|
11071 |
msgid "All Orders - Periodically"
|
11072 |
msgstr ""
|
11073 |
|
11074 |
+
#: includes/settings/wcj-settings-orders.php:120
|
11075 |
msgid "Regenerate"
|
11076 |
msgstr ""
|
11077 |
|
11078 |
+
#: includes/settings/wcj-settings-payment-gateways-by-country.php:16
|
11079 |
+
msgid "Country and state are defined from customer's entered billing address."
|
11080 |
+
msgstr ""
|
11081 |
+
|
11082 |
#: includes/settings/wcj-settings-payment-gateways-by-country.php:16
|
11083 |
#: includes/settings/wcj-settings-payment-gateways-by-currency.php:16
|
11084 |
#: includes/settings/wcj-settings-payment-gateways-by-user-role.php:16
|
11104 |
|
11105 |
#: includes/settings/wcj-settings-payment-gateways-by-currency.php:27
|
11106 |
#, php-format
|
11107 |
+
msgid "PayPal allows only these currencies: %s."
|
11108 |
msgstr ""
|
11109 |
|
11110 |
#: includes/settings/wcj-settings-payment-gateways-by-currency.php:44
|
11293 |
msgstr ""
|
11294 |
|
11295 |
#: includes/settings/wcj-settings-payment-gateways-per-category.php:31
|
11296 |
+
#: includes/settings/wcj-settings-price-labels.php:125
|
11297 |
#: includes/settings/wcj-settings-product-input-fields.php:109
|
11298 |
msgid "Product Categories - Include"
|
11299 |
msgstr ""
|
11305 |
msgstr ""
|
11306 |
|
11307 |
#: includes/settings/wcj-settings-payment-gateways-per-category.php:42
|
11308 |
+
#: includes/settings/wcj-settings-price-labels.php:134
|
11309 |
#: includes/settings/wcj-settings-product-input-fields.php:120
|
11310 |
msgid "Product Categories - Exclude"
|
11311 |
msgstr ""
|
11317 |
msgstr ""
|
11318 |
|
11319 |
#: includes/settings/wcj-settings-payment-gateways-per-category.php:54
|
11320 |
+
#: includes/settings/wcj-settings-price-labels.php:107
|
11321 |
#: includes/settings/wcj-settings-product-input-fields.php:154
|
11322 |
msgid "Products - Include"
|
11323 |
msgstr ""
|
11329 |
msgstr ""
|
11330 |
|
11331 |
#: includes/settings/wcj-settings-payment-gateways-per-category.php:67
|
11332 |
+
#: includes/settings/wcj-settings-price-labels.php:116
|
11333 |
#: includes/settings/wcj-settings-product-input-fields.php:166
|
11334 |
msgid "Products - Exclude"
|
11335 |
msgstr ""
|
11371 |
msgid "Admin Title Custom Gateway"
|
11372 |
msgstr ""
|
11373 |
|
11374 |
+
#: includes/settings/wcj-settings-payment-gateways.php:54
|
11375 |
+
msgid "Gateways Input Fields"
|
11376 |
+
msgstr ""
|
11377 |
+
|
11378 |
+
#: includes/settings/wcj-settings-payment-gateways.php:55
|
11379 |
+
#: includes/settings/wcj-settings-pdf-invoicing-display.php:77
|
11380 |
+
msgid "Add \"Delete\" button"
|
11381 |
+
msgstr ""
|
11382 |
+
|
11383 |
+
#: includes/settings/wcj-settings-payment-gateways.php:56
|
11384 |
+
msgid ""
|
11385 |
+
"This will add \"Delete\" button to custom payment gateways input fields "
|
11386 |
+
"admin order meta box."
|
11387 |
+
msgstr ""
|
11388 |
+
|
11389 |
+
#: includes/settings/wcj-settings-pdf-invoicing-advanced.php:15
|
11390 |
+
msgid "Fonts download is disabled."
|
11391 |
+
msgstr ""
|
11392 |
+
|
11393 |
+
#: includes/settings/wcj-settings-pdf-invoicing-advanced.php:18
|
11394 |
+
msgid "Fonts are up to date."
|
11395 |
+
msgstr ""
|
11396 |
+
|
11397 |
+
#: includes/settings/wcj-settings-pdf-invoicing-advanced.php:19
|
11398 |
+
#, php-format
|
11399 |
+
msgid "Latest successful download or version check was on %s."
|
11400 |
+
msgstr ""
|
11401 |
+
|
11402 |
+
#: includes/settings/wcj-settings-pdf-invoicing-advanced.php:23
|
11403 |
+
msgid ""
|
11404 |
+
"Fonts are NOT up to date. Please try downloading by pressing the button "
|
11405 |
+
"below."
|
11406 |
+
msgstr ""
|
11407 |
+
|
11408 |
+
#: includes/settings/wcj-settings-pdf-invoicing-advanced.php:26
|
11409 |
+
#, php-format
|
11410 |
+
msgid "Latest successful downloaded version is %s."
|
11411 |
+
msgstr ""
|
11412 |
+
|
11413 |
+
#: includes/settings/wcj-settings-pdf-invoicing-advanced.php:32
|
11414 |
+
#, php-format
|
11415 |
+
msgid "Latest download executed on %s."
|
11416 |
+
msgstr ""
|
11417 |
+
|
11418 |
+
#: includes/settings/wcj-settings-pdf-invoicing-advanced.php:46
|
11419 |
+
msgid "Hide Disabled Docs Settings"
|
11420 |
+
msgstr ""
|
11421 |
+
|
11422 |
+
#: includes/settings/wcj-settings-pdf-invoicing-advanced.php:53
|
11423 |
+
msgid "Replace Admin Order Search with Invoice Search"
|
11424 |
+
msgstr ""
|
11425 |
+
|
11426 |
+
#: includes/settings/wcj-settings-pdf-invoicing-advanced.php:60
|
11427 |
+
msgid "Default Images Directory"
|
11428 |
+
msgstr ""
|
11429 |
+
|
11430 |
+
#: includes/settings/wcj-settings-pdf-invoicing-advanced.php:61
|
11431 |
+
msgid "Default images directory in TCPDF library (K_PATH_IMAGES)."
|
11432 |
+
msgstr ""
|
11433 |
+
|
11434 |
+
#: includes/settings/wcj-settings-pdf-invoicing-advanced.php:62
|
11435 |
+
msgid ""
|
11436 |
+
"Try changing this if you have issues displaying images in page background or "
|
11437 |
+
"header."
|
11438 |
+
msgstr ""
|
11439 |
+
|
11440 |
+
#: includes/settings/wcj-settings-pdf-invoicing-advanced.php:67
|
11441 |
+
msgid "Empty"
|
11442 |
+
msgstr ""
|
11443 |
+
|
11444 |
+
#: includes/settings/wcj-settings-pdf-invoicing-advanced.php:68
|
11445 |
+
msgid "TCPDF Default"
|
11446 |
+
msgstr ""
|
11447 |
+
|
11448 |
+
#: includes/settings/wcj-settings-pdf-invoicing-advanced.php:69
|
11449 |
+
msgid "ABSPATH"
|
11450 |
+
msgstr ""
|
11451 |
+
|
11452 |
+
#: includes/settings/wcj-settings-pdf-invoicing-advanced.php:70
|
11453 |
+
msgid "DOCUMENT_ROOT"
|
11454 |
+
msgstr ""
|
11455 |
+
|
11456 |
+
#: includes/settings/wcj-settings-pdf-invoicing-advanced.php:74
|
11457 |
+
msgid "Temp Directory"
|
11458 |
+
msgstr ""
|
11459 |
+
|
11460 |
+
#: includes/settings/wcj-settings-pdf-invoicing-advanced.php:75
|
11461 |
+
msgid "Leave blank to use the default temp directory."
|
11462 |
+
msgstr ""
|
11463 |
+
|
11464 |
+
#: includes/settings/wcj-settings-pdf-invoicing-advanced.php:86
|
11465 |
+
msgid "Fonts Manager"
|
11466 |
+
msgstr ""
|
11467 |
+
|
11468 |
+
#: includes/settings/wcj-settings-pdf-invoicing-advanced.php:95
|
11469 |
+
msgid "Re-download"
|
11470 |
+
msgstr ""
|
11471 |
+
|
11472 |
+
#: includes/settings/wcj-settings-pdf-invoicing-advanced.php:100
|
11473 |
+
msgid "Disable Fonts Download"
|
11474 |
+
msgstr ""
|
11475 |
+
|
11476 |
+
#: includes/settings/wcj-settings-pdf-invoicing-advanced.php:111
|
11477 |
+
msgid "General Display Options"
|
11478 |
+
msgstr ""
|
11479 |
+
|
11480 |
+
#: includes/settings/wcj-settings-pdf-invoicing-advanced.php:116
|
11481 |
+
msgid "Add PDF Invoices Meta Box to Admin Edit Order Page"
|
11482 |
+
msgstr ""
|
11483 |
+
|
11484 |
+
#: includes/settings/wcj-settings-pdf-invoicing-advanced.php:127
|
11485 |
+
msgid "Report Tool Options"
|
11486 |
+
msgstr ""
|
11487 |
+
|
11488 |
+
#: includes/settings/wcj-settings-pdf-invoicing-advanced.php:132
|
11489 |
+
msgid "Reports Filename"
|
11490 |
+
msgstr ""
|
11491 |
+
|
11492 |
+
#: includes/settings/wcj-settings-pdf-invoicing-advanced.php:140
|
11493 |
+
msgid "Report Columns"
|
11494 |
+
msgstr ""
|
11495 |
+
|
11496 |
+
#: includes/settings/wcj-settings-pdf-invoicing-advanced.php:141
|
11497 |
+
msgid "Leave blank to show all columns."
|
11498 |
+
msgstr ""
|
11499 |
+
|
11500 |
+
#: includes/settings/wcj-settings-pdf-invoicing-advanced.php:149
|
11501 |
+
msgid "Tax Percent Precision"
|
11502 |
+
msgstr ""
|
11503 |
+
|
11504 |
+
#: includes/settings/wcj-settings-pdf-invoicing-advanced.php:162
|
11505 |
+
msgid "CSV UTF-8 BOM"
|
11506 |
+
msgstr ""
|
11507 |
+
|
11508 |
+
#: includes/settings/wcj-settings-pdf-invoicing-advanced.php:169
|
11509 |
+
msgid "Replace Periods with Commas in CSV Data"
|
11510 |
+
msgstr ""
|
11511 |
+
|
11512 |
+
#: includes/settings/wcj-settings-pdf-invoicing-advanced.php:170
|
11513 |
+
msgid "Replace"
|
11514 |
+
msgstr ""
|
11515 |
+
|
11516 |
#: includes/settings/wcj-settings-pdf-invoicing-display.php:25
|
11517 |
+
#: includes/settings/wcj-settings-price-by-country.php:252
|
11518 |
#: includes/settings/wcj-settings-shipping.php:30
|
11519 |
msgid "Admin Title"
|
11520 |
msgstr ""
|
11539 |
msgid "Add \"Create\" button"
|
11540 |
msgstr ""
|
11541 |
|
|
|
|
|
|
|
|
|
11542 |
#: includes/settings/wcj-settings-pdf-invoicing-display.php:84
|
11543 |
msgid "\"Create\" button requires confirmation"
|
11544 |
msgstr ""
|
11585 |
msgid "If set to empty - Administrator role will be used."
|
11586 |
msgstr ""
|
11587 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
11588 |
#: includes/settings/wcj-settings-pdf-invoicing-emails.php:53
|
11589 |
msgid "Attach PDF to emails"
|
11590 |
msgstr ""
|
11758 |
msgid "Make Font Shadowed"
|
11759 |
msgstr ""
|
11760 |
|
11761 |
+
#: includes/settings/wcj-settings-pdf-invoicing-templates.php:12
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
11762 |
#, php-format
|
11763 |
+
msgid "For the list of available shortcodes, please visit %s."
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
11764 |
msgstr ""
|
11765 |
|
11766 |
+
#: includes/settings/wcj-settings-pdf-invoicing-templates.php:28
|
11767 |
msgid "HTML Template"
|
11768 |
msgstr ""
|
11769 |
|
11770 |
+
#: includes/settings/wcj-settings-pdf-invoicing-templates.php:36
|
11771 |
msgid "Save all templates"
|
11772 |
msgstr ""
|
11773 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
11774 |
#: includes/settings/wcj-settings-pdf-invoicing.php:14
|
11775 |
+
msgid "Documents Options"
|
11776 |
msgstr ""
|
11777 |
|
11778 |
#: includes/settings/wcj-settings-pdf-invoicing.php:23
|
11805 |
msgid "Do not create if order total equals zero"
|
11806 |
msgstr ""
|
11807 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
11808 |
#: includes/settings/wcj-settings-price-by-country.php:15
|
11809 |
msgid "Price by Country Options"
|
11810 |
msgstr ""
|
11905 |
msgstr ""
|
11906 |
|
11907 |
#: includes/settings/wcj-settings-price-by-country.php:112
|
11908 |
+
msgid "Per product options style"
|
11909 |
+
msgstr ""
|
11910 |
+
|
11911 |
+
#: includes/settings/wcj-settings-price-by-country.php:117
|
11912 |
+
msgid "Inline"
|
11913 |
+
msgstr ""
|
11914 |
+
|
11915 |
+
#: includes/settings/wcj-settings-price-by-country.php:118
|
11916 |
+
msgid "Separate meta box"
|
11917 |
+
msgstr ""
|
11918 |
+
|
11919 |
+
#: includes/settings/wcj-settings-price-by-country.php:122
|
11920 |
msgid "Price Filter Widget and Sorting by Price Support"
|
11921 |
msgstr ""
|
11922 |
|
11923 |
+
#: includes/settings/wcj-settings-price-by-country.php:125
|
11924 |
msgid "Recalculate price filter widget and sorting by price product prices"
|
11925 |
msgstr ""
|
11926 |
|
11927 |
+
#: includes/settings/wcj-settings-price-by-country.php:131
|
11928 |
msgid "Add Countries Flags Images to Select Drop-Down Box"
|
11929 |
msgstr ""
|
11930 |
|
11931 |
+
#: includes/settings/wcj-settings-price-by-country.php:133
|
11932 |
msgid ""
|
11933 |
"If you are using [wcj_country_select_drop_down_list] shortcode or \"Booster: "
|
11934 |
"Country Switcher\" widget, this will add country flags to these select boxes."
|
11935 |
msgstr ""
|
11936 |
|
11937 |
+
#: includes/settings/wcj-settings-price-by-country.php:139
|
11938 |
#: includes/settings/wcj-settings-price-by-user-role.php:62
|
11939 |
msgid "Search Engine Bots"
|
11940 |
msgstr ""
|
11941 |
|
11942 |
+
#: includes/settings/wcj-settings-price-by-country.php:140
|
11943 |
msgid "Disable Price by Country for Bots"
|
11944 |
msgstr ""
|
11945 |
|
11946 |
+
#: includes/settings/wcj-settings-price-by-country.php:150
|
11947 |
msgid "Country Groups"
|
11948 |
msgstr ""
|
11949 |
|
11950 |
+
#: includes/settings/wcj-settings-price-by-country.php:155
|
11951 |
msgid "Countries Selection"
|
11952 |
msgstr ""
|
11953 |
|
11954 |
+
#: includes/settings/wcj-settings-price-by-country.php:156
|
11955 |
msgid "Choose how do you want to enter countries groups in admin."
|
11956 |
msgstr ""
|
11957 |
|
11958 |
+
#: includes/settings/wcj-settings-price-by-country.php:161
|
11959 |
msgid "Comma separated list"
|
11960 |
msgstr ""
|
11961 |
|
11962 |
+
#: includes/settings/wcj-settings-price-by-country.php:162
|
11963 |
msgid "Multiselect"
|
11964 |
msgstr ""
|
11965 |
|
11966 |
+
#: includes/settings/wcj-settings-price-by-country.php:163
|
11967 |
msgid "Chosen select"
|
11968 |
msgstr ""
|
11969 |
|
11970 |
+
#: includes/settings/wcj-settings-price-by-country.php:167
|
11971 |
msgid "Autogenerate Groups"
|
11972 |
msgstr ""
|
11973 |
|
11974 |
+
#: includes/settings/wcj-settings-price-by-country.php:172
|
11975 |
msgid "Currencies supported in both PayPal and Yahoo Exchange Rates:"
|
11976 |
msgstr ""
|
11977 |
|
11978 |
+
#: includes/settings/wcj-settings-price-by-country.php:177
|
11979 |
msgid "Currencies supported in Yahoo Exchange Rates:"
|
11980 |
msgstr ""
|
11981 |
|
11982 |
+
#: includes/settings/wcj-settings-price-by-country.php:182
|
11983 |
msgid "All Countries and Currencies:"
|
11984 |
msgstr ""
|
11985 |
|
11986 |
+
#: includes/settings/wcj-settings-price-by-country.php:188
|
11987 |
msgid "Groups Number"
|
11988 |
msgstr ""
|
11989 |
|
11990 |
+
#: includes/settings/wcj-settings-price-by-country.php:212
|
11991 |
msgid ""
|
11992 |
"Countries. List of comma separated country codes.<br>For country codes and "
|
11993 |
"predifined sets visit <a href=\"http://booster.io/country-codes/\" target="
|
11994 |
"\"_blank\">http://booster.io/country-codes/</a>"
|
11995 |
msgstr ""
|
11996 |
|
11997 |
+
#: includes/settings/wcj-settings-price-by-country.php:298
|
11998 |
msgid "Multiply Price by"
|
11999 |
msgstr ""
|
12000 |
|
12135 |
"comma separated list. Leave empty to disable."
|
12136 |
msgstr ""
|
12137 |
|
12138 |
+
#: includes/settings/wcj-settings-price-labels.php:17
|
12139 |
+
msgid "Custom Price Labels - Per Product"
|
12140 |
msgstr ""
|
12141 |
|
12142 |
#: includes/settings/wcj-settings-price-labels.php:24
|
12143 |
+
msgid "This will add metaboxes to each product's admin edit page."
|
12144 |
+
msgstr ""
|
12145 |
+
|
12146 |
+
#: includes/settings/wcj-settings-price-labels.php:34
|
12147 |
+
msgid "Custom Price Labels - Globally"
|
12148 |
+
msgstr ""
|
12149 |
+
|
12150 |
+
#: includes/settings/wcj-settings-price-labels.php:36
|
12151 |
msgid "This section lets you set price labels for all products globally."
|
12152 |
msgstr ""
|
12153 |
|
12154 |
+
#: includes/settings/wcj-settings-price-labels.php:40
|
12155 |
msgid "Add before the price"
|
12156 |
msgstr ""
|
12157 |
|
12158 |
+
#: includes/settings/wcj-settings-price-labels.php:41
|
12159 |
msgid "Enter text to add before all products prices. Leave blank to disable."
|
12160 |
msgstr ""
|
12161 |
|
12162 |
+
#: includes/settings/wcj-settings-price-labels.php:50
|
12163 |
msgid "Add after the price"
|
12164 |
msgstr ""
|
12165 |
|
12166 |
+
#: includes/settings/wcj-settings-price-labels.php:51
|
12167 |
msgid "Enter text to add after all products prices. Leave blank to disable."
|
12168 |
msgstr ""
|
12169 |
|
12170 |
+
#: includes/settings/wcj-settings-price-labels.php:58
|
12171 |
msgid "Add between regular and sale prices"
|
12172 |
msgstr ""
|
12173 |
|
12174 |
+
#: includes/settings/wcj-settings-price-labels.php:59
|
12175 |
msgid ""
|
12176 |
"Enter text to add between regular and sale prices. Leave blank to disable."
|
12177 |
msgstr ""
|
12178 |
|
12179 |
+
#: includes/settings/wcj-settings-price-labels.php:68
|
12180 |
msgid "Remove from price"
|
12181 |
msgstr ""
|
12182 |
|
12183 |
+
#: includes/settings/wcj-settings-price-labels.php:69
|
12184 |
msgid "Enter text to remove from all products prices. Leave blank to disable."
|
12185 |
msgstr ""
|
12186 |
|
12187 |
+
#: includes/settings/wcj-settings-price-labels.php:78
|
12188 |
msgid "Replace in price"
|
12189 |
msgstr ""
|
12190 |
|
12191 |
+
#: includes/settings/wcj-settings-price-labels.php:79
|
12192 |
msgid "Enter text to replace in all products prices. Leave blank to disable."
|
12193 |
msgstr ""
|
12194 |
|
12195 |
+
#: includes/settings/wcj-settings-price-labels.php:90
|
12196 |
msgid "Enter text to replace with. Leave blank to disable."
|
12197 |
msgstr ""
|
12198 |
|
12199 |
+
#: includes/settings/wcj-settings-price-labels.php:100
|
12200 |
msgid "Enter text to display instead of the price. Leave blank to disable."
|
12201 |
msgstr ""
|
12202 |
|
12203 |
+
#: includes/settings/wcj-settings-price-labels.php:108
|
12204 |
msgid ""
|
12205 |
"Apply global price labels only for selected products. Leave blank to disable "
|
12206 |
"the option."
|
12207 |
msgstr ""
|
12208 |
|
12209 |
+
#: includes/settings/wcj-settings-price-labels.php:117
|
12210 |
msgid ""
|
12211 |
"Do not apply global price labels only for selected products. Leave blank to "
|
12212 |
"disable the option."
|
12213 |
msgstr ""
|
12214 |
|
12215 |
+
#: includes/settings/wcj-settings-price-labels.php:126
|
12216 |
msgid ""
|
12217 |
"Apply global price labels only for selected product categories. Leave blank "
|
12218 |
"to disable the option."
|
12219 |
msgstr ""
|
12220 |
|
12221 |
+
#: includes/settings/wcj-settings-price-labels.php:135
|
12222 |
msgid ""
|
12223 |
"Do not apply global price labels only for selected product categories. Leave "
|
12224 |
"blank to disable the option."
|
12225 |
msgstr ""
|
12226 |
|
12227 |
+
#: includes/settings/wcj-settings-price-labels.php:143
|
12228 |
msgid "Product Types - Include"
|
12229 |
msgstr ""
|
12230 |
|
12231 |
+
#: includes/settings/wcj-settings-price-labels.php:144
|
12232 |
msgid ""
|
12233 |
"Apply global price labels only for selected product types. Leave blank to "
|
12234 |
"disable the option."
|
12235 |
msgstr ""
|
12236 |
|
12237 |
+
#: includes/settings/wcj-settings-price-labels.php:149
|
12238 |
msgid "Variable product's variation"
|
12239 |
msgstr ""
|
12240 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
12241 |
#: includes/settings/wcj-settings-product-add-to-cart.php:14
|
12242 |
#: includes/settings/meta-box/wcj-settings-meta-box-product-add-to-cart.php:23
|
12243 |
msgid "Add to Cart Local Redirect"
|
12257 |
"disabled."
|
12258 |
msgstr ""
|
12259 |
|
|
|
|
|
|
|
|
|
|
|
12260 |
#: includes/settings/wcj-settings-product-add-to-cart.php:31
|
12261 |
msgid "URL - All Products"
|
12262 |
msgstr ""
|
12268 |
"page)."
|
12269 |
msgstr ""
|
12270 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
12271 |
#: includes/settings/wcj-settings-product-add-to-cart.php:40
|
12272 |
#: includes/settings/wcj-settings-product-tabs.php:213
|
12273 |
msgid "This will add meta boxes to each product's edit page."
|
12350 |
msgstr ""
|
12351 |
|
12352 |
#: includes/settings/wcj-settings-product-add-to-cart.php:172
|
12353 |
+
msgid "Add to Cart Button Custom URL"
|
12354 |
msgstr ""
|
12355 |
|
12356 |
#: includes/settings/wcj-settings-product-add-to-cart.php:177
|
12357 |
+
msgid "Custom Add to Cart Buttons URL on Archives on per Product Basis"
|
12358 |
msgstr ""
|
12359 |
|
12360 |
+
#: includes/settings/wcj-settings-product-add-to-cart.php:189
|
12361 |
+
msgid "Add to Cart Button AJAX"
|
12362 |
msgstr ""
|
12363 |
|
12364 |
+
#: includes/settings/wcj-settings-product-add-to-cart.php:194
|
12365 |
+
msgid "Disable/Enable Add to Cart Button AJAX on per Product Basis"
|
|
|
12366 |
msgstr ""
|
12367 |
|
12368 |
+
#: includes/settings/wcj-settings-product-add-to-cart.php:211
|
12369 |
+
msgid "Open External Products on Add to Cart in New Window"
|
12370 |
msgstr ""
|
12371 |
|
12372 |
+
#: includes/settings/wcj-settings-product-add-to-cart.php:212
|
12373 |
+
msgid "Enable on Single Product Pages"
|
12374 |
msgstr ""
|
12375 |
|
12376 |
+
#: includes/settings/wcj-settings-product-add-to-cart.php:219
|
12377 |
+
msgid "Enable on Category/Archive Pages"
|
12378 |
msgstr ""
|
12379 |
|
12380 |
+
#: includes/settings/wcj-settings-product-add-to-cart.php:230
|
12381 |
+
msgid "Add to Cart Message Options"
|
12382 |
msgstr ""
|
12383 |
|
12384 |
+
#: includes/settings/wcj-settings-product-add-to-cart.php:235
|
12385 |
+
msgid "Change \"Continue shopping\" Text"
|
12386 |
msgstr ""
|
12387 |
|
12388 |
+
#: includes/settings/wcj-settings-product-add-to-cart.php:249
|
12389 |
+
msgid "Change \"View cart\" Text"
|
12390 |
msgstr ""
|
12391 |
|
12392 |
+
#: includes/settings/wcj-settings-product-add-to-cart.php:267
|
12393 |
+
msgid "Add to Cart Button Position Options"
|
12394 |
msgstr ""
|
12395 |
|
12396 |
+
#: includes/settings/wcj-settings-product-add-to-cart.php:272
|
12397 |
+
msgid "Add to Cart Button Position"
|
12398 |
msgstr ""
|
12399 |
|
12400 |
+
#: includes/settings/wcj-settings-product-add-to-cart.php:279
|
12401 |
+
msgid "Reposition Button on Single Product Pages"
|
12402 |
msgstr ""
|
12403 |
|
12404 |
+
#: includes/settings/wcj-settings-product-add-to-cart.php:297
|
12405 |
+
#: includes/settings/wcj-settings-product-add-to-cart.php:333
|
12406 |
+
msgid "Priority"
|
12407 |
msgstr ""
|
12408 |
|
12409 |
+
#: includes/settings/wcj-settings-product-add-to-cart.php:298
|
12410 |
+
#, php-format
|
12411 |
+
msgid ""
|
12412 |
+
"Here are the default WooCommerce priorities for \"Inside single product "
|
12413 |
+
"summary\" position: %s"
|
12414 |
+
msgstr ""
|
12415 |
+
|
12416 |
+
#: includes/settings/wcj-settings-product-add-to-cart.php:301
|
12417 |
+
msgid "Rating"
|
12418 |
+
msgstr ""
|
12419 |
+
|
12420 |
+
#: includes/settings/wcj-settings-product-add-to-cart.php:303
|
12421 |
+
msgid "Excerpt"
|
12422 |
+
msgstr ""
|
12423 |
+
|
12424 |
+
#: includes/settings/wcj-settings-product-add-to-cart.php:305
|
12425 |
+
msgid "Sharing"
|
12426 |
+
msgstr ""
|
12427 |
+
|
12428 |
+
#: includes/settings/wcj-settings-product-add-to-cart.php:314
|
12429 |
+
msgid "Reposition Button on Category/Archive Pages"
|
12430 |
+
msgstr ""
|
12431 |
+
|
12432 |
+
#: includes/settings/wcj-settings-product-addons.php:17
|
12433 |
+
msgid "New order"
|
12434 |
+
msgstr ""
|
12435 |
+
|
12436 |
+
#: includes/settings/wcj-settings-product-addons.php:20
|
12437 |
+
#, php-format
|
12438 |
+
msgid "Order status \"%s\""
|
12439 |
msgstr ""
|
12440 |
|
12441 |
+
#: includes/settings/wcj-settings-product-addons.php:31
|
12442 |
msgid "Enable per Product Addons"
|
12443 |
msgstr ""
|
12444 |
|
12445 |
+
#: includes/settings/wcj-settings-product-addons.php:33
|
12446 |
msgid ""
|
12447 |
"When enabled, this will add new \"Booster: Product Addons\" meta box to each "
|
12448 |
"product's edit page."
|
12449 |
msgstr ""
|
12450 |
|
12451 |
+
#: includes/settings/wcj-settings-product-addons.php:45
|
12452 |
msgid "All Product Options"
|
12453 |
msgstr ""
|
12454 |
|
12455 |
+
#: includes/settings/wcj-settings-product-addons.php:50
|
12456 |
msgid "Enable All Products Addons"
|
12457 |
msgstr ""
|
12458 |
|
12459 |
+
#: includes/settings/wcj-settings-product-addons.php:52
|
12460 |
msgid "When enabled, this will add addons below to all products."
|
12461 |
msgstr ""
|
12462 |
|
12463 |
+
#: includes/settings/wcj-settings-product-addons.php:58
|
12464 |
#: includes/settings/meta-box/wcj-settings-meta-box-product-addons.php:28
|
12465 |
msgid "Product Addons Total Number"
|
12466 |
msgstr ""
|
12467 |
|
12468 |
+
#: includes/settings/wcj-settings-product-addons.php:59
|
12469 |
msgid "Save changes after you change this number."
|
12470 |
msgstr ""
|
12471 |
|
12472 |
+
#: includes/settings/wcj-settings-product-addons.php:74
|
12473 |
#: includes/settings/meta-box/wcj-settings-meta-box-product-addons.php:35
|
12474 |
msgid "Product Addon"
|
12475 |
msgstr ""
|
12476 |
|
12477 |
+
#: includes/settings/wcj-settings-product-addons.php:87
|
12478 |
#: includes/settings/meta-box/wcj-settings-meta-box-product-addons.php:51
|
12479 |
msgid "Radio Buttons"
|
12480 |
msgstr ""
|
12481 |
|
12482 |
+
#: includes/settings/wcj-settings-product-addons.php:88
|
12483 |
#: includes/settings/meta-box/wcj-settings-meta-box-product-addons.php:52
|
12484 |
msgid "Select Box"
|
12485 |
msgstr ""
|
12486 |
|
12487 |
+
#: includes/settings/wcj-settings-product-addons.php:99
|
12488 |
#: includes/settings/meta-box/wcj-settings-meta-box-product-addons.php:63
|
12489 |
msgid "Label(s)"
|
12490 |
msgstr ""
|
12491 |
|
12492 |
+
#: includes/settings/wcj-settings-product-addons.php:100
|
12493 |
+
#: includes/settings/wcj-settings-product-addons.php:107
|
12494 |
#: includes/settings/meta-box/wcj-settings-meta-box-product-addons.php:64
|
12495 |
#: includes/settings/meta-box/wcj-settings-meta-box-product-addons.php:71
|
12496 |
msgid "For radio and select enter one value per line."
|
12497 |
msgstr ""
|
12498 |
|
12499 |
+
#: includes/settings/wcj-settings-product-addons.php:106
|
12500 |
#: includes/settings/meta-box/wcj-settings-meta-box-product-addons.php:70
|
12501 |
msgid "Price(s)"
|
12502 |
msgstr ""
|
12503 |
|
12504 |
+
#: includes/settings/wcj-settings-product-addons.php:114
|
12505 |
#: includes/settings/meta-box/wcj-settings-meta-box-product-addons.php:77
|
12506 |
msgid "Tooltip(s)"
|
12507 |
msgstr ""
|
12508 |
|
12509 |
+
#: includes/settings/wcj-settings-product-addons.php:115
|
12510 |
#: includes/settings/meta-box/wcj-settings-meta-box-product-addons.php:78
|
12511 |
msgid "For radio enter one value per line."
|
12512 |
msgstr ""
|
12513 |
|
12514 |
+
#: includes/settings/wcj-settings-product-addons.php:121
|
12515 |
#: includes/settings/wcj-settings-purchase-data.php:83
|
12516 |
#: includes/settings/meta-box/wcj-settings-meta-box-product-addons.php:84
|
12517 |
msgid "Default Value"
|
12518 |
msgstr ""
|
12519 |
|
12520 |
+
#: includes/settings/wcj-settings-product-addons.php:122
|
12521 |
#: includes/settings/meta-box/wcj-settings-meta-box-product-addons.php:85
|
12522 |
msgid ""
|
12523 |
"For checkbox use 'checked'; for radio and select enter default label. Leave "
|
12524 |
"blank for no default value."
|
12525 |
msgstr ""
|
12526 |
|
12527 |
+
#: includes/settings/wcj-settings-product-addons.php:129
|
12528 |
#: includes/settings/meta-box/wcj-settings-meta-box-product-addons.php:92
|
12529 |
msgid "For \"Select Box\" type only."
|
12530 |
msgstr ""
|
12531 |
|
12532 |
+
#: includes/settings/wcj-settings-product-addons.php:135
|
12533 |
#: includes/settings/wcj-settings-product-by-user.php:45
|
12534 |
msgid "Is Required"
|
12535 |
msgstr ""
|
12536 |
|
12537 |
+
#: includes/settings/wcj-settings-product-addons.php:150
|
12538 |
+
#: includes/settings/meta-box/wcj-settings-meta-box-product-addons.php:109
|
12539 |
+
msgid ""
|
12540 |
+
"Leave empty to disable quantity calculation for the addon. When set to zero "
|
12541 |
+
"- addon will be disabled."
|
12542 |
+
msgstr ""
|
12543 |
+
|
12544 |
+
#: includes/settings/wcj-settings-product-addons.php:170
|
12545 |
msgid "Enable AJAX on Single Product Page"
|
12546 |
msgstr ""
|
12547 |
|
12548 |
+
#: includes/settings/wcj-settings-product-addons.php:177
|
12549 |
+
msgid "Decrease Quantity"
|
12550 |
+
msgstr ""
|
12551 |
+
|
12552 |
+
#: includes/settings/wcj-settings-product-addons.php:178
|
12553 |
+
msgid ""
|
12554 |
+
"If you select multiple triggers to decrease quantity, it will be decreased "
|
12555 |
+
"only once (on whichever trigger is executed first)."
|
12556 |
+
msgstr ""
|
12557 |
+
|
12558 |
+
#: includes/settings/wcj-settings-product-addons.php:186
|
12559 |
msgid "Addon in Cart Format"
|
12560 |
msgstr ""
|
12561 |
|
12562 |
+
#: includes/settings/wcj-settings-product-addons.php:193
|
12563 |
+
#: includes/settings/wcj-settings-product-addons.php:213
|
12564 |
msgid "Each Addon"
|
12565 |
msgstr ""
|
12566 |
|
12567 |
+
#: includes/settings/wcj-settings-product-addons.php:194
|
12568 |
+
#: includes/settings/wcj-settings-product-addons.php:214
|
12569 |
msgid "You can use %addon_label% and %addon_price%."
|
12570 |
msgstr ""
|
12571 |
|
12572 |
+
#: includes/settings/wcj-settings-product-addons.php:206
|
12573 |
msgid "Addon in Order Details Table Format"
|
12574 |
msgstr ""
|
12575 |
|
12576 |
+
#: includes/settings/wcj-settings-product-addons.php:226
|
12577 |
msgid "Admin Order Page"
|
12578 |
msgstr ""
|
12579 |
|
12580 |
+
#: includes/settings/wcj-settings-product-addons.php:227
|
12581 |
msgid "Hide all addons"
|
12582 |
msgstr ""
|
12583 |
|
12584 |
+
#: includes/settings/wcj-settings-product-addons.php:233
|
12585 |
msgid "Position Priority on Frontend"
|
12586 |
msgstr ""
|
12587 |
|
12588 |
+
#: includes/settings/wcj-settings-product-addons.php:234
|
12589 |
#: includes/settings/wcj-settings-shipping-by-condition.php:84
|
12590 |
#: includes/settings/wcj-settings-shipping-options.php:41
|
12591 |
msgid "Set to zero to use the default priority."
|
12971 |
#: includes/settings/wcj-settings-product-images.php:49
|
12972 |
#: includes/settings/wcj-settings-product-images.php:58
|
12973 |
#: includes/settings/wcj-settings-product-images.php:67
|
12974 |
+
#: includes/settings/wcj-settings-products-xml.php:107
|
12975 |
#: includes/settings/meta-box/wcj-settings-meta-box-product-images.php:18
|
12976 |
#: includes/settings/meta-box/wcj-settings-meta-box-product-images.php:25
|
12977 |
msgid "You can use shortcodes here."
|
13025 |
msgstr ""
|
13026 |
|
13027 |
#: includes/settings/wcj-settings-product-custom-info.php:160
|
13028 |
+
#: includes/settings/wcj-settings-products-xml.php:140
|
13029 |
msgid "Products to Include"
|
13030 |
msgstr ""
|
13031 |
|
13032 |
#: includes/settings/wcj-settings-product-custom-info.php:171
|
13033 |
+
#: includes/settings/wcj-settings-products-xml.php:150
|
13034 |
msgid "Products to Exclude"
|
13035 |
msgstr ""
|
13036 |
|
13210 |
#: includes/settings/wcj-settings-product-input-fields.php:144
|
13211 |
#: includes/settings/wcj-settings-product-input-fields.php:156
|
13212 |
#: includes/settings/wcj-settings-product-input-fields.php:168
|
13213 |
+
#: includes/settings/wcj-settings-wholesale-price.php:76
|
13214 |
msgid "Leave blank to include all products."
|
13215 |
msgstr ""
|
13216 |
|
13758 |
"WP_Query call. Leave default value if not sure."
|
13759 |
msgstr ""
|
13760 |
|
13761 |
+
#: includes/settings/wcj-settings-products-xml.php:52
|
13762 |
+
msgid ""
|
13763 |
+
"If you've made any changes in module's settings - don't forget to save "
|
13764 |
+
"changes before clicking this button."
|
13765 |
+
msgstr ""
|
13766 |
+
|
13767 |
+
#: includes/settings/wcj-settings-products-xml.php:53
|
13768 |
msgid "Create Now"
|
13769 |
msgstr ""
|
13770 |
|
13771 |
+
#: includes/settings/wcj-settings-products-xml.php:59
|
13772 |
#, php-format
|
13773 |
msgid "Recent file was created on %s"
|
13774 |
msgstr ""
|
13775 |
|
13776 |
+
#: includes/settings/wcj-settings-products-xml.php:66
|
13777 |
msgid "XML File"
|
13778 |
msgstr ""
|
13779 |
|
13780 |
+
#: includes/settings/wcj-settings-products-xml.php:79
|
13781 |
msgid "XML Header"
|
13782 |
msgstr ""
|
13783 |
|
13784 |
+
#: includes/settings/wcj-settings-products-xml.php:80
|
13785 |
+
#, php-format
|
13786 |
+
msgid "You can use shortcodes here. For example %s."
|
13787 |
msgstr ""
|
13788 |
|
13789 |
+
#: includes/settings/wcj-settings-products-xml.php:87
|
13790 |
msgid "XML Item"
|
13791 |
msgstr ""
|
13792 |
|
13793 |
+
#: includes/settings/wcj-settings-products-xml.php:89
|
13794 |
#, php-format
|
13795 |
msgid ""
|
13796 |
"You can use shortcodes here. Please take a look at <a target=\"_blank\" href="
|
13797 |
"\"%s\">Booster's products shortcodes</a>."
|
13798 |
msgstr ""
|
13799 |
|
13800 |
+
#: includes/settings/wcj-settings-products-xml.php:106
|
13801 |
msgid "XML Footer"
|
13802 |
msgstr ""
|
13803 |
|
13804 |
+
#: includes/settings/wcj-settings-products-xml.php:114
|
13805 |
msgid "XML File Path and Name"
|
13806 |
msgstr ""
|
13807 |
|
13808 |
+
#: includes/settings/wcj-settings-products-xml.php:115
|
13809 |
msgid "Path on server:"
|
13810 |
msgstr ""
|
13811 |
|
13812 |
+
#: includes/settings/wcj-settings-products-xml.php:123
|
13813 |
msgid "Update Period"
|
13814 |
msgstr ""
|
13815 |
|
13816 |
+
#: includes/settings/wcj-settings-products-xml.php:135
|
13817 |
msgid ""
|
13818 |
"Possible update periods are: every minute, hourly, twice daily, daily and "
|
13819 |
"weekly."
|
13820 |
msgstr ""
|
13821 |
|
13822 |
+
#: includes/settings/wcj-settings-products-xml.php:141
|
13823 |
msgid ""
|
13824 |
"To include selected products only, enter products here. Leave blank to "
|
13825 |
"include all products."
|
13826 |
msgstr ""
|
13827 |
|
13828 |
+
#: includes/settings/wcj-settings-products-xml.php:151
|
13829 |
msgid ""
|
13830 |
"To exclude selected products, enter products here. Leave blank to include "
|
13831 |
"all products."
|
13832 |
msgstr ""
|
13833 |
|
13834 |
+
#: includes/settings/wcj-settings-products-xml.php:159
|
13835 |
msgid "Categories to Include"
|
13836 |
msgstr ""
|
13837 |
|
13838 |
+
#: includes/settings/wcj-settings-products-xml.php:160
|
13839 |
msgid ""
|
13840 |
"To include products from selected categories only, enter categories here. "
|
13841 |
"Leave blank to include all products."
|
13842 |
msgstr ""
|
13843 |
|
13844 |
+
#: includes/settings/wcj-settings-products-xml.php:168
|
13845 |
msgid "Categories to Exclude"
|
13846 |
msgstr ""
|
13847 |
|
13848 |
+
#: includes/settings/wcj-settings-products-xml.php:169
|
13849 |
msgid ""
|
13850 |
"To exclude products from selected categories, enter categories here. Leave "
|
13851 |
"blank to include all products."
|
13852 |
msgstr ""
|
13853 |
|
13854 |
+
#: includes/settings/wcj-settings-products-xml.php:177
|
13855 |
msgid "Tags to Include"
|
13856 |
msgstr ""
|
13857 |
|
13858 |
+
#: includes/settings/wcj-settings-products-xml.php:178
|
13859 |
msgid ""
|
13860 |
"To include products from selected tags only, enter tags here. Leave blank to "
|
13861 |
"include all products."
|
13862 |
msgstr ""
|
13863 |
|
13864 |
+
#: includes/settings/wcj-settings-products-xml.php:186
|
13865 |
msgid "Tags to Exclude"
|
13866 |
msgstr ""
|
13867 |
|
13868 |
+
#: includes/settings/wcj-settings-products-xml.php:187
|
13869 |
msgid ""
|
13870 |
"To exclude products from selected tags, enter tags here. Leave blank to "
|
13871 |
"include all products."
|
13872 |
msgstr ""
|
13873 |
|
13874 |
+
#: includes/settings/wcj-settings-products-xml.php:195
|
13875 |
msgid "Products Scope"
|
13876 |
msgstr ""
|
13877 |
|
13878 |
+
#: includes/settings/wcj-settings-products-xml.php:201
|
13879 |
msgid "Only products that are on sale"
|
13880 |
msgstr ""
|
13881 |
|
13882 |
+
#: includes/settings/wcj-settings-products-xml.php:203
|
13883 |
msgid "Only products that are featured"
|
13884 |
msgstr ""
|
13885 |
|
13886 |
+
#: includes/settings/wcj-settings-products-xml.php:204
|
13887 |
msgid "Only products that are not featured"
|
13888 |
msgstr ""
|
13889 |
|
14217 |
msgid "Hide on Single Page Only"
|
14218 |
msgstr ""
|
14219 |
|
|
|
|
|
|
|
|
|
14220 |
#: includes/settings/wcj-settings-sale-flash.php:81
|
14221 |
msgid "Per Tag"
|
14222 |
msgstr ""
|
14949 |
msgstr ""
|
14950 |
|
14951 |
#: includes/settings/wcj-settings-wholesale-price.php:42
|
14952 |
+
msgid "Round single product price"
|
14953 |
+
msgstr ""
|
14954 |
+
|
14955 |
+
#: includes/settings/wcj-settings-wholesale-price.php:43
|
14956 |
+
msgid ""
|
14957 |
+
"If enabled will round single product price with precision set in WooCommerce "
|
14958 |
+
"> Settings > General > Number of decimals."
|
14959 |
+
msgstr ""
|
14960 |
+
|
14961 |
+
#: includes/settings/wcj-settings-wholesale-price.php:50
|
14962 |
msgid "Show discount info on cart page"
|
14963 |
msgstr ""
|
14964 |
|
14965 |
+
#: includes/settings/wcj-settings-wholesale-price.php:57
|
14966 |
msgid "If show discount info on cart page is enabled, set format here"
|
14967 |
msgstr ""
|
14968 |
|
14969 |
+
#: includes/settings/wcj-settings-wholesale-price.php:65
|
14970 |
#: includes/settings/meta-box/wcj-settings-meta-box-wholesale-price.php:41
|
14971 |
msgid "Discount Type"
|
14972 |
msgstr ""
|
14973 |
|
14974 |
+
#: includes/settings/wcj-settings-wholesale-price.php:75
|
14975 |
msgid "Products to include"
|
14976 |
msgstr ""
|
14977 |
|
14978 |
+
#: includes/settings/wcj-settings-wholesale-price.php:84
|
14979 |
msgid "Products to exclude"
|
14980 |
msgstr ""
|
14981 |
|
14982 |
+
#: includes/settings/wcj-settings-wholesale-price.php:96
|
14983 |
msgid "Wholesale Levels Options"
|
14984 |
msgstr ""
|
14985 |
|
14986 |
+
#: includes/settings/wcj-settings-wholesale-price.php:101
|
14987 |
+
#: includes/settings/wcj-settings-wholesale-price.php:158
|
14988 |
#: includes/settings/meta-box/wcj-settings-meta-box-wholesale-price.php:48
|
14989 |
#: includes/settings/meta-box/wcj-settings-meta-box-wholesale-price.php:84
|
14990 |
msgid "Number of levels"
|
14991 |
msgstr ""
|
14992 |
|
14993 |
+
#: includes/settings/wcj-settings-wholesale-price.php:115
|
14994 |
+
#: includes/settings/wcj-settings-wholesale-price.php:172
|
14995 |
#: includes/settings/meta-box/wcj-settings-meta-box-wholesale-price.php:65
|
14996 |
#: includes/settings/meta-box/wcj-settings-meta-box-wholesale-price.php:101
|
14997 |
msgid "Min quantity"
|
14998 |
msgstr ""
|
14999 |
|
15000 |
+
#: includes/settings/wcj-settings-wholesale-price.php:116
|
15001 |
+
#: includes/settings/wcj-settings-wholesale-price.php:173
|
15002 |
msgid "Minimum quantity to apply discount"
|
15003 |
msgstr ""
|
15004 |
|
15005 |
+
#: includes/settings/wcj-settings-wholesale-price.php:123
|
15006 |
+
#: includes/settings/wcj-settings-wholesale-price.php:124
|
15007 |
+
#: includes/settings/wcj-settings-wholesale-price.php:180
|
15008 |
+
#: includes/settings/wcj-settings-wholesale-price.php:181
|
15009 |
#: includes/settings/meta-box/wcj-settings-meta-box-wholesale-price.php:72
|
15010 |
#: includes/settings/meta-box/wcj-settings-meta-box-wholesale-price.php:108
|
15011 |
msgid "Discount"
|
15012 |
msgstr ""
|
15013 |
|
15014 |
+
#: includes/settings/wcj-settings-wholesale-price.php:138
|
15015 |
msgid "Additional User Roles Options"
|
15016 |
msgstr ""
|
15017 |
|
15018 |
+
#: includes/settings/wcj-settings-wholesale-price.php:140
|
15019 |
msgid ""
|
15020 |
"If you want to set different wholesale pricing options for different user "
|
15021 |
"roles, fill this section. Please note that you can also use Booster's "
|
15022 |
"\"Price by User Role\" module without filling this section."
|
15023 |
msgstr ""
|
15024 |
|
15025 |
+
#: includes/settings/wcj-settings-wholesale-price.php:144
|
15026 |
msgid "User Roles Settings"
|
15027 |
msgstr ""
|
15028 |
|
15031 |
msgid "Regenerate wpml-config.xml file"
|
15032 |
msgstr ""
|
15033 |
|
15034 |
+
#: includes/settings/meta-box/wcj-settings-meta-box-add-to-cart-button-visibility.php:29
|
15035 |
+
msgid "Content to replace add to cart button on single product page."
|
15036 |
+
msgstr ""
|
15037 |
+
|
15038 |
+
#: includes/settings/meta-box/wcj-settings-meta-box-add-to-cart-button-visibility.php:40
|
15039 |
+
msgid "Category/Archives"
|
15040 |
+
msgstr ""
|
15041 |
+
|
15042 |
+
#: includes/settings/meta-box/wcj-settings-meta-box-add-to-cart-button-visibility.php:48
|
15043 |
+
msgid "Content to replace add to cart button on category/archives."
|
15044 |
+
msgstr ""
|
15045 |
+
|
15046 |
+
#: includes/settings/meta-box/wcj-settings-meta-box-admin-tools.php:18
|
15047 |
+
#, php-format
|
15048 |
+
msgid "Product ID: %s"
|
15049 |
+
msgstr ""
|
15050 |
+
|
15051 |
+
#: includes/settings/meta-box/wcj-settings-meta-box-admin-tools.php:25
|
15052 |
+
#: includes/settings/meta-box/wcj-settings-meta-box-price-by-country.php:45
|
15053 |
+
msgid "Regular price"
|
15054 |
+
msgstr ""
|
15055 |
+
|
15056 |
+
#: includes/settings/meta-box/wcj-settings-meta-box-admin-tools.php:33
|
15057 |
+
#: includes/settings/meta-box/wcj-settings-meta-box-price-by-country.php:54
|
15058 |
+
msgid "Sale price"
|
15059 |
+
msgstr ""
|
15060 |
+
|
15061 |
#: includes/settings/meta-box/wcj-settings-meta-box-crowdfunding.php:17
|
15062 |
msgid "Goal"
|
15063 |
msgstr ""
|
15111 |
msgid "Add to Cart Local Redirect URL"
|
15112 |
msgstr ""
|
15113 |
|
15114 |
+
#: includes/settings/meta-box/wcj-settings-meta-box-product-add-to-cart.php:55
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
15115 |
msgid "Custom Add to Cart Button URL (Category/Archives)"
|
15116 |
msgstr ""
|
15117 |
|
15118 |
+
#: includes/settings/meta-box/wcj-settings-meta-box-product-add-to-cart.php:66
|
15119 |
msgid "As shop default (no changes)"
|
15120 |
msgstr ""
|
15121 |
|
15122 |
+
#: includes/settings/meta-box/wcj-settings-meta-box-product-add-to-cart.php:70
|
15123 |
msgid "Disable Add to Cart Button AJAX"
|
15124 |
msgstr ""
|
15125 |
|
15157 |
msgid "Visible for User Roles"
|
15158 |
msgstr ""
|
15159 |
|
|
|
|
|
|
|
|
|
15160 |
#: includes/settings/meta-box/wcj-settings-meta-box-product-custom-visibility.php:15
|
15161 |
msgid "Visible"
|
15162 |
msgstr ""
|
15322 |
msgid "Enable Custom Shipping"
|
15323 |
msgstr ""
|
15324 |
|
15325 |
+
#: includes/shortcodes/class-wcj-shortcodes-general.php:87
|
15326 |
msgid "Tax toggle (incl.)"
|
15327 |
msgstr ""
|
15328 |
|
15329 |
+
#: includes/shortcodes/class-wcj-shortcodes-general.php:88
|
15330 |
msgid "Tax toggle (excl.)"
|
15331 |
msgstr ""
|
15332 |
|
15334 |
msgid "Attribute \"name\" is required!"
|
15335 |
msgstr ""
|
15336 |
|
15337 |
+
#: includes/shortcodes/class-wcj-shortcodes-order-items.php:189
|
15338 |
msgid "Standard"
|
15339 |
msgstr ""
|
15340 |
|
15341 |
+
#: includes/shortcodes/class-wcj-shortcodes-orders.php:111
|
15342 |
msgid "Dollars"
|
15343 |
msgstr ""
|
15344 |
|
15345 |
+
#: includes/shortcodes/class-wcj-shortcodes-orders.php:112
|
15346 |
msgid "Cents"
|
15347 |
msgstr ""
|
15348 |
|
15384 |
msgid "Edit Product"
|
15385 |
msgstr ""
|
15386 |
|
15387 |
+
#: includes/shortcodes/class-wcj-shortcodes-products.php:314
|
15388 |
#, php-format
|
15389 |
msgid "%s ago"
|
15390 |
msgstr ""
|
15391 |
|
15392 |
+
#: includes/shortcodes/class-wcj-shortcodes-products.php:330
|
15393 |
msgid "No sales yet."
|
15394 |
msgstr ""
|
15395 |
|
readme.txt
CHANGED
@@ -3,7 +3,7 @@ Contributors: algoritmika, anbinder
|
|
3 |
Tags: woocommerce, booster for woocommerce, woocommerce jetpack
|
4 |
Requires at least: 4.4
|
5 |
Tested up to: 4.9
|
6 |
-
Stable tag: 3.
|
7 |
License: GNU General Public License v3.0
|
8 |
License URI: http://www.gnu.org/licenses/gpl-3.0.html
|
9 |
|
@@ -35,7 +35,7 @@ Booster for WooCommerce is a WordPress plugin that supercharges your site with a
|
|
35 |
|
36 |
**Button & Price Labels**
|
37 |
|
38 |
-
* *Add to Cart Labels* - Change text for Add to Cart button by WooCommerce product type, by product category or for individual products.
|
39 |
* *Call for Price* - Create any custom price label for all WooCommerce products with empty price.
|
40 |
* *Custom Price Labels* - Create any custom price label for any WooCommerce product.
|
41 |
* *Free Price Labels* - WooCommerce free price labels.
|
@@ -43,11 +43,12 @@ Booster for WooCommerce is a WordPress plugin that supercharges your site with a
|
|
43 |
|
44 |
**Products**
|
45 |
|
|
|
|
|
46 |
* *Admin Products List* - Customize WooCommerce admin products list.
|
47 |
* *Bookings* - Add bookings products to WooCommerce.
|
48 |
* *Cost of Goods* - Save WooCommerce product purchase costs data for admin reports.
|
49 |
* *Crowdfunding* - Add crowdfunding products to WooCommerce.
|
50 |
-
* *Product Add to Cart* - Set any local url to redirect to on WooCommerce Add to Cart. Automatically add to cart on product visit. Display radio buttons instead of drop box for variable products. Disable quantity input. Disable add to cart button on per product basis. Open external products on add to cart in new window. Replace Add to Cart button on archives with button from single product pages. Customize Add to Cart messages.
|
51 |
* *Product Addons* - Add (paid/free/discount) addons to WooCommerce products.
|
52 |
* *Product Availability by Date* - WooCommerce product availability by date.
|
53 |
* *Product Availability by Time* - WooCommerce product availability by time.
|
@@ -132,6 +133,7 @@ Booster for WooCommerce is a WordPress plugin that supercharges your site with a
|
|
132 |
* *Email Verification* - Add WooCommerce email verification.
|
133 |
* *Export* - WooCommerce export tools.
|
134 |
* *General* - Custom roles tool. Shortcodes in WordPress text widgets.
|
|
|
135 |
* *My Account* - WooCommerce "My Account" page customization.
|
136 |
* *Old Slugs* - Remove old WooCommerce products slugs.
|
137 |
* *Reports* - WooCommerce stock, sales, customers etc. reports.
|
@@ -176,6 +178,78 @@ You can see the differences between versions in this [table](https://booster.io/
|
|
176 |
|
177 |
== Changelog ==
|
178 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
179 |
= 3.2.4 - 27/12/2017 =
|
180 |
* Dev - PRICES & CURRENCIES - Currencies - More cryptocurrencies added.
|
181 |
* Dev - PRICES & CURRENCIES - Currency Exchange Rates - Secondary "Exchange Rates Server" option added to each currency pair.
|
3 |
Tags: woocommerce, booster for woocommerce, woocommerce jetpack
|
4 |
Requires at least: 4.4
|
5 |
Tested up to: 4.9
|
6 |
+
Stable tag: 3.3.0
|
7 |
License: GNU General Public License v3.0
|
8 |
License URI: http://www.gnu.org/licenses/gpl-3.0.html
|
9 |
|
35 |
|
36 |
**Button & Price Labels**
|
37 |
|
38 |
+
* *Add to Cart Button Labels* - Change text for Add to Cart button by WooCommerce product type, by product category or for individual products.
|
39 |
* *Call for Price* - Create any custom price label for all WooCommerce products with empty price.
|
40 |
* *Custom Price Labels* - Create any custom price label for any WooCommerce product.
|
41 |
* *Free Price Labels* - WooCommerce free price labels.
|
43 |
|
44 |
**Products**
|
45 |
|
46 |
+
* *Add to Cart* - Set any local url to redirect to on WooCommerce Add to Cart. Automatically add to cart on product visit. Display radio buttons instead of drop box for variable products. Disable quantity input. Open external products on add to cart in new window. Replace Add to Cart button on archives with button from single product pages. Customize Add to Cart messages.
|
47 |
+
* *Add to Cart Button Visibility* - Enable/disable WooCommerce Add to Cart button globally or on per product basis.
|
48 |
* *Admin Products List* - Customize WooCommerce admin products list.
|
49 |
* *Bookings* - Add bookings products to WooCommerce.
|
50 |
* *Cost of Goods* - Save WooCommerce product purchase costs data for admin reports.
|
51 |
* *Crowdfunding* - Add crowdfunding products to WooCommerce.
|
|
|
52 |
* *Product Addons* - Add (paid/free/discount) addons to WooCommerce products.
|
53 |
* *Product Availability by Date* - WooCommerce product availability by date.
|
54 |
* *Product Availability by Time* - WooCommerce product availability by time.
|
133 |
* *Email Verification* - Add WooCommerce email verification.
|
134 |
* *Export* - WooCommerce export tools.
|
135 |
* *General* - Custom roles tool. Shortcodes in WordPress text widgets.
|
136 |
+
* *Modules By User Roles* - Enable/disable Booster for WooCommerce modules by user roles.
|
137 |
* *My Account* - WooCommerce "My Account" page customization.
|
138 |
* *Old Slugs* - Remove old WooCommerce products slugs.
|
139 |
* *Reports* - WooCommerce stock, sales, customers etc. reports.
|
178 |
|
179 |
== Changelog ==
|
180 |
|
181 |
+
= 3.3.0 - 11/01/2018 =
|
182 |
+
* Dev - PRICES & CURRENCIES - Currencies - Belarusian ruble code updated (from `BYR` to `BYN`).
|
183 |
+
* Dev - PRICES & CURRENCIES - Currency per Product - Advanced Options - "Save Converted Product Prices in Array" option added.
|
184 |
+
* Dev - PRICES & CURRENCIES - Prices and Currencies by Country - "Per product options style" option added.
|
185 |
+
* Dev - PRICES & CURRENCIES - Prices and Currencies by Country - Per product settings (`inline`) restyled.
|
186 |
+
* Dev - PRICES & CURRENCIES - Prices and Currencies by Country - Groups - "Admin Title" option added.
|
187 |
+
* Dev - PRICES & CURRENCIES - Product Open Pricing (Name Your Price) - Admin settings restyled.
|
188 |
+
* Dev - PRICES & CURRENCIES - Wholesale Price - "Round single product price" option added.
|
189 |
+
* Fix - PRICES & CURRENCIES - Wholesale Price - `wcj_is_product_wholesale_enabled()` - "Products to exclude" option fixed.
|
190 |
+
* Dev - BUTTON & PRICE LABELS - Add to Cart Button Labels - Module renamed (was "Add to Cart Labels").
|
191 |
+
* Dev - BUTTON & PRICE LABELS - Custom Price Labels - Passing product object to shortcodes (instead of product id).
|
192 |
+
* Dev - BUTTON & PRICE LABELS - Custom Price Labels - Admin settings restyled etc.
|
193 |
+
* Dev - BUTTON & PRICE LABELS - More Button Labels - "Override Default Text" option added.
|
194 |
+
* Dev - PRODUCTS - Add to Cart - "Add to Cart Button Position Options" section added.
|
195 |
+
* Dev - PRODUCTS - Add to Cart - Module renamed (was "Product Add to Cart").
|
196 |
+
* Dev - PRODUCTS - Add to Cart Button Visibility - Per Product - "Content" options added.
|
197 |
+
* Dev - PRODUCTS - Add to Cart Button Visibility - "Per Category" options added.
|
198 |
+
* Dev - PRODUCTS - Add to Cart Button Visibility - Initial module release (copied from "Product Add to Cart - Add to Cart Button Disabling").
|
199 |
+
* Dev - PRODUCTS - Product Addons - "Quantity" options added.
|
200 |
+
* Dev - PRODUCTS - Product Addons - Admin settings minor restyling.
|
201 |
+
* Dev - PRODUCTS - Product Visibility by User Role - Settings (meta box) restyled.
|
202 |
+
* Dev - PRODUCTS - Products XML Feeds - Admin settings - Minor changes.
|
203 |
+
* Dev - CART & CHECKOUT - Cart Custom Info - Admin settings minor restyling.
|
204 |
+
* Fix - CART & CHECKOUT - Checkout Core Fields - Override Fields - `required` added to options.
|
205 |
+
* Dev - CART & CHECKOUT - Checkout Custom Info - Admin settings minor restyling.
|
206 |
+
* Dev - CART & CHECKOUT - Checkout Customization - Customize "Returning customer?" message option added.
|
207 |
+
* Dev - CART & CHECKOUT - EU VAT Number - Admin order edit - Customer's VAT number added on admin customer select and on "Load billing address".
|
208 |
+
* Dev - CART & CHECKOUT - EU VAT Number - Admin order edit - "Validate VAT and remove taxes" button added.
|
209 |
+
* Dev - PAYMENT GATEWAYS - Custom Gateways - Advanced Options - Gateways Input Fields - "Add 'Delete' button" option added.
|
210 |
+
* Dev - PAYMENT GATEWAYS - Gateways by Country or State - Admin settings description updated. Minor code refactoring.
|
211 |
+
* Fix - PAYMENT GATEWAYS - Gateways by Currency - Admin settings - `$paypal_allowed_currencies_and_names` type fixed (changed to array).
|
212 |
+
* Dev - PAYMENT GATEWAYS - Gateways Fees and Discounts - "WooCommerce PayPal Express Checkout Payment Gateway" (by WooCommerce) plugin support added.
|
213 |
+
* Dev - SHIPPING & ORDERS - Admin Orders List - Admin settings - Minor restyling.
|
214 |
+
* Dev - SHIPPING & ORDERS - Left to Free Shipping - Outputting "You have Free delivery" if free shipping is available without order minimum amount (e.g. coupon).
|
215 |
+
* Dev - SHIPPING & ORDERS - Left to Free Shipping - Admin settings - Minor restyling.
|
216 |
+
* Fix - SHIPPING & ORDERS - Order Numbers - Orders Renumerate Tool - More info added when sequential number generation is enabled.
|
217 |
+
* Fix - SHIPPING & ORDERS - Order Numbers - `add_order_number_meta()` - Bug fixed (when "Number Generation" is set to "Order ID").
|
218 |
+
* Dev - SHIPPING & ORDERS - Order Numbers - Admin settings - Minor restyling.
|
219 |
+
* Dev - SHIPPING & ORDERS - Order Numbers - "Sequential: Reset Counter" option added.
|
220 |
+
* Dev - SHIPPING & ORDERS - Orders - "Country by IP" section added.
|
221 |
+
* Dev - PDF INVOICING & PACKING SLIPS - "Advanced" submodule added (some settings moved from "General", "Styling" and "Display & Misc." sections).
|
222 |
+
* Dev - PDF INVOICING & PACKING SLIPS - Display - Admin order meta box - Message if no document types are enabled added.
|
223 |
+
* Dev - PDF INVOICING & PACKING SLIPS - General - Admin settings minor restyling.
|
224 |
+
* Dev - PDF INVOICING & PACKING SLIPS - General - Report Tool Options - Report Columns - "Cart Total Excl. Tax", "Shipping Total Excl. Tax", "Cart Tax", "Shipping Tax", "Cart Tax %", "Shipping Tax %" columns added.
|
225 |
+
* Dev - PDF INVOICING & PACKING SLIPS - General - Report Tool Options - "Report Columns" option added.
|
226 |
+
* Dev - PDF INVOICING & PACKING SLIPS - General - Report Tool Options - "Tax Percent Precision" option added.
|
227 |
+
* Dev - PDF INVOICING & PACKING SLIPS - Templates - Admin settings minor restyling.
|
228 |
+
* Dev - EMAILS & MISC. - Admin Tools - Log tool restyled.
|
229 |
+
* Dev - EMAILS & MISC. - Admin Tools - "Show Variable Product Pricing Table" option added.
|
230 |
+
* Dev - EMAILS & MISC. - Modules By User Roles - Initial module release.
|
231 |
+
* Fix - EMAILS & MISC. - Reports - Customers - Flag images fixed.
|
232 |
+
* Dev - EMAILS & MISC. - Reports - Customers - Country sets updated.
|
233 |
+
* Dev - Shortcodes - General - `[wcj_tcpdf_rectangle]` shortcode added.
|
234 |
+
* Dev - Shortcodes - General - `[wcj_tcpdf_barcode]` and `[wcj_barcode]` - Code refactoring (corresponding functions added to `wcj-functions-general.php`).
|
235 |
+
* Dev - Shortcodes - Orders - `currency` attribute added to all shortcodes which use `wcj_price_shortcode()` function.
|
236 |
+
* Dev - Shortcodes - Orders - `[wcj_order_tcpdf_barcode]` shortcode added.
|
237 |
+
* Fix - Shortcodes - Orders - `[wcj_order_items_table]` - `item_subtotal_tax_excl`, `item_subtotal_tax_incl`, `line_subtotal_tax_excl`, `line_subtotal_tax_incl` and `line_subtax` columns fixed for "custom" items (i.e. "shipping and discount as item") for WC from v3.0.0.
|
238 |
+
* Dev - Shortcodes - Orders - `[wcj_order_items_table]` - `product_barcode` column added.
|
239 |
+
* Dev - Shortcodes - Orders - `[wcj_order_profit]` and `[wcj_order_items_cost]` shortcodes added.
|
240 |
+
* Dev - Shortcodes - Products - `[wcj_product_barcode]` shortcode added.
|
241 |
+
* Dev - Functions - General - `wcj_tcpdf_barcode()` - Border removed.
|
242 |
+
* Dev - Functions - Booster Core - `wcj-functions-core.php` file renamed to `wcj-functions-booster-core.php`.
|
243 |
+
* Dev - Functions - "Core" functions file added.
|
244 |
+
* Dev - Functions - Exchange Rates - `wcj_get_saved_exchange_rate()` - Returning `1` when `currency_from` equals `currency_to`.
|
245 |
+
* Fix - Functions - Price and Currency - `wcj_price_by_product_base_currency()` - Checking if currency exchange rate not equals zero (so no division by zero can happen).
|
246 |
+
* Dev - Settings - Readme generator `woojetpack_readme` removed.
|
247 |
+
* Dev - Classes - `WCJ_Module` - `create_meta_box()` - Tooltip restyled. Optional `css` attribute added to `title` type.
|
248 |
+
* Dev - Core - Options - Code refactoring.
|
249 |
+
* Dev - Core - Shortcodes - Code refactoring - Shortcodes objects saved in `WCJ()->shortcodes` array.
|
250 |
+
* Dev - Core - `wcj-constants.php` file moved to `core` directory.
|
251 |
+
* Dev - Version option name changed. Some filters renamed. "WC tested up to" added to plugin's header.
|
252 |
+
|
253 |
= 3.2.4 - 27/12/2017 =
|
254 |
* Dev - PRICES & CURRENCIES - Currencies - More cryptocurrencies added.
|
255 |
* Dev - PRICES & CURRENCIES - Currency Exchange Rates - Secondary "Exchange Rates Server" option added to each currency pair.
|
woocommerce-jetpack.php
CHANGED
@@ -3,12 +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.
|
6 |
-
Version: 3.
|
7 |
Author: Algoritmika Ltd
|
8 |
Author URI: https://booster.io
|
9 |
Text Domain: woocommerce-jetpack
|
10 |
Domain Path: /langs
|
11 |
-
Copyright: ©
|
|
|
12 |
License: GNU General Public License v3.0
|
13 |
License URI: http://www.gnu.org/licenses/gpl-3.0.html
|
14 |
*/
|
@@ -17,21 +18,8 @@ if ( ! defined( 'ABSPATH' ) ) {
|
|
17 |
exit; // Exit if accessed directly
|
18 |
}
|
19 |
|
20 |
-
|
21 |
-
|
22 |
-
* wcj_is_plugin_active.
|
23 |
-
*
|
24 |
-
* @version 2.8.0
|
25 |
-
* @since 2.8.0
|
26 |
-
* @return bool
|
27 |
-
*/
|
28 |
-
function wcj_is_plugin_active( $plugin ) {
|
29 |
-
return (
|
30 |
-
in_array( $plugin, apply_filters( 'active_plugins', get_option( 'active_plugins', array() ) ) ) ||
|
31 |
-
( is_multisite() && array_key_exists( $plugin, get_site_option( 'active_sitewide_plugins', array() ) ) )
|
32 |
-
);
|
33 |
-
}
|
34 |
-
}
|
35 |
|
36 |
// Check if WooCommerce is active
|
37 |
if ( ! wcj_is_plugin_active( 'woocommerce/woocommerce.php' ) ) {
|
@@ -69,7 +57,7 @@ final class WC_Jetpack {
|
|
69 |
* @var string
|
70 |
* @since 2.4.7
|
71 |
*/
|
72 |
-
public $version = '3.
|
73 |
|
74 |
/**
|
75 |
* @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.
|
6 |
+
Version: 3.3.0
|
7 |
Author: Algoritmika Ltd
|
8 |
Author URI: https://booster.io
|
9 |
Text Domain: woocommerce-jetpack
|
10 |
Domain Path: /langs
|
11 |
+
Copyright: © 2018 Algoritmika Ltd.
|
12 |
+
WC tested up to: 3.2
|
13 |
License: GNU General Public License v3.0
|
14 |
License URI: http://www.gnu.org/licenses/gpl-3.0.html
|
15 |
*/
|
18 |
exit; // Exit if accessed directly
|
19 |
}
|
20 |
|
21 |
+
// Core functions
|
22 |
+
require_once( 'includes/functions/wcj-functions-core.php' );
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
23 |
|
24 |
// Check if WooCommerce is active
|
25 |
if ( ! wcj_is_plugin_active( 'woocommerce/woocommerce.php' ) ) {
|
57 |
* @var string
|
58 |
* @since 2.4.7
|
59 |
*/
|
60 |
+
public $version = '3.3.0';
|
61 |
|
62 |
/**
|
63 |
* @var WC_Jetpack The single instance of the class
|