Remove heavy queries from transient cleanup function
Removes unneccessary loops and heavy queries.
There is a parent update and cache clear which was added in #17141. This cleanup is handled in `update_attributes` so doing it again here should be unneccessary.
Finally, the layered nav cleanup here can be moved. #22029 notes that this was needed in case of a stock change affecting product visibility. If we move to the data store, we can avoid getting the product here which is slower.
wc_count_comments is completely unrelated to products. This can be moved to the transient cleanup tool, because code already exists to clear this cache when needed in WC_Comments.
This commit reverts commits 2f8a3eae49 and 17e97c2580 that were created to defer transient cleanup (see #20537) and avoid deadlocks on the wp_options table (see #20528 and #17632). The problem is that deferring transient cleanup to a cron job created an issue when creating or importing multiple products at once (see #21100 and https://github.com/woocommerce/wc-smooth-generator/issues/14#issuecomment-413342136) and has the potential to impact the checkout as well if we start using more versioned transients for orders.
This problem is happening because when importing or creating multiple products at once, for each product that is created or imported, WooCommerce core enqueues a few 'delete_version_transients' cron events. Events are enqueued faster than they are executed and after a few hundred products are generated, the size of the cron queue, which is stored in a single wp_options entry, starts to impact WordPress performance in general.
To reduce the chance of deadlocks happening again after this change, I already created another PR to optimize the query used to delete transients (#21274) by avoiding an unnecessary filesort, and I'm planning, on a subsequent commit, to improve it further by prefixing the transient name with its version instead of suffixing it as it is currently done. But the ultimate solution for high traffic stores is to use a persistent cache plugin.
Added danish locale-info settings.
example: DKK 12.345,67
The tax rate is called "Moms"
Som will argue, that the currency code could be "kr", but thats not default in WooCommerce, and the organizations who has to accept cart payment on the shops, states that if a danish shop, sells to foregin countries, the currency must be DKK
Because we don't have the same WC_Webhook instance as used in
wc_load_webhooks(), so it's impossible to check if the same
object's process() method is attached as a callback.
And the corresponding data stores. Defaults to '', meaning do not
load only webhooks with a specific status. This maintains backward
compatibility. However, the call to wc_load_webhooks() within
WooCommerce::load_webhooks() can now only load active webhooks, as
they are the only ones that should be enqueued.