* Data escaped and validated. Plus translator comment documentation added.
* If it should be int then we should change the empty string default parameter to 0 as in 'if' condition checking 0 and empty string are same.
* Extra bracket removed.
* Indentation is fixed now.
* The taxonomy object should not be assigned to a variable before checking if this is a taxonomy or not.
* echo esc_attr__ replaced by esc_attr_e and visually tested.
* As I use WordPress VIP Coding Standard, they were marking them as warnings. But now it's fixed again.
* Escaping fix
* Extra Bracket Fix Again
* Fix - #17413
Update the `json_search_products` function to use the
`wc_products_array_filter_visible` filter rather then the
`wc_products_array_filter_editable` filter
Added an additional if condition to the `is_visible` function to check
if the product had a parent and it's post status
* remove additional comment from code to keep it clean
* Reverted filter
* Updated the is_visable to check parent product post status using WooCommerce class methods
* Updated the `if empty` check to make it is compatible with older versions of php
* Removed the empty check infavor of just testing on the returned value
Updated the way we are retrieving the partent product object
* Moved the `$parent_product` variable assigment out of the if statement.
Commit d9f9e74bd added a check to `WC_Product::set_tax_class()` to only accept valid tax classes, but this created a bug for product variations as this type of product has an extra tax class called 'parent'.
This commit fixes this problem by adding a new method to `WC_Product` that returns a list of valid tax classes. `WC_Product_Variation` then override this method, returning another list including the tax class 'parent'.
Fixes#17024
Added check for the presence of the "is_vat_exempt" meta against an order. When present, such information is used during tax calculation to remove the taxes applied to an order.