开发者 |
anbinder
karzin pluggabl |
---|---|
更新时间 | 2024年11月13日 15:47 |
PHP版本: | 7.2 及以上 |
WordPress版本: | 6.6.2 |
版权: | GNU General Public License v3.0 |
版权网址: | 版权信息 |
The easiest way to install Booster is via your site’s Dashboard. Please follow these instructions to install and connect Booster: Log in to your site’s Dashboard (e.g. http://www.yourdomain.com/wp-admin) Click on the “Plugins” tab in the left panel, then click “Add New”. Search for “Booster for WooCommerce” and the latest version will appear at the top of the list of results. Install it by clicking the “Install Now” link. When installation finishes, click “Activate Plugin”. You’re done!
Absolutely not! You can configure everything Booster has to offer without any coding knowledge.
The free version of Booster for WooCommerce offers 68 amazing features. But, if you’re looking for greater functionality and even more customization options – Booster Plus is the ultimate WooCommerce product bundle for you. Booster Plus is packed with 196 features and counting. Check out our feature comparison and decide which version is best for you.
Implementing just a few modules from the Booster paid Booster bundles suite is more cost-effective than using multiple individual plugins, often priced at $79-$99 each. Stacking your WooCommerce site with a lot of different plugins can slow it down too. All those individual plugins may not necessarily be compatible with one another. paid Booster bundles solves all of these problems with over 100 compatible modules in a single package for easy WooCommerce integration. You get multiple custom features for the cost of one WordPress product plugin and the benefit of zero bloat.
If you are not completely satisfied with paid Booster bundles, you can request a refund within the first 30 days, and we will give you 100% of your money back – no questions asked.
To unlock all Booster for WooCommerce features, please install additional paid Booster bundles(https://booster.io/buy-booster/) plugin.
warning in
[wcj_product_total_sales]`[wcj_order_customer_user_roles]
Fixed issue for Guest user role.[Wcj_order_shipping_price_without_html_custom]
shortcode.[Wcj_order_total_without_html_custom]
shortcode.[Wcj_order_total_fees_incl_tax_without_html_custom]
shortcode.[Wcj_order_total_tax_without_html_custom]
shortcode.[wcj_product_regular_price_without_html_custom]
shortcode.[wcj_product_purchase_price_without_html_custom]
shortcode.is_cart()
.[wcj_order_total_in_words]
shortcode. "Fixed issue for Lithuanian characters (LT) lang paramater.WCJ_Module
- Add "hide_on_free" parameter allowing to create a feature hidden on free version.get_option()
by wcj_option()
.get_option()
by wcj_option()
.null
.wcj_get_option()
function in order to improve performance getting options from the database once the autoload option is now disabled by default.$args
parameter on change_price()
function allowing to disable/enable price saving.get_option()
calls to wcj_get_option()
.Uncaught Error: Call to a member function add_enable_module_setting() on int
error message in wcj-options.php:18
.Call to undefined method get_product()
error by fixing discount_as_item
and shipping_as_item
parameters from [wcj_order_items_table]
shortcode.wcj_modules_loaded
on wcj-modules.WC_Abstract_Legacy_Order::get_product_from_item()
deprecated function by $item->get_product()
.item_name
by product title when using [wcj_order_items_table columns="item_name"]
.WCJ_Module
- Fix compatibility issue with Beaver Builder Plugin.Prevent User Login Globally
option from creating an empty order.wcj_currency_exchange_rate
filter to the correct place to also include the exchange rate value from inversion.WooCommerce Fixed Coupons
compatibility option.Undefined property: WCJ_TCPDF::$imagekeys
issue.[wcj_order_billing_email]
shortcode.setlocale
option that uses comma as decimal separator.plus
attribute for all shortcodes starting as true by default.the_content
filter on wcj_desc
property in order to shortcodes to work.WCJ_Module
- Create desc_pro
and extra_desc_pro
properties.wc_get_template_part
hook besides the woocommerce_before_template_part
._wcj_price_by_country_$group_id
meta regardless of the 'Product Basis' option.wcj_export_validation
filter with 3 parameters: boolean
, 'object_type'
, $object
.wcj_invoicing_header_content_length
filter allowing to add/remove the Content-Length header from the invoice.%product_edit_link%
template variable.add_html_on_price
param.add_html_on_price
param allowing to return the price without the html.heading_format
param from [wcj_product_wholesale_price_table]
on Heading Format option.%discount_value%
will calculate the totals when the 'price directly' is in use.wcml_client_currency
filter to get the currency as well.wcj_global_discount_price_hash
.[wcj_product_wholesale_price_table]
shortcode only to products that really need the module.$_POST
.item_name
paramater from wcj_order_items_table
shortcode.item_meta
parameter from wcj_order_items_table
.[wcj_product_wholesale_price_table]
shortcode.%discount_value%
will calculate the totals when the fixed discount is in use.wcj_multicurrency_compatibility_wc_ttrs_instances
filter.editable_roles
filter allowing for example the shop_manager
to see all roles.wcj_get_ajax_settings()
searching customers by ajax passing woocommerce_json_search_customers
on $search_type
parameter.wcj_pretty_utc_date()
function that takes into consideration configured language, timezone, and date format.DateTime::createFromFormat
._wcj_product_addons_per_product_enable_by_variation_%
meta._wcj_product_addons_per_product_enable_by_variation_%
meta value after import.%addon_title%
template variable on Each Addon from Cart Template./woocommerce/
folder among other paths from other possible plugins.[wcj_order_meta]
shortcode added to 'instructions'.get_all_variations()
for better results with 'Variable Products Variations' option.WCJ_Module_Product_By_Condition
- pre_get_posts
- Disables pre_get_posts query when exporting products.update_custom_payment_gateways_fields_order_meta()
now also expects an array as an input value.mb_internal_encoding()
.WC()->customer->get_shipping_postcode
too.WCJ_Module
- Get products in all languages from ajax product search, if corresponding WPML option is enabled.WCJ_Module
- Move remove_wpml_functions_before_get_terms
and restore_wpml_functions_after_get_terms
from 'Price based on User Role' module making it more flexible to be appliable to any module.[wcj_input_field]
Add 'data_attributes' param.[wcj_input_field]
Add 'name_array' param, allowing the input name to be set as an array. e.g. [wcj_input_field name_array="parent" name="test"]
-> <input name="parent[test][value]" />
.wcj_get_data_attributes_html()
function allowing to create a multiple data parameters like data-param_a='value_a'
when receiving a associative array.wcj_timezone()
function to get timezone. wp_timezone()
already does it but as it was introduced only on version 5.3.0 this was a safer option.WCJ_Module_Product_By_Condition
- pre_get_posts
- Add 'wcj_product_by_condition_pre_get_posts_validation' filter to setup when the query should be disabled.wcj_validate_eu_vat_number()
response from ajax by using wp_send_json().WCJ_Modules
- Also check if Meta-box option is an array.update_order_review_expired()
if "Overwrite by Billing Country" option is enabled.wcj_validate_vat_no_soap()
function with correct api_url.<script>
or <style>
tags.[wcj_product_wholesale_price_table]
Fix "A non-numeric value encountered" PHP warning.is_cart()
and is_checkout()
.wcj_validate_eu_vat_number()
function by adding wcj_eu_vat_number_to_check
and echo
parameters.tax_display_by_user_role()
to search on multiple roles.[wcj_order_taxes_html]
- Add parameter show_label
.WCJ_Modules
- Change the order some submodules are loaded to make it compatible with "Load Modules on Init Hook" option.the_title
filter.bulk_actions_handle()
.woocommerce_add_cart_item
and woocommerce_get_cart_item_from_session
.price_change_ajax()
.change_price()
.[wcj_order_refunds_table]
- columns
- refund_title
param fixed.WCJ_Module
- Create get_option()
method to get an option from database or from the class itself for performance reasons.wcj_multicurrency_per_product_enabled
option enabled.wcj_multicurrency_compatibility_wc_price_filter
option default value from 'yes' to 'no'wcj_multicurrency_per_product_enabled
option enabled.[wcj_order_refunds_table]
- columns
- refund_date
param added.plus_fees
for [wcj_order_subtotal_plus_shipping]
shortcode.wcj_get_order_fees_total()
and wcj_get_order_fees_total_tax()
.wcj_general_advanced_ip_detection
on wcj_get_the_ip()
function to 'REMOTE_ADDR', 'HTTP_CLIENT_IP', 'HTTP_X_FORWARDED_FOR'.change_price()
function using maybe_convert_currency()
.add_files_to_email_attachments()
.display()
function, i.e if it's on "single" or "archive"._wcj_order_quantities_min
meta from being saved on variable products._wcj_order_quantities_step
from parent id if variation doesn't have the _wcj_order_quantities_step
meta.[wcj_order_total_width]
, [wcj_order_total_height]
, [wcj_order_total_length]
, [wcj_order_total_weight]
shortcodes.WC_Product
class on wcj_get_ajax_settings()
.%user_ip%
) and User Agent (%user_agent%
).yy-mm-dd
.location
and not_location
attributes with comma values, like location="US, CA, NZ, AU".[wcj_order_items_table]
- product_shipping_class
and product_shipping_class_id
columns added.wcj_get_cart_item_quantities()
to get cart items quantities, with correct variation id, where native function from WooCommerce fails getting only the parent id if Manage Stock option is enabled.wcj_price_by_country_pretty_price()
and wcj_price_by_country_rounding()
functions.init
hook priority lowered. This fixes the issue with "PDF Invoicing & Packing Slips" module not displaying decimal quantities.pattern
for quantity input.$_product
really exists on offer_price()
.woocommerce_before_main_content
hook by wp_footer
for adding the form on frontend as some themes don't use the original hook.urldecode()
.change_price_by_gateway()
avoiding wrong calculations.wcj_get_settings_as_multiselect_or_text()
compatible with wcj_get_ajax_settings()
.wcj_is_module_enabled()
- Checking if it is a REST API call before requiring pluggable.php
.simplexml_load_file()
depending on WP_DEBUG constant.wcj_session_maybe_start()
Improve session detection method.woocommerce_before_variations_form
hook instead of replacing the entire add-to-cart/variable.php.maybe_hide_unavailable()
.check_admin_referer( 'bulk-posts' )
on bulk_actions_handle()
.wcj_pdf_invoicing_report_tool_row
filter added.wcj_get_ajax_settings()
making it possible to search products and categories by ajax.read_and_close
parameter to session_start
.wcj_get_the_ip()
.maybe_fix_settings()
adds 'wc-enhanced-select' class only if 'remove_class' parameter is not present.[wcj_country_select_drop_down_list]
shortcode will be hidden if Prices and Currencies by Country module is not enabled, unless parameter force_display
have been passed as true
.global $product
is set as a String.$item->legacy_values
temporary solution using woocommerce_checkout_create_order_line_item
hook.continue
in switch
fixed.max-width:50vw;
added).wcj_get_table_html()
- Add wcj-row-even
, wcj-row-odd
for even and odd row classes and wcj-row1
and so on for each row number.wc_get_variable_product_purchase_price()
function to get purchase price from variable products.wcj_get_user_roles()
.[wcj_order_products_terms]
shortcode added.[wcj_product_purchase_price]
- Get min purchase price from variable product by default instead of zero.[wcj_product_purchase_price]
- search
parameter added for variable products. Possible values are: min_variation
, max_variation
, all_variations
, min_max_variations
.[wcj_product_purchase_price]
- format
parameter added to return purchase prices of variable products as html or raw. Possible values are: yes
, no
.[wcj_post_meta_sum]
shortcode added.product_id
attribute on shortcodes.product_images_hide_on_archive()
- Issue with replacing single product's image with custom HTML on archives fixed.init_options()
is now initialized on init
hook for better translation and performance.each()
PHP notice fixed (compatibility with PHP v7.2.0).$_GET['order_id']
param added (fixes the issue with bulk status update emails on some servers).%price%
, %min_price%
and %max_price%
replaced values added.wcj_product_images_loop_product_thumbnail_filter
, wcj_product_images_loop_product_thumbnail_filter_priority
, wcj_product_images_single_product_images_filter
and wcj_product_images_single_product_images_filter_priority
filters added.wcj_get_products()
- Code optimized.[wcj_order_total_in_words]
- whole
attribute now automatically gets order currency symbol or currency code (set by use_currency_symbol
attribute) (instead of Dollars
). decimal
attribute set to ¢
(instead of Cents
).[wcj_product_you_save_percent]
- Add compatibility with "Dynamic Pricing" plugin.get_product_orders_data()
- start_date
and order_status
optional attributes added.get_product_orders_data()
- Code cleaned up.WCJ_Module_Product_By_Condition
- pre_get_posts
- WP_Query optimized (post__not_in
added).isEmptyObject
check added in wcj-order-quantities.js
.sanitize_key()
added for role ID (when adding new role).[wcj_product_time_since_last_sale]
- date_query
fixed.wcj_is_frontend()
- AJAX part improved (woocommerce_load_variations
backend action
added).wcj_order_number_meta
filter added.[wcj_country_select_drop_down_list]
- Code refactoring.[wcj_product_available_variations]
- param
attribute added.[wcj_product_time_since_last_sale]
- Code refactoring.[wcj_product_wholesale_price_table]
- user_role
attribute added.wcj_update_products_price_by_country()
- WP_Query
optimized to return ids
only.WCJ_Module
- Modules' "extra description" restyled.[wcj_cross_sell_display]
- Returning the result instead of echoing.[wcj_cross_sell_display]
- Additional checks added for WC()->cart
to exist before executing the shortcode's code.az
, es_ES
, fr_FR
, is_IS
, it_IT
, ja
, nl_NL
, pt_BR
, ro_RO
, ru_RU
, sv_SE
.cs_CZ
, el
.[wcj_wpml]
) can now be used in currency symbol fields.[wcj_shipping_costs_table]
).is_numeric()
.maybe_convert_currency()
- "Global Discount" module conversion added.pre_get_posts()
- Additional checks added (to prevent possible "Call to undefined function is_user_logged_in() ..." error).html_entity_decode()
added to XML header and footer.wp_get_current_user()
function to exist added (wcj_current_user_can()
function added).is_numeric()
checks added.WCJ_Module
- save_meta_box()
- delete_post_meta()
added.wcj_get_country_by_ip()
- Additional checks added (to prevent possible "Call to undefined function wc_format_country_state_string() ..." error).wcj_wrap_in_wc_email_template()
- {site_title}
in footer replaced with blog name.WP_Query
optimized to return ids
only.%original_price%
replaced value added.$_REQUEST
first (before accessing WC()->customer
). Postcode code part rewritten.get_chosen_payment_method()
function added; global $woocommerce
replaced with WC()
).wcj_get_woocommerce_currencies_and_symbols()
function added. wcj_get_currency_symbol()
, wcj_get_currencies_names_and_symbols()
and wcj_get_currencies_array()
functions removed. Affected modules: "Currency Exchange Rates", "Admin Orders List", "Currency for External Products", "Currency per Product", "Multicurrency Product Base Price", "Multicurrency (Currency Switcher)", "Gateways by Currency", "Gateways Currency Converter", "Prices and Currencies by Country", "Price Formats", "Orders", "Currencies".[wcj_get_option]
shortcode added.[wcj_image]
shortcode added.[wcj_shipping_costs_table]
shortcode added.[wcj_order_items_meta]
- sep
attribute added.[wcj_order_products_meta]
shortcode added.[wcj_product_price]
- min_or_max
attribute added (for variable products).woocommerce_currency_symbol
hooks removed (affected modules: "Prices and Currencies by Country", "Currency for External Products", "Multicurrency (Currency Switcher)", "Currency per Product", "Gateways Currency Converter").esc_url()
added).is_array()
check added to the wcj_get_left_to_free_shipping()
function.wcj_get_product_display_price()
- Extra checks for valid $_product
added.$this->customer_country_by_ip
and $this->customer_country_group_id
added).wcj_checkout_files_upload
filter - remove_file
- File name parameter added.wcj_custom_shipping_do_add_table_rows
filter added.custom_textarea
type options added to the wpml-config.xml
regeneration algorithm.wpml-config.xml
file.wpml-config.xml
file updated.wcj_version_updated
hook added (wp_schedule_single_event()
).WC_Order
class before adding email attachments.add_open_price_input_field_to_frontend()
- is_open_price_input_field_displayed
class property added.add_input_fields_to_frontend()
- are_bookings_input_fields_displayed
class property added.add_addons_to_frontend()
- are_addons_displayed
class property added.add_product_input_fields_to_frontend()
- are_product_input_fields_displayed
class property added.wcj_is_product_term()
- Checking for empty $term_ids
param now.wcj_is_user_role()
- Checking for wp_get_current_user()
function to exist.[wcj_currency_select_radio_list]
and [wcj_currency_select_drop_down_list]
- Setting session value, when default
attribute is set.[wcj_product_wholesale_price_table]
- "Non-numeric value encountered" warning fixed (warning appeared in PHP 7.1 for products with empty price).wcj_currency_per_product_cart_checkout_currency
and wcj_currency_per_product_is_cart_or_checkout
filters added.WCJ_Module
- reset_settings()
- Array type options reset handling added.wcj_maybe_get_product_id_wpml()
- Code refactoring (wcj_get_wpml_default_language()
function added).wcj_maybe_get_product_id_wpml()
- "Call to a member function get_default_language() on null ..." fatal error fixed.wcj_currency_exchange_rates_servers
and wcj_currency_exchange_rate
filters added.-1
).wcj_price_by_user_role_do_change_price
filter added.{product_slug_acronym}
, {parent_product_slug_acronym}
, {attribute=X}
, {parent_attribute=X}
, {variation_attribute=X}
replaced values added.WCJ_Module_Product_By_Condition
- WPML support added.wcj_checkout_files_upload
action added.wcj_tcpdf_method()
- Params fixed.http://storage.algoritmika.com/booster/tcpdf_fonts/
changed to http://storage.booster.io/tcpdf_fonts/
.current_user_can( 'manage_woocommerce' )
before displaying the menus.[wcj_cross_sell_display]
shortcode added.[wcj_upsell_display]
shortcode added.[wcj_product_slug]
shortcode added.wcj_is_admin_product_edit_page()
- AJAX loading variations included.wcj_get_select_options()
- Handling empty string ($select_options_raw
) correctly now.wcj-functions-math.php
added.WCJ_Module_Product_By_Condition
class added (affected modules: "Product Custom Visibility", "Product Visibility by User Role", "Product Visibility by Country").WCJ_Module_Shipping_By_Condition
- Changed to abstract
.WCJ_Module
- save_meta_box()
- Global post setup added.WCJ_SESSION_TYPE
. Affected modules: Checkout Files Upload, EU VAT Number, Multicurrency (Currency Switcher), Product Visibility by Country, Product Custom Visibility, Tax Display, Prices and Currencies by Country.wcj_get_left_to_free_shipping()
- WooCommerce below v3.3.0 compatibility issue fixed.class-wcj-shortcodes-cart.php
file.[wcj_cart_items_total_quantity]
- Code refactoring.[wcj_cart_items_total_weight]
- Code refactoring.[wcj_cart_discount_tax]
, [wcj_cart_discount_total]
shortcodes added.[wcj_cart_fee_tax]
, [wcj_cart_fee_total]
shortcodes added.[wcj_cart_function]
shortcode added.[wcj_cart_shipping_total]
, [wcj_cart_shipping_tax]
shortcodes added.[wcj_cart_subtotal]
, [wcj_cart_subtotal_tax]
shortcodes added.[wcj_cart_tax]
, [wcj_cart_total_ex_tax]
shortcodes added.[wcj_order_items_table]
- Columns - item_product_input_fields_with_titles
column added.wc_get_price_decimals
filter added.{product_slug}
, {parent_product_slug}
, {variation_attributes}
, {parent_sku}
replaced values added.wcj_get_shipping_methods()
).WC_Shipping_Free_Shipping
class.%cart_total%
replaced value added.%order_items_skus%
replaced value added.WCJ_Module_Shipping_By_Condition
(Shipping Methods by Products / Users) - "Use Shipping Instances" option added.check_user_roles()
fixed.wcj_send_file()
function added).ZIPARCHIVE::OVERWRITE
added when creating zip file.[wcj_cart_total]
- multiply_by
attribute added.[wcj_shipping_time_table]
shortcode added.[wcj_order_customer_data]
shortcode added.[wcj_order_items]
- Special _sku
value added for the field
attribute.[wcj_order_notes]
- limit
attribute added.[wcj_product_price]
- multiply_by_attribute
attribute added.[wcj_product_shipping_time_table]
shortcode added.multiply
common attribute added.site_visibility
common attribute - front_page
option added.error_reporting( E_ALL )
moved to wcj-loader.php
.wcj_log()
- $do_var_dump
param added.wcj_get_currency_exchange_rate_product_base_currency()
- Minor code refactoring.wcj_get_products()
- Product's ID info added.wcj_product_has_terms()
- Function now also accepts product id as param.wcj-functions-shipping.php
added.WCJ_Invoice
- get_file_name()
- Empty file name fallback fixed.WCJ_PDF_Invoice
- Minor code refactoring.init
hook (on "WC Sessions").init
hook (on "WC Sessions").WCJ_SESSION_TYPE
. Affected modules: Checkout Files Upload, EU VAT Number, Multicurrency (Currency Switcher), Product Visibility by Country, Product Custom Visibility, Tax Display, Prices and Currencies by Country.wcj_is_frontend()
.K_TCPDF_CALLS_IN_HTML
set to true
(fixes the issue with using TCPDF methods in HTML, e.g. [wcj_tcpdf_pagebreak]
shortcode).DOCUMENT_ROOT
.$_SERVER
info added (works with wcj_debug
param).standard
(and "Session Type in Booster" option temporary disabled). Affected modules: Checkout Files Upload, EU VAT Number, Multicurrency (Currency Switcher), Product Visibility by Country, Product Custom Visibility, Tax Display, Prices and Currencies by Country.pre_get_posts
- $wpdb->prefix
is used instead of hard-coded wp_
prefix.price_directly
and fixed
discount taxes display fixed.price_directly
case fixed.do_shortcode
added.get_checkout_url()
replaced with wc_get_checkout_url()
.woocommerce_add_order_item_meta
hook replaced with woocommerce_checkout_create_order_line_item
hook.woocommerce_add_order_item_meta
hook replaced with woocommerce_new_order_item
hook.woocommerce_add_order_item_meta
hook replaced with woocommerce_new_order_item
hook.do_shortcode()
is used in tabs output, instead of applying the_content
filter.wp_reset_postdata()
added.wcj_checkout_custom_field_visible
filter added.[wcj_wpml]
).pre_get_posts
hook priority fixed.pre_get_posts
hook priority fixed.WCJ_SESSION_TYPE
constant info added.[wcj_customer_order_count]
shortcode added.[wcj_customer_total_spent]
shortcode added.[wcj_wc_session_value]
, [wcj_session_value]
, [wcj_request_value]
shortcodes added.[wcj_order_items_table]
- Columns - product_weight_multiply_qty
column added.[wcj_order_notes]
shortcode added.[wcj_product_price]
- multiply_by_meta
attribute added.[wcj_product_stock_status]
shortcode added.wcj_tcpdf_method()
.wcj_get_left_to_free_shipping()
- Backward compatibility with WooCommerce below v3.2.0 added.wcj_session_
functions.wcj_get_current_user_all_roles()
- Additional checks added.WCJ_SESSION_TYPE
(can be changed in "General" module).alg_
replaced with wcj_
in function and class names.http://booster.io
to https://booster.io
in all plugin files.BYR
to BYN
).inline
) restyled.wcj_is_product_wholesale_enabled()
- "Products to exclude" option fixed.required
added to options.$paypal_allowed_currencies_and_names
type fixed (changed to array).add_order_number_meta()
- Bug fixed (when "Number Generation" is set to "Order ID").[wcj_tcpdf_rectangle]
shortcode added.[wcj_tcpdf_barcode]
and [wcj_barcode]
- Code refactoring (corresponding functions added to wcj-functions-general.php
).currency
attribute added to all shortcodes which use wcj_price_shortcode()
function.[wcj_order_tcpdf_barcode]
shortcode added.[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.[wcj_order_items_table]
- product_barcode
column added.[wcj_order_profit]
and [wcj_order_items_cost]
shortcodes added.[wcj_product_barcode]
shortcode added.wcj_tcpdf_barcode()
- Border removed.wcj-functions-core.php
file renamed to wcj-functions-booster-core.php
.wcj_get_saved_exchange_rate()
- Returning 1
when currency_from
equals currency_to
.wcj_price_by_product_base_currency()
- Checking if currency exchange rate not equals zero (so no division by zero can happen).woojetpack_readme
removed.WCJ_Module
- create_meta_box()
- Tooltip restyled. Optional css
attribute added to title
type.w_c_j()->shortcodes
array.wcj-constants.php
file moved to core
directory.change_currency_symbol()
- Changing symbol for appropriate currency code only.wp_die()
replaced with die()
in price_change_ajax()
.wp_die()
replaced with die()
in price_change_ajax()
.array_merge()
replaced with array_replace()
for wcj_get_select_options()
results (with placeholder).wcj_is_frontend()
check added.array_merge()
replaced with array_replace()
for wcj_get_select_options()
results (with placeholder).%customer%
can now be used in comma separated list for multiple recipients.time()
replaced with current_time()
.wcj_reports_products_sales_check_product
filter added.parent
property accessed directly" issue fixed.[wcj_barcode]
shortcode added.[wcj_tcpdf_barcode]
shortcode added.[wcj_order_date]
- days
attribute added.[wcj_order_items_table]
- item_meta
column - is_custom
meta excluded.[wcj_product_category_count]
shortcode added.[wcj_product_price]
- currency
attribute added.[wcj_product_purchase_price]
- Using wcj_get_product_id()
instead of wcj_get_product_id_or_variation_parent_id()
.[wcj_product_purchase_price]
- hide_currency
attribute added.wcj_log()
- esc_url()
added.wcj_get_saved_exchange_rate()
function added.wcj_get_currency_exchange_rates_url_response()
function added).wcj_get_select_options()
- Prefix (wcj-
) removed (was added in v3.2.3).wcj_get_select_options()
- trim()
added.wc_get_product_purchase_price()
- int
replaced with float
- this fixes the issue with purchase price calculating incorrectly (cutting decimal part).wcj_
prefix, when importing plugin settings.exchange_rate
field updated (12 decimals in step
and code refactoring).core
directory added.WC()
function to exist before accessing to WC()->cart
. Checking for is_checkout()
. Code refactoring.get_cart_url()
method replaced with wc_get_cart_url()
function.get_cart_url()
method replaced with wc_get_cart_url()
function.wcj_get_select_options()
- Prefix (wcj-
) is added to the keys (to prevent issues with numeric keys).manage_options()
- Security issue fixed.hide_breadcrumbs_with_css()
- Additional identifier added.post_status
.[wcj_order_items_table]
- wcj_order_items_table_data
filter added.[wcj_order_items_table]
- sort_by_column
attribute added.wcj_get_order_statuses()
).wc_get_product_purchase_price()
- Converting post meta to int
before adding (fixes PHP 7 notice).wcj_get_current_user_first_role()
- Code changed, so now user role is always correctly identified (i.e. with any array index).WCJ_Invoice
- Default values added to get_option()
calls.WCJ_Product
- Class removed (get_purchase_price()
function moved to wc_get_product_purchase_price()
).user_id
) section added. Module (documentation) URL changed.WCJ_Module_Shipping_By_Condition
(Shipping Methods by Products / Users) - Admin settings restyled.WCJ_Module_Shipping_By_Condition
- Code refactoring.[wcj_store_address]
shortcode added.[wcj_wp_option]
shortcode added.wcj_get_product_input_fields()
- Array type values display fixed.pt_BR
, ro_RO
, ja
, is_IS
, it_IT
, sv_SE
, az
translation files added.WCJ_Module
- Minor code refactoring.select
type options fixed; text
with class widefat
options fixed.[wcj_order_custom_field]
- key
attribute added.[wcj_order_items_table]
- product_meta
and product_post_meta
columns fixed.[wcj_order_items_table]
- Major code refactoring and clean up.[wcj_order_items_table]
- "Multicolumns" functionality added.wcj_get_european_union_countries_with_vat()
- GR
changed to 24
; RO
changed to 19
.es_ES
translation files added.wcj_is_user_role()
- super_admin
added if checking for administrator
.wcj_full_pack
filter added.[wcj_order_items_table]
- wcj_pdf_invoicing_cell_data
filter - order
argument added.[wcj_order_items_table]
- hide_zero_prices
- attribute added.[wcj_order_refunds_table]
- columns
- refund_number
fixed.[wcj_order_refunds_table]
- insert_page_break
attribute added.[wcj_order_total_after_refund]
shortcode added.[wcj_order_total_tax_after_refund]
shortcode added.[wcj_order_total_tax]
- Code refactoring.WCJ_Module
- create_meta_box()
- show_value
option added.WCJ_Module
- create_meta_box()
- class
option added.[wcj_get_order_id]
- Check added (is_object( $_order )
).[wcj_current_currency_code]
and [wcj_current_currency_symbol]
shortcodes added.[wcj_product_you_save]
- multiply_by
attribute added.disabled
).post_status
error fixed.add_pdf_invoice_email_attachment()
- Check added (is_object( $order )
).visibility
attribute - wrong_user_text
attribute set to empty string by default now; wrong_user_text_not_logged_in
attribute added (defaults to empty string).location
and not_location
attributes - wcj_get_user_location()
- Code refactoring.[wcj_wholesale_price_table]
- columns_style
attribute added.[wcj_selector]
- shortcode added.[wcj_order_items_table]
- WooCommerce v3.x.x compatibility - unserialize()
replaced with maybe_unserialize()
for "WooCommerce TM Extra Product Options" plugin data.[wcj_order_items_table]
- columns
- product_categories
column added.[wcj_order_items_table]
- columns
- item_quantity_refunded
and item_quantity_excl_refunded
columns added.[wcj_order_items_table]
- columns
- item_total_refunded
column added.[wcj_order_items_table]
- refunded_items_table
attribute added.[wcj_order_items_table]
- Returning empty string if no items found.[wcj_order_refunds_table]
shortcode added.[wcj_order_total_shipping_refunded]
shortcode added.[wcj_order_total_tax_refunded]
shortcode added.[wcj_order_subtotal_to_display]
shortcode added.[wcj_order_total_formatted]
shortcode added.[wcj_order_remaining_refund_amount]
shortcode added.[wcj_product_wholesale_price_table]
- columns_style
attribute added.WCJ_Widget
child classes).is_string( $value )
added.do_shortcode
added when checking for empty content (before displaying the tab).post__not_in
from query (instead of starting with empty array).auto-draft
orders.WP_Query
optimized to return ids
only.WP_Query
optimized to return ids
only.ZipArchive
to exist before generating ZIPs.get_option()
calls.billing_email
, order_date
, post
.serialize()
and unserialize()
replaced with json_encode()
and json_decode()
.required
attribute added to [wcj_input_field]
shortcode.wcj_modules
filter added.WC_Settings_Jetpack
- wcj_custom_dashboard_modules
filter added.[wcj_order_billing_country_name]
and [wcj_order_shipping_country_name]
shortcodes added.[wcj_order_items_table]
- columns
- item_product_addons
column added.wcj_pdf_invoicing_fonts
filter added.wcj_admin_bar_dashboard_nodes
filter added.WCJ_Module
- save_meta_box_validate_value()
added.wcj_get_country_flag_by_code()
- "No flag" added.[wcj_site_url]
shortcode added.Hide all except "Local Pickup"
and Hide "Flat Rate" only
options added.WP_Query
optimized to return ids
only.[wcj_order_items_table]
- product_name
column - "WooCommerce TM Extra Product Options" plugin compatibility - get_meta()
.[wcj_product_dimensions]
- wc_format_dimensions()
.wc_reduce_stock_levels()
.WCJ_Module
- create_meta_box()
- placeholder
option added.wcj-currencies.php
file (wcj_get_currencies_array()
function) moved to functions folder.wcj_get_product_id()
and wcj_get_product_id_or_variation_parent_id()
- Check for "product not null" and is_object
added.wcj_get_invoice_date()
- Check for not empty invoice date added.[wcj_currency_select_link_list]
, [wcj_currency_select_radio_list]
, [wcj_currency_select_drop_down_list]
- default
attribute added.[wcj_currency_exchange_rate]
and [wcj_currency_exchange_rates_table]
shortcodes added.[wcj_order_items_table]
- add_variation_info_to_item_name
attribute defaults to yes
now.[wcj_order_items_table]
- columns
- product_meta
, product_cost
, product_profit
, line_cost
, line_profit
, product_id
, item_product_id
, product_post_meta
, product_purchase_note
columns added.[wcj_order_items_table]
- insert_page_break
(defaults to empty string) attribute added.[wcj_order_items_table]
- columns
- product_attribute
- Checking parent product's attribute for variation products.[wcj_order_shipping_address]
- fallback_billing_address
attribute added.[wcj_order_customer_meta]
shortcode added.[wcj_product_weight]
, [wcj_product_length]
, [wcj_product_width]
, [wcj_product_height]
, [wcj_product_dimensions]
- variations
attribute added.get_current_product_id_and_currency()
- Getting ID from global $product
added.wcj_currency_exchange_rates_additional_currencies
filter added.init
hook) - this fixes the issue with wrong currency symbol in price filter widget.yes
).wcj_get_terms()
.woocommerce_duplicate_product
).woocommerce_uploads
folder.wp_safe_redirect()
added to "Delete log" action.%resend_verification_url%
replaceable value added.wcj-reports-functions.php
added.wcj-core-functions.php
, wcj-order-functions.php
, wcj-product-functions.php
, wcj-date-time-functions.php
files added.wcj-ajax-exchange-rates.js
, wcj-product-input-fields.js
, wcj-checkout.js
, wcj-eu-vat-number.js
).lib
directory.wcj_order_get_payment_method()
- Additional check for order (not null, object and method/property exists) added.[wcj_order_items_table]
- add_variation_info_to_item_name
(defaults to no
) attribute added - this fixes the issue with double variation info.[wcj_order_items_table]
- exclude_by_categories
and exclude_by_tags
attributes added.get_variation_prices_hash()
- Additional check for categories option not empty added.[wcj_order_checkout_field]
- Fixed custom checkout fields value not returning properly.[wcj_product_id]
shortcode added.wcj_get_product_input_fields()
fixed (used in "Export" module and in [wcj_order_items_table]
shortcode's item_product_input_fields
column).[wcj_order_checkout_field]
- $order->get_data()
.[wcj_order_items_table]
- shipping_as_item
and discount_as_item
fixed (in add_item()
).get_country()
.wcj_get_product_id_or_variation_parent_id()
instead of get_id()
.woocommerce_single_product_image_html
hook replaced.$item->meta_exists()
and $item->get_meta()
) in add_product_input_fields_to_order_item_name()
and add_files_to_email_attachments()
.woocommerce_related_products_args
hook replaced with woocommerce_product_related_posts_query
. Ordering by meta values removed. Ordering by ID, price etc. added.get_payment_method()
; get_status()
.get_payment_method()
.wcj_get_order_item_meta_info()
- is_custom
meta key excluded from results.wcj-datepicker.js
- 'zero' special value added for mindate
and maxdate
(fixes the issue with mindate=0
and maxdate=0
in Checkout Custom Fields).add_settings_hook()
function removed from WCJ_Module
class.wcj_number_plus_checkbox
admin settings field type added (and WC_Settings_Jetpack
code refactoring).wcj_get_products()
- Code refactoring and add_variations
param added.WCJ_Module
- create_meta_box()
- css
option added.on_zero
attribute added to all shortcodes.time
attribute added to all shortcodes.visibility
(i.e. user role) attribute can now be used in invoice shortcodes; wrong_user_text
attribute added.payment_method
and not_payment_method
attributes added to all shortcodes when used in invoice.[wcj_cart_total]
shortcode added.[wcj_order_items]
- field
attribute's _qty_x_name
special value added (and debug
renamed to _debug
).[wcj_order_items_table]
- exclude_by_attribute__name
and exclude_by_attribute__value
attributes added.[wcj_product_stock_quantity]
- Return empty string instead of false
on null
.[wcj_product_stock_quantity]
- count_variations
attribute added.[wcj_product_description]
shortcode added.[wcj_product_regular_price]
and [wcj_product_sale_price]
- multiply_by
attribute added.get_cart_checkout_currency()
.product_id
on ajax call.id
and class
added.wcj_product_input_field_frontend_html
filter added.WP_Query
optimized to return ids
only.[wcj_product_add_new]
).[wcj_product_add_new]
).add_settings_hook()
instead of get_settings()
.[wcj_empty_cart_button]
shortcode added.custom_textarea
.settings
to submodules
.WCJ_Module
- extra_desc
and link_slug
properties added.http://booster.io
to https://booster.io
in readme.txt; main plugin file; module's documentation links.add_settings_hook()
- BUTTON & PRICE LABELS - Custom Price Labels.wcj_get_order_item_meta_info()
- get_meta_data()
instead of has_meta()
.[wcj_order_items_table]
- wcj_get_order_currency()
. get_short_description()
. wcj_get_order_item_meta_info()
.get_customer_id()
. wcj_get_order_currency()
. wcj_get_order_id()
. get_customer_note()
. get_billing_phone()
. wc_get_order_item_meta()
.[wcj_order_date]
and [wcj_order_time]
- get_date_created()
.wcj_get_product_id_or_variation_parent_id()
.wc_get_price_including_tax()
. wc_get_price_excluding_tax()
. wc_display_product_attributes()
. wc_get_product_tag_list()
. get_short_description()
. get_gallery_image_ids()
.[wcj_product_image_url]
- wcj_get_product_id_or_variation_parent_id()
.[wcj_product_categories_urls]
- wcj_get_product_id_or_variation_parent_id()
.[wcj_product_categories_names]
- wcj_get_product_id_or_variation_parent_id()
.[wcj_product_total_sales]
- wcj_get_product_id_or_variation_parent_id()
.[wcj_product_wholesale_price_table]
- get_price
filters replaced. Get parent product ID replaced with get_parent_id()
.[wcj_product_categories]
- wc_get_product_category_list()
.product_type
property replaced with is_type()
function.WCJ_PRODUCT_GET_PRICE_FILTER
.get_price
filters replaced. wcj_get_product_id_or_variation_parent_id()
.get_price
filters replaced. Get product ID replaced with get_id()
. wc_get_formatted_variation()
used.get_price
filters replaced. Get parent product ID replaced with get_parent_id()
.get_price
filters replaced. Get product ID replaced with get_id()
. wc_get_formatted_variation()
used. Get parent product ID replaced with get_parent_id()
.get_price
filters; wcj_get_product_id()
. woocommerce_clean()
.WCJ_PRODUCT_GET_PRICE_FILTER
. wcj_get_product_id_or_variation_parent_id()
. wcj_get_product_status()
.get_price
filters; wcj_get_product_id_or_variation_parent_id()
.get_price
filters replaced. Get parent product ID replaced with get_parent_id()
.wcj_get_product_id_or_variation_parent_id()
; product_type
-> get_type()
.woocommerce_get_price
-> woocommerce_product_get_price
.wcj_get_product_id_or_variation_parent_id()
; wcj_get_product_id()
; product_type
-> get_type()
. woocommerce_price_html
filter changed.wcj_get_product_id_or_variation_parent_id()
; "free price" filters;WCJ_PRODUCT_GET_PRICE_FILTER
; wcj_get_product_id_or_variation_parent_id()
.wcj_get_product_id_or_variation_parent_id()
.wcj_get_product_id_or_variation_parent_id()
.WCJ_PRODUCT_GET_PRICE_FILTER
. wcj_get_product_id_or_variation_parent_id()
. wcj_get_product_display_price()
.get_prices_include_tax()
. wcj_get_product_formatted_variation()
. wcj_get_product_id_or_variation_parent_id()
.wcj_get_product_id_or_variation_parent_id()
.wcj_get_product_id_or_variation_parent_id()
.woocommerce_product_subcategories_args
hook).wcj_get_product_id_or_variation_parent_id()
.wcj_get_product_id_or_variation_parent_id()
.get_child()
.woocommerce_clean()
.wcj_get_order_id()
.wcj_get_order_id()
.get_customer_ip_address()
. wcj_get_order_id()
.get_country()
and get_state()
.WCJ_PRODUCT_GET_PRICE_FILTER
.wcj_get_order_id()
.wcj_get_order_id()
; get_date_created()
.wcj_get_order_id()
; woocommerce_order_get_currency
; wcj_get_order_currency()
; get_billing_country()
.get_billing_country()
.wcj_get_order_id()
.wcj_get_order_id()
.$item_meta_value
is array" added.wcj_get_order_currency()
.wcj_get_product_total_stock()
. wc_get_price_to_display()
and more.wc_get_product_category_list()
.wp_create_nonce
added.wcj_get_order_currency()
.wcj_get_product_total_stock()
. wc_get_product_category_list()
.wcj-price-currency-functions.php
and wcj-user-roles-functions.php
added.on_empty
attribute added to all shortcodes.wcj_shortcode_result
filter added to all shortcodes.[wcj_product_gallery_image_url]
shortcode added.[wcj_cart_items_total_quantity]
shortcode added.[wcj_order_status_label]
shortcode added.[wcj_order_items_table]
- wcj_pdf_invoicing_cell_data
filter added.textarea
replaced with custom_textarea
.get_option()
added.woocommerce_variation_prices_regular_price
hook.wcj_price_by_country()
- Additional check 0 != $product->variation_id
added.wcj-bookings.js
- _ajax_object
.wcj-product-addons.js
- _ajax_object
.add_product_input_fields_to_cart_item_data()
.validate_product_input_fields_on_add_to_cart()
and add_product_input_fields_to_order_item_name()
.offset
and posts_per_page
removed).WP_Query
optimized to return ids
only.eu-vat-number.js
- _ajax_object
.get_option()
calls. Code cleaned up.woocommerce_payment_complete
hook added.woocommerce_shipping_init
hook replaced with init
hook.WCJ_Module
class code refactoring - add_settings_hook()
function added (18 modules).wcj_add_change_price_hooks()
function added.wcj_add_change_price_hooks()
- PRICES & CURRENCIES - Multicurrency (Currency Switcher).wcj_add_change_price_hooks()
- PRICES & CURRENCIES - Multicurrency Product Base Price.wcj_add_change_price_hooks()
- PRICES & CURRENCIES - Price by User Role.wcj_add_change_price_hooks()
- PRICES & CURRENCIES - Prices and Currencies by Country.wcj_add_change_price_hooks()
- PRICES & CURRENCIES - Product Price by Formula.WCJ_Module
- create_meta_box
- Fixed selected
for multiple select
.WCJ_Module
- create_meta_box
- custom_attributes
added to select
.WCJ_Module
- create_meta_box
- Table restyled.de_DE
) translation added.output_custom_textarea
- Tooltip added.morewoooptions
).strip_tags
attribute added to all shortcodes.find
and replace
attributes now accept comma separated lists.[wcj_current_datetime]
shortcode added.[wcj_current_time]
shortcode added.[wcj_current_date]
- current_time( 'timestamp' )
added.[wcj_current_timestamp]
shortcode added.order_user_roles
attribute added.[wcj_order_customer_user_roles]
shortcode added.[wcj_order_customer_user]
shortcode added.[wcj_order_items_table]
- "product_regular_price_multiply_qty" and "product_sale_price_multiply_qty" columns added.[wcj_product_author]
shortcode added.[wcj_product_author_avatar]
shortcode added.[wcj_product_author_link]
shortcode added.[wcj_product_author_link_all_posts]
shortcode added.manual
" is added when creating currency pairs list.$_REQUEST['product_id']
added.get_option
calls.%min_price_simple%
, %max_price_simple%
, %default_price_simple%
, %min_price%
, %max_price%
, %default_price%
.wp
(fixes the issue with PHP notice regarding cookies already set).textarea
replaced with custom_textarea
in "Content" fields.woocommerce_is_purchasable
and pre_get_posts
filters added.PHP_EOL
issue fixed.woocommerce_related_products_columns
filter added.init
hook replaced with wp_loaded
.is_visible()
- wcj_checkout_custom_field_always_visible_on_empty_cart
filter added.calculate_totals()
function call added before getting cart totals.init
function.calculate_shipping()
- get_rate_id()
added (this fixes the issue with only one custom shipping method appearing at the frontend).include_modules()
function.validate_vat_no_soap()
- Country code lowercase not validated bug fixed.wcj_export_orders_items_fields
filter added.get_post_meta()
replaced with safely_get_post_meta()
.strip_tags="yes"
added to all shortcodes in default item template.do_shortcode
added to XML header and footer.WCJ_Module
- "Reset settings" button now uses JS confirmation; wp_safe_redirect
added.[wcj_order_items_table]
- columns
- item_meta
column added.[wcj_order_items_table]
- quantity_prefix
attribute added.[wcj_order_total_in_words]
- LT
- Lithuanian language function added.[wcj_order_total_in_words]
- BG
- not including national currency; Upper-case for first letter.WP_Query
optimized to return ids
only.[wcj_order_items_table]
- get_meta_info
- replaced with wcj_get_order_item_meta_info()
.wcj_current_filter_priority()
modified for compatibility with WordPress since v4.7.[wcj_get_left_to_free_shipping]
- multiply_by
attribute added (and to wcj_get_left_to_free_shipping()
function).[wcj_customer_billing_country]
, [wcj_customer_shipping_country]
, [wcj_customer_meta]
shortcodes added.[wcj_order_function]
- implode()
added in case if returned value is an array.[wcj_order_coupons]
shortcode added.[wcj_order_items_table]
- item_name
and item_variation
- variation_as_metadata
attribute added.[wcj_order_items_table]
- item_name
and item_variation
- Using get_formatted_variation_attributes
instead of wc_get_formatted_variation
.[wcj_order_items_table]
- Compatibility - "WooCommerce TM Extra Product Options" plugin.[wcj_product_excerpt]
- Function simplified by using get_the_excerpt( $post_id )
directly (available since WordPress v4.5). However there is reported bug (see https://core.trac.wordpress.org/ticket/36934).true
in is_visible
on empty cart (wcj_checkout_files_always_visible_on_empty_cart
filter) added.wcj_price_labels_check_on_applying_label
filter added.wcj_price_labels_woocommerce_get_price_html_allowed_post_types
filter added.load_plugin_textdomain
moved from init
hook to constructor (fixes the issue with module titles, descriptions not translating).class-wcj-currency-reports.php
- filter_reports
is now applied on wc-reports
page only.unclean_custom_textarea()
added.find
and replace
attributes added to all shortcodes.[wcj_wholesale_price_table]
- %level_max_qty%
replace value added to heading_format
attribute. %level_qty%
marked as deprecated (%level_min_qty%
should be used instead).[wcj_order_items_total_weight]
replaced with [wcj_order_total_weight]
.[wcj_order_total_width]
, [wcj_order_total_height]
and [wcj_order_total_length]
shortcodes added.[wcj_order_items]
shortcode added.[wcj_order_items_table]
- item_image_width
and item_image_height
replaced with product_image_width
and product_image_height
.[wcj_order_items_table]
- columns
- Added to all appropriate item_
columns: product_name
, product_attribute
, product_excerpt
, product_short_description
, product_variation
, product_thumbnail
, product_sku
, product_weight
.[wcj_order_items_table]
- columns
- product_length
, product_width
and product_height
columns added.[wcj_order_items_table]
- item_short_description
- now displays item's short description (may be different from item_excerpt
). item_description
attribute removed.[wcj_order_items_table]
- columns
- product_regular_price
and product_sale_price
columns added.[wcj_order_items_table]
- columns
- item_tax_class
column added.[wcj_product_price_excluding_tax]
and [wcj_product_price_including_tax]
- multiply_by
attribute added. And both functions code refactored.[wcj_product_excerpt]
- Manually checking for short description first (so length
can be applied).[wcj_product_excerpt]
- excerpt_length
attribute deprecated (replaced with length
).[wcj_product_short_description]
shortcode added.[wcj_product_url]
shortcode added.[wcj_product_image_url]
shortcode added.[wcj_product_categories_names]
shortcode added.[wcj_product_categories_urls]
shortcode added.[wcj_product_meta]
shortcode added.[wcj_product_wholesale_price_table]
- %level_max_qty%
replace value added to heading_format
attribute. %level_qty%
marked as deprecated (%level_min_qty%
should be used instead).wc_order_statuses
filter (produced PHP warning).manage_edit-shop_order_columns
filters changed.get_invoices_report_data()
- WP_Query
optimized to return ids
only.EL
replaced with GR
for Greece when checking location.validate_vat_no_soap
function).get_stock_quantity()
replaced with get_total_stock()
. Separate "Stock Quantity" export field added.WP_Query
optimized to return ids
only.WCJ_Module
- create_meta_box()
- wcj_get_meta_box_options_type_price_step
filter added.wcj_get_table_html()
- "row_styles" parameter added.[wcj_product_excerpt]
- Using product_excerpt_length
object property instead of global variable.[wcj_product_wholesale_price_table]
- wcj_product_wholesale_price_table_price_before
and wcj_product_wholesale_price_table_price_after
filters added.change_price_by_role()
- wcj_price_by_user_role_get_price
filter added.get_wholesale_price()
- price_directly
- wcj_get_wholesale_price
filter added.get_invoices_report_zip()
- Headers cleaned up.get_tool_header_html()
instead of directly outputting header.wcj_get_product_input_fields()
- unserialize()
added for serialized values.[wcj_wholesale_price_table]
- hide_if_zero_quantity
and table_format
attributes added.[wcj_order_payment_method_transaction_id]
shortcode added.[wcj_order_shipping_price]
, [wcj_order_total_excl_tax]
code refactoring.[wcj_order_total_excl_shipping]
shortcode added.[wcj_order_status]
shortcode added.[wcj_order_function]
shortcode added.get_product_orders_data()
- WP_Query
optimized to return ids
only.get_product_orders_data()
- Grouped products support added.[wcj_product_wholesale_price_table]
- hide_if_zero_quantity
and table_format
attributes added.add_hooks()
moved to init
hook.get_display_price()
function).woocommerce_payment_gateways
hook).available_payment_gateways()
function.woocommerce_shipping_methods
hook).init
hook.die
after generate_pdf_on_init
.woocommerce_cli_create_order
, kco_before_confirm_order
and woocommerce_checkout_order_processed
hooks added (duplicates woocommerce_new_order
hook).custom_textarea
added (this lets save HTML without removing any tags).WP_Query
optimized to return ids
only.global $woocommerce
removed.WCJ_Module
- colspan
fixed in create_meta_box()
function.WCJ_Module
- create_meta_box
- custom_attributes
and tooltip
options added.wcj_get_rocket_icon()
fixed.not_location
attribute added.[wcj_order_tax_by_class]
- Tax rounding per line bug fixed.[wcj_order_items_table]
- Additional column_param
"not empty" check on item_key
column.[wcj_order_items_table]
- item_attribute
column added.[wcj_order_items_meta]
- unique_only
attribute added.[wcj_product_length]
, [wcj_product_width]
, [wcj_product_height]
shortcodes added.get_customer_country_group_id()
.init
hook.do_shortcode
added to formula and params.init
hook.select
and radio
values.yes
now.woocommerce_api_create_order
hook added (duplicates woocommerce_new_order
hook).woocommerce_new_order
hook replaced with woocommerce_checkout_order_processed
hook - this will fix issues with empty shortcodes.custom_number
admin settings.[wcj_country_select_drop_down_list]
- replace_with_currency
attribute added.[wcj_order_tax_by_class]
shortcode added.[wcj_order_total_by_tax_class]
shortcode added.[wcj_order_subtotal_by_tax_class]
shortcode added.get_product_orders_data()
- WooCommerce loop fixed.[wcj_product_time_since_last_sale]
WooCommerce loop fixed.[wcj_product_crowdfunding_time_remaining_progress_bar]
fixed.[wcj_product_crowdfunding_goal]
, [wcj_product_crowdfunding_goal_remaining]
, [wcj_product_total_orders_sum]
fixed (and hide_currency
attribute added).[wcj_product_list_attributes]
fixed.[wcj_product_total_sales]
- hide_if_zero
and offset
attributes added.[wcj_product_time_since_last_sale]
attributes added.customer_country_group_id
on every get_customer_country_group_id()
function call.add_hooks()
function moved from init
hook to constructor.[wcj_country_select_drop_down_list]
shortcode).label
tags added.set_is_vat_exempt()
function.[wcj_order_total_refunded]
shortcode added.[wcj_order_taxes_html]
shortcode added.[wcj_order_items_meta]
shortcode added.woocommerce_currency_symbol
hook moved from init
hook to constructor.init
hook. This caused "wp-admin show white screen and no errors" on some servers (or "Fatal error: Call to undefined function wp_get_current_user() in ..." message if debug enabled).output_custom_input_fields_in_admin_order()
for shipping bug fixed.init
hook.init
action.do_shortcode
added to custom email recipient.wcj_add_files_upload_form_to_checkout_frontend
function added.include_modules
function code refactoring.calculate_totals()
added on wp_loaded
to fix mini cart currency and price issues.module
(and module_name
) attribute added.visibility
attribute modified.[wcj_order_total_fees_tax]
and [wcj_order_total_fees_incl_tax]
- using get_line_tax()
instead of calculating taxes manually - that should fix the issue with wrong taxes rounding.[wcj_wholesale_price_table]
and [wcj_product_wholesale_price_table]
- Table class added.[wcj_product_wholesale_price_table]
- Price tax bug fixed.[wcj_product_wholesale_price_table]
- price_row_format
attribute added.admin-ajax.php
(caused issue in mini cart).change_price_by_role_shipping()
fixed (produced an error if price by user role for shipping was disabled).is_product
and is_bookings_product
checks added to enqueue_scripts
function.do_shortcode
added to custom tab titles.[wcj_input_field]
shortcode) added.do_shortcode
added to all messages.SetTitle
fixed.woocommerce_matched_rates
filter changed to woocommerce_find_rates
- this fixes the issue with shipping tax not exempting.namespace
(as it required PHP 5 >= 5.3.0).WC_Geolocation
class exists added.[wcj_order_items_table]
- item_weight
column added.is_super_admin()
replaced with wcj_is_user_role()
.name_changed_notice
) removed.jetpack_menu()
).WCJ_Module
- create_meta_box()
and save_meta_box()
- title
option type added.WCJ_Module
- create_meta_box()
- multiple
attribute added to select
type option.wcj_get_current_currency_code()
function added.wcj_get_currency_exchange_rate()
function added.[wcj_order_items_table]
- Fixed for deleted products.[wcj_order_items_table]
- item_name
and item_variation
- Variation data fixed (pa_
removed and urlencode
added).[wcj_order_items_table]
- item_name
- style_item_name_variation
attribute added.[wcj_order_items_table]
- debug
column added.[wcj_order_total_in_words]
- Bulgarian language (lang="BG"
) added.get_product_orders_data
- total_orders
fixed.get_product_orders_data
- offset
shortcodes attribute added.get_product_orders_data
and [wcj_product_time_since_last_sale]
- Query by blocks.[wcj_product_crowdfunding_goal_remaining_progress_bar]
shortcode added.[wcj_product_crowdfunding_time_remaining_progress_bar]
shortcode added.[wcj_product_total_orders_items]
shortcode added.date_i18n
added to [wcj_product_crowdfunding_startdate]
and [wcj_product_crowdfunding_deadline]
.get_customer_country_group_id()
to prevent PHP notice on empty value.get_variation_prices_hash()
- Variable products main price fixed.get_customer_country_group_id()
- Not recalculating customer_country_group_id
- works faster now.get_variation_prices_hash()
- Variable products main price fixed.add_hooks()
moved from init
hook to constructor.get_variation_prices_hash()
- Variable products main price fixed.post__not_in
added to save_meta_box_value
.posts_per_page
lowered to query only necessary number of product in save_meta_box_value
.disable_add_to_cart_ajax
added.wcj_get_products()
).create_migrate_from_custom_price_labels_tool
- Query by blocks.wcj_get_products()
).label
tag added.add_custom_order_and_account_fields_to_admin_order_display
.wcj_get_products()
).renumerate_orders
- Query by blocks.$wpdb->prefix
fix.gather_orders_data
- Fixed for deleted products (caused PHP notice).gather_products_data
- Query by blocks.WCJ_Module
- create_meta_box
- select
type added.WCJ_Module
- create_meta_box
now takes option default value if no post meta is set.wcj_product_id_for_shortcode
added to products shortcodes and to Custom Price Labels module.[wcj_wholesale_price_table]
shortcode added.[wcj_order_items_table]
- item_key
column - maybe_unserialize
added (this fixes displaying file type product input fields).[wcj_order_total_fees_tax]
shortcode added.[wcj_order_total_fees_incl_tax]
shortcode added.[wcj_order_custom_field]
shortcode added.[wcj_product_wholesale_price_table]
- Columns styles fixed (now works for more than three levels).[wcj_product_wholesale_price_table]
- Fix for variable products with same min and max prices.[wcj_product_wholesale_price_table]
- add_price_row
shortcode parameter added.[wcj_product_price]
shortcode).product_id
attribute.[wcj_product_price_excluding_tax]
and [wcj_product_price_including_tax]
shortcodes.set_time_limit
increased. show_rates
added.booster_for_woocommerce_version
) parameter added.source
parameter added to documentation link (module and dashboard).text
to textarea
(in all notice and main label fields).filter_available_payment_gateways_per_category
function. This is fixing compatibility issue with "WooCommerce Subscriptions" plugin.woocommerce_checkout_update_order_meta
filter function removed.WCJ_Module
class.wcj_current_filter_priority()
function added (affected Checkout Files Upload module).K_TCPDF_THROW_EXCEPTION_ERROR
"is defined" check added to tcpdf_config.php
file.WCJ_Module::create_meta_box()
(works for text
type).[wcj_get_left_to_free_shipping]
bug fixed.[wcj_currency_select_link_list]
shortcode added.[wcj_currency_select_radio_list]
shortcode added.[wcj_order_checkout_field]
- field_id
string conversion added.WCJ_Product
class).WCJ_Module
and WCJ_Product
classes).wcj_purchase_data_product_options
and wcj_get_product_purchase_price
filters added (second filter added to WCJ_Product
class).wcj_get_currencies_names_and_symbols()
and wcj_get_currency_symbol()
functions modified.[wcj_order_items_table]
- item_product_input_fields
and item_key=
options (columns) added.UK
changed to GB
in wcj_get_country_currency()
.change_currency_code()
added.no_changes
currency bug fixed.K_PATH_IMAGES
in tcpdf_config.php
).WCJ_Module
class code refactoring.init_wc_gateway_wcj_custom_class()
.output_custom_number()
fixed.wcj_is_module_enabled()
function added.[wcj_country_select_drop_down_list]
- manual sorting when countries
attribute is used.[wcj_order_total_tax_percent]
fixed. precision
attribute added.get_cart_discount()
(deprecated since WooCommerce 2.3) removed from [wcj_order_items_table]
shortcode (affected if discount_as_item
option was used); removed from [wcj_order_total_discount]
shortcode; [wcj_order_cart_discount]
shortcode removed.[wcj_order_total_in_words]
- decimal part rounding bug fixed.[wcj_order_total_in_words]
- whole
and decimal
attributes added.[wcj_order_items_table]
- item_short_description
option added.hide_if_zero
attribute added to Products Shortcodes.[wcj_product_you_save]
- checking if product is on sale.[wcj_product_you_save]
- hide_currency
attribute added.[wcj_product_you_save_percent]
- checking if product is on sale.[wcj_product_you_save_percent]
- reverse
attribute added.[wcj_product_shipping_class]
(returns shipping class name, not slug), [wcj_product_dimensions]
, [wcj_product_formatted_name]
, [wcj_product_stock_availability]
, [wcj_product_tax_class]
, [wcj_product_average_rating]
, [wcj_product_categories]
, [wcj_product_list_attributes]
, [wcj_product_list_attribute]
, [wcj_product_stock_quantity]
, [wcj_product_sale_price]
, [wcj_product_regular_price]
, [wcj_product_time_since_last_sale]
, [wcj_product_price_including_tax]
, [wcj_product_price_excluding_tax]
, [wcj_product_available_variations]
;add_product_input_fields_to_order_item_name()
fixed. "Item Name Order Table Format" option added.wcj_get_european_union_countries_with_vat()
Romania VAT rate changed from 24% to 20%.%customer%
as recipient added.[wcj_order_total_tax_percent]
shortcode "rounding bug" fixed.WCJ_Tools
and WCJ_Module
- Code refactoring (mostly Tools related). Additionally modified modules:
Admin Tools, Bulk Price Converter, Custom Price Labels, EU VAT Number, General, Old Slugs, Order Custom Statuses, Order Numbers, PDF Invoicing, SKU.lang
and not_lang
params PHP notice fixed.wcj_order_billing_address
filter added.wcj_local_price_labels_enabled
defaults to yes
.remove_query_arg
added.[wcj_product_crowdfunding_time_remaining]
singular form bug fixed.textarea
to custom_textarea
.[wcj_tcpdf_pagebreak]
shortcode added.[wcj_order_checkout_field]
bug fixed.time
function calls replaced with current_time
in: crowdfunding module and shortcode, invoicing, stock report.WCJ_Module
code refactoring.[wcj_order_checkout_field]
shortcode modified. [wcj_order_custom_meta_field]
deprecated (now duplicates [wcj_order_checkout_field]
).[wcj_country_select_drop_down_list]
shortcode - option to limit country list added.gather_orders_data
function - now no errors on gathering data in shops with large number of orders.[wcj_order_meta]
shortcode added (attribute: meta_key
).[wcj_order_custom_meta_field]
shortcode added. Suggested by https://wordpress.org/support/topic/pdf-invoice-get-order-item-meta-data.[wcj_text]
shortcode added.not_lang
attribute added to [wcj_wpml]
shortcode; lang
modified to accept comma separated values.wpml_not_language
attribute added to all shortcodes; wpml_language
modified to accept comma separated values.billing_country
and not_billing_country
attributes added to all shortcodes when used in invoice.output_dashboard_modules
function.add_enable_module_setting()
in WCJ_Module
.wcj_get_currency_symbol
function. Affects: admin (per product), frontend and reports currency symbols.[wcj_custom_doc_number]
and [wcj_custom_doc_date]
shortcodes added.[wcj_order_checkout_field]
bug fixed.[wcj_product_total_sales]
added.WCJ_Module
.get_settings()
added to WCJ_Module
.old_price_html
in add_discount_info_to_cart_page()
modified.wp_reset_query
to wp_reset_postdata
.completed
to wc-completed
in orders WP_Query.custom_textarea
custom settings field added).delete_product_transients
added on settings save (now no need to Clear transients manually from WooCommerce Status > Tools).[wcj_product_total_orders]
, [wcj_product_total_orders_sum]
,
[wcj_product_crowdfunding_goal]
, [wcj_product_crowdfunding_goal_remaining]
,
[wcj_product_crowdfunding_startdate]
, [wcj_product_crowdfunding_deadline]
, [wcj_product_crowdfunding_time_remaining]
.completed
to wc-completed
in orders WP_Query.name_changed_notice
added).fix_required_by_default
added.wcj_features_status
filter deprecated.[wcj_product_wholesale_price_table]
) - Discount percent row added to the table.[wcj_invoice_date]
in invoice number bug fixed.symlink
call changed to calling with variable function name to prevent autodeleting tcpdf_fonts.php file from some servers bug.location
, site_visibility
, wpml_language
attributes added to all shortcodes.[wcj_country_select_drop_down_list]
shortcode added.date_query
added (fix for "memory exhausted" message, on large number of total shop orders).[wcj_wpml_translate]
added to General Shortcodes list.woojetpack_readme
.WCJ_Module
class added. Type submodule
added.WCJ_Product
class added (started).custom_number
settings field added as woocommerce_admin_field_custom_number
action in WC_Settings_Jetpack
class.[wcj_cart_items_total_weight]
.[wcj_product_excerpt]
, [wcj_product_tags]
.[wcj_product_custom_field]
- feature requested by: https://wordpress.org/support/topic/custom-product-info-how-to-achieve.[wcj_product_you_save]
, [wcj_product_you_save_percent]
.wcj_order_get_cart_discount_tax()
in [wcj_order_total_discount]
shortcode.[wcj_order_subtotal_plus_shipping]
.[wcj_order_customer_note]
, [wcj_order_checkout_field]
, [wcj_order_billing_phone]
.[wcj_order_total_fees]
, [wcj_order_fee]
, [wcj_order_fees_html]
.woocommerce_loaded
hook changed to init
in WCJ_Price_by_Country_Core
.change_shipping_price_by_country
function added). Suggested by Fabian.merge
option added; and currency symbol fixed.[wcj_product_wholesale_price_table]
shortcode added to "Products Shortcodes".do_shortcode
added on price output.[wcj_product_purchase_price]
shortcode added to "Products Shortcodes".number
, textarea
and checkbox
field types added.gateways_fees
function).add_fee
function).on-hold
, fixed (now default_order_status
).#
in order numbers.sanitize_file_name()
added in WCJ_Invoice::get_file_name()
.force_balance_tags()
added in WCJ_PDF_Invoice::get_pdf()
.WCJ_TCPDF
class and defining K_PATH_IMAGES
in tcpdf_config.php
.woocommerce-jetpack.php
.item_variation
column added to [wcj_order_items_table]
shortcode. Suggested by Brad.is_shop_manager
function). Also added to PDF Invoices (V1).fopen
. Also added to PDF Invoices (V1).get_item_total
replaced with get_item_subtotal
.[wcj_wpml]
(and [wcj_wpml_translate]
) shortcode added to "General Shortcodes" for translating any other text.internal_wc
only.after_discount
attribute added to [wcj_order_subtotal]
shortcode (also [wcj_order_subtotal_after_discount]
shortcode).[wcj_product_sku]
, [wcj_product_title]
, [wcj_product_weight]
.font_family
and font_size
settings wrongly taken from PDF Invoices V1 instead of V2, fixed.on_create
bug fixed. This caused creating all document on new order only.hide_currency
added to Products Shortcodes ([wcj_product_price]
).[wcj_product_price]
- variable product handling (as price range), added.hide_if_zero
checking for _order_item_total_
shortcodes.do_shortcode
on all empty price outputs.do_shortcode
in payment gateway's "thank you" page and email instructions.add_custom_order_statuses_to_reports()
for WooCommerce v.2.3 compatibility.generate_pdf()
(order_id
not defined when first checking), fixed.maybe_unserialize
instead of serialize
in add_custom_checkout_fields_to_pdf()
.add_custom_order_statuses_to_reports()
for WooCommerce v.2.3 compatibility.update_database()
.set_product_sku
function. Bug caused SKU not autogenerating when adding new product. Reported by Gary.$wpdb->prefix
fix. Reported by John.wc_get_product
instead of new WC_Product
.wc_get_product
instead of new WC_Product
.id
option bug, fixed.woojetpack_country_ip
added to DB.booking_form_calculated_booking_cost
hook added. Partial compatibility with Bookings plugin.round = none
rounding by precision set in WooCommerce.wp_register_script
moved to init
. This caused warning generation on some servers.is_object
check added. This caused warning generation on some servers.get_line_subtotal
instead of get_line_total
. This fixes the bug with item's discount in invoice.api.host.info
.str_getcsv
removed (as this function needs PHP 5.3.0 minimum).gettext
(in Cart and Shipping Calculator).text
type are available.Empty cart
button. Suggested by Patryk.init
. That lets set "priority higher than maximum".
This caused Call for Price not to work properly with other similar plugins installed. Reported by Patryk.FR_fr
French translation updated. Translated by Jean-Marc.[wcjp_list_attribute]
shortcode.
Now it is possible to display product's attribute values list (e.g. to list the different colour variations of a product). Idea by Tony.
This is the right way to display product info, so WooJetpack shortcodes (introduced in v.1.8.2) are deprecated and will be removed in feature releases.
Shortcode has visibility
parameter which gives the possibility to show shortcode's product info to admin only.%stock_quantity%
WooJetpack Shortcode added.the_content
filter added to result. Now shortcodes will be displayed properly.date
function changed to date_i18n
. Suggested in https://wordpress.org/support/topic/pdf-invoices-date-bug
Changes affected the Orders and PDF Invoices features (this covers request from Jean-Marc for international date formats in PDF Invoices).wp_update_post
function,table
).table
).FR_fr
translation updated by Jean-Marc Schreiber.add after price
, add before price
, replace in price
.
Remove from price
code also have been moved (and now in one place with all Global Labels) - before that it was called multiple times, fixed.FR_fr
translation added. Translation by Jean-Marc Schreiber.%total_sales%
fixed and enabled.%total_sales%
is temporary disabled.
This was causing "PHP Parse error" on some servers (PHP 5.3), now fixed. Reported by Xavier.
Also reported in https://wordpress.org/support/topic/parse-error-syntax-error-unexpected-expecting-2date
function, so most of PHP date formats can be used.
Visit PHP date
function page for more information on valid date formats.
The only exception is using \
symbol in date format, as this symbol will be excluded from date (that is because of WooCommerce default option saving mechanism).textarea
instead of text
option type. Now it is possible to add tags (e.g. <span class="your_class"></span>
) to customers messages..html
file extension was wrongly added to PDF. Suggested by Pete (reported from Safari, Mac).prices_filters
array.call_user_func_array()
warning, fixed. Suggested by Andrew.textarea
instead of <input type="text">
.postbox
added instead of simple form.Order Shipping Price
position in Totals
on admin settings page, fixed.