In an environment with persistent object caching, concurrent calls
to delete_option() + add_option() can result in the option value
leaking out of the alloptions cache key, and into its own cache
item under the options group, while deleting the value from the
database.
This causes future function calls to add_option() to fail, since
the value already exists in cache (under the wrong key). It also
causes calls to delete_option() to fail, since the value is not
in the database.
This commit forces update_option() instead of the delete + add
combination, as well as removes multiple unnecessary calls to
update the woocommerce_db_version from admin notes and notices.
This commit introduces a banner that notifies and prompts users to upgrade their WordPress and/or PHP if they are outdated and not part of the minimum required versions going into WooCommerce 3.7.
* Add backward compatible function wp_check_php_version for sites running WP version smaller than 5.1
* Refactor some messaging, move widget to top of WC dashboard widgets, add buttons linking out to WP pages with instructions.
* Add missing variables for adding nag class
* Add styling to dashboard widget
* Rework css to use exclamation instead
* Clean up widget, make sure no widget is registered when dismissed. Add banner that links to widget and make it dismissable.
* Update constant to reflect minimum requirements.
* Don't show banner. Fix undefined variable.
* Remove dashboard widget
* Update banner link to docs site
* Add link to docs page where instructions live for updating
* Change button text
* Add UTM params to docs link
* Moved the msg logic from template to php file.
* Bail out early when PHP and WP versions are ok.
* Added missing translation functiog
* Extracted notice function from reset_admin_notices.
To follow suit with other similar functions in the file.
* Synchronize fetching of WP version.
* Removed unused functions.
* Corrected indent.
* Reduce number of variables and fixed coding standards
* Updated wording of the notice.