WooCommerce relies on the constant DB_NAME to display information about the database tables in the system status page. The problem is that this constant is not always defined (e.g., when the plugin HyperDB is used to replace the standard wpdb class). When that is the case, WooCommerce will incorrectly say that its core tables are missing and the following PHP warning will be generated:
```
Use of undefined constant DB_NAME - assumed 'DB_NAME' (this will throw an Error in a future version of PHP)
wp-content/plugins/woocommerce/includes/api/v2/class-wc-rest-system-status-v2-controller.php:708
```
To fix this, this commit checks to see if DB_NAME is defined before using it. When the constant is not set, WooCommerce will display the following message to the users instead of the list of supposedly missing tables:
```
Database information: Unable to retrieve database information. Usually, this is not a problem, and it only means that your install is using a class that replaces the WordPress database class (e.g., HyperDB) and WooCommerce is unable to get database information.
```
This commit adds a new line to the section "WordPress environment" of the system status page to indicate whether or not WP external object cache is enabled.
Replace:
`wp_remote_get() failed. Contact your hosting provider.`
`wp_remote_post() failed. Contact your hosting provider.`
With:
`%s failed. Contact your hosting provider.`
Note:
This also a good practice because the function name is outside of the translation string, this way the translator can't misspell the function name.
The size of the site very much impacts the status of the site. This type of information would be extremely helpful when supporting a site.
1) post counts - can reveal high volumes of specific kinds of post types both within WC (orders, products, etc) or outside (revisions, attachments, third party ones, etc)
2) table sizes - a site with a 5MB postmeta table is very different than a site with a 5GB postmeta table, which is different than a site with a 50GB postmeta table, and require different kinds of support and focus.