Instead of comparing all tables that exist with all tables that are registered with `WC_Install::get_tables()` (which was only introduced a few versions ago in #19436), rewrite the test to verify that all of the tables *registered* actually exist within the database.
This will prevent tests from failing when, for example, they're run against databases that may or may not have additional plugins installed/activated. This also prevents tests from failing when running WooCommerce 4.x (e.g. with WooCommerce Admin) on WordPress < 5.3, since the tables are created but the callback to register the custom tables is never hooked.
The documentation of the method
WC_Plugin_Updates::get_untested_plugins() said that it only considers
active plugins when getting the list of untested plugins, but it
actually considers all installed plugins. This commit simply updates the
documentation to reflect the method behavior.
This commit creates a new method called
WC_Admin_Status::output_plugins_info() that is used to display the
plugins that are installed on the site in the system status report page.
It is used to display both the active and inactive plugins sections and
it was created to remove code duplication.
I don't think that adding this code as a method to WC_Admin_Status is
an ideal solution but it is the best that I could think and it is better
than duplicating code. Suggestions of other places are welcome.
As discussed in p6q8Tx-1qz-p2, when users search for 'woo' on the WP.org plugin repository, WooCommerce does not appear in the list of results. This is happening because 'woo' is not mentioned in the content, excerpt, title, or the first five tags. It was suggested that we start using the tags fields for synonyms like 'woo'. Since WP.org only stores the first 5 tags, in this commit, I'm removing the tag ecommerce tag (which is a word that appears both in the excerpt and the content) and replacing it with 'woo'.
In the future, we might want to evaluate the other four tags that WP.org is considering: e-commerce, store, sales, sell.
Kudos to @kadimi who is the original author of this change (see #24623).
I'm doing this commit as we were not able to merge their PR due to a
conflict and we were also not able to cherry-pick their commit as GitHub
is reporting that the PR was created from a unknown repository.
The check now also tests whether wc admin is active to prevent notice about undefined constant when running on WP 5.2 and older, or with inactive WC Admin.