Fixed terms and conditions preview when the terms and conditions option is unset.
Change token export format to match WordPress 4.9.
Updated some missing template file versions.
Use GET in external product form so query strings are preserved.
Escape and decode ampersands correctly for external products.
Preview checkout without a dummy product to prevent conflicts.
Remove . from strings for checkbox settings.
Data erasers; target shop_order only and added filters for 3rd parties.
Remove legacy PayPal meta data from orders.
When cleaning up CSV import, only remove product taxonomies. #20094
And we’ve added the following to the changelog as it affects older versions also:
* Tweak - In CSV exports, wrap cell in ' rather than just prepending to escape values. #20041
* Tweak - Add JS listeners for reloading/reinitializing order items in edit-order page. #20082
* Fix - When duplicating variation, set the date to null. #20083
* Fix - Fix rounding of line items for orders to match cart. #20086
* Fix - Remove hardcoded border in email template. #20090
* Fix - Prevent autofocus on checkout. #20123
* Fix - Recalc taxes if address changes in API. #20137
* Dev - Made wc_query_string_form_fields handle strings. #20162
* Localization - Fix missing Bahrain country code. #20061
Storefront 2.3.1 has been tagged for release and uploaded to WordPress.org.
Here’s what’s changed pulled directly from the changelog:
* Feature - Add support for GDPR features soon to be introduced in WordPress 4.9.6.
* Tweak - Removed inline CSS cache; WordPress autoloads options by default, there's no advantage to caching the CSS.
* Fix - Made changes to `icons.scss` to address an issue where Font Awesome icons were not being displayed correctly on some sites.
* Fix - Apply clearfix to `.col-full` globally.
Storefront 2.3.0 has just been tagged for release an uploaded to WordPress.org. That means it should be available to download very soon!
While 2.3 is not a major release, you should not update live sites without adequate testing on a staging site. If you are using any additional Storefront products (child themes and/or extensions) be sure to check for updates for them before updating Storefront.
What’s in the box
Please read the previous post which includes all of the details of this release.
For the condensed version, here’s the relevant info pulled directly from the changelog;
Feature - Sticky Add-To-Cart.
Feature - Product Pagination.
Feature - WooCommerce Brands integration.
Tweak - Increased size of branding section if secondary navigation not used.
Tweak - Added a screen reader label to post navigation links.
Tweak - Removed RGBaster and added Customizer controls to change the color of text in the homepage Hero section.
Tweak - Removed NUX notice if coming from the WooCommerce wizard.
Tweak - Updated My Account layout.
Tweak - Removed column wrappers, unnecessary as of WooCommerce 3.3.
Tweak - Removed Jetpack Infinite Scroll hacks; they are no longer needed as of the latest version of Jetpack / WooCommerce.
Tweak - Removed "Free Extensions" column from Welcome page.
Fix - Reduce padding on cart table to prevent sidebar from overflowing container.
Fix - Hide handheld footer bar when an input is focused.
Fix - Prevent entry meta author styles from being applied to the author archives.
Fix - Added styling for other buttons in the header mini cart added by extensions.
Fix - Improved semantic HTML for pages and single posts.
Fix - Removed negative margins in the primary navigation and breadcrumb containers to fix an overflow issue in the Linux version of Chrome.
Fix - Removed 1px pixel margin on the product images gallery.
Fix - Added missing styles to Composite Products integration.
Dev - Upgrade to Font Awesome 5.
Dev - Remove `composer.json` from production version.
Dev - Added CSS style linting.
Dev - Renamed the `sass` folder to `css`. All `.scss` files are now excluded from the production version.
You can download Storefront now from your dashboard or from WordPress.org.
I found a bug
If you find a bug then as always, please be sure to report it on GitHub. If you have any other problems with Storefront please post on the WordPress.org support forum, or contact us if you’re a WooCommerce customer.
This post summarises the changes and features you’ll find in our 3.4 release scheduled to drop May 23rd.
Personal data exporter
WordPress 4.9.6 includes both the ability to export personal data associated with an email address to a HTML file. WooCommerce 3.4 will add to the generated export file, exporting the following data:
Customer address/account information
Orders associated with the given email address
Download permissions and logs associated with the given email address
To ensure requests are genuine, 4.9.6 includes a requests table and confirmation email to verify the request. The verification flow consists of the following steps:
Add an email address or username.
The user is notified via email with a confirmation link.
The confirmation link is used and the request is marked “confirmed”.
Admin triggers an email to the user which contains a link to download their personal data.
Personal data files can also be manually generated by the admin and downloaded. The file itself is a simple HTML file, zipped.
WordPress exports it’s own data in the same way, so things such as media files, posts, and comments/reviews are also taken care of!
Personal data eraser
Like the exporter, the eraser allows you to verify requests are legitimate before fulfilling them. It uses the same verification/email/requests system as the exporter.
We understand this can be slightly more complicated with stores because you may need to keep data for other reasons, such as tax compliance or compliance with other laws.
With that in mind, we have made some of our erasure routines optional:
These settings are off by default.
Additionally, if you ever delete a user manually, we’ve improved our cleanup functions so that the following data is removed along with the user:
Orders (are converted into guest orders)
And if you need to manually anonymise orders in bulk for a user you can search for them in admin and use the new “remove personal data” bulk action:
This keeps the order around, but removes all personal data and converts the order into a guest order.
Data retention settings
To help reduce the amount of personal data that’s stored, WooCommerce 3.4 allows you to define how long you want to retain data that is no longer needed for order processing:
These settings are found in WooCommerce > Settings > Accounts and privacy.
Failed, pending, and canceled orders which get cleaned up will be moved to the trash.
Completed orders which get cleaned up will be anonymized so sales stats are unaffected.
Inactive accounts will be deleted. An inactive account is one which has not been logged in to, or which has not placed orders, for the specified time.
If enabled, cleanup will run via a daily cron job. Inactive accounts are tracked using meta data, and only subscribers/customer accounts are removed. An upgrade routine will set all account last active times to the time you updated to 3.4.
Checkout page display options
To reduce the amount of personal data stored you can turn off some optional fields you may not require for processing.
Additionally, you can now change the terms and conditions checkbox text to meet your needs:
Both of these options can be found in the Customiser (Appearance > Customizer > WooCommerce > Checkout) and the preview is live so you can see what effects these changes will have on your checkout before hitting publish.
WordPress 4.9.6 includes a privacy page setting as well as a mechanism for plugins to suggest content. WooCommerce adds some suggested content of it’s own.
Other plugins can do the same which should allow you to piece together a policy which applies to your users.
Account registration form
The notice in the case of the checkout is shown above the place order button automatically:
Both notices can be customised in WooCommerce > Settings > Accounts and privacy or the Customiser.
Changes to log files
We’ve made some changes to our logging system in core, as well as revised what data gets logged.
We’ve done an audit of our usage of logs in WooCommerce and removed any unnecessary personal information from the logs. Notably:
Webhook logs no longer log the webhook body and response unless WP_DEBUG mode is turned on. This avoids personal information sent with webhooks being logged to the server.
PayPal debug logging no longer logs the personal data sent to PayPal and masks it out. The setting itself now includes a disclaimer that it should be used for debug purposes only and should be disabled when complete.
For PayPal specifically, payer email/name is no longer logged within order meta – this information can be found using the transaction ID and visiting the PayPal website instead.
When PayPal debugging logging is turned off, the logs are purged.
Logs will now rotate daily, and log files will be deleted after 30 days by default. A filter can be used (woocommerce_logger_days_to_retain_logs) to extend this if needed. The cleanup is performed using a cron job.
These changes apply to both file based logging, and database based logging, which are both options within WooCommerce core.
The above features will require both WooCommerce 3.4 and WordPress 4.9.6. Both will be released before the May 25th GDPR deadline. If you’re interested in testing WooCommerce 3.4, see our beta announcement here.