Table of Contents
- WooCommerce Admin Updates:
- Skip category creation on WC install #7401
- Fix WC Home crash when the Analytics is disabled.
- Fix links on the dismiss dropdown are not clickable #7342
- Fix undefined method error when setting up WC Tax #7344
- Fix missing translation strings for CES #7270
- Add missing translation strings in the business features section #7268
- Fix inbox note dismiss dropdown not closing on Safari #7278
- Add TableSummaryPlaceholder to support skeleton loading #7294
- Sync the category lookup table when a new category gets created #7290
- Remove facebook extension from onboarding extensions fallback list #7287
- "Terms of service" link disappears from "Set up Tax" screen #7269
- Use saved values if available when switching tabs #7226
- Change the emailed report file name #7178
- Payment gateway suggestions feature
- WooCommerce Payments
- WooCommerce Blocks Updates:
- WooCommerce Core Updates:
- Setup the product attributes lookup table feature (prerequisite for testing #30041)
- Sync the product attributes lookup table on product creation/change/deletion #30041
- Add support for Shipping Phone Number in Order and Customer classes #30097
- Fixing batch export limitations #29749
- Allows set downloadable permissions to any downloadable product in any order #29901
- apply filter to errant hardcoded redirect on logout for custom endpoint #29967
- changes on WCS banner #30081
- Fix/29235 #30194
- Fix: "search product" block not displaying textbox in shop page #30287
- Use WC Version for loading scripts instead of hardcoding them closes … #30301
- WooCommerce API Updates:
WooCommerce 5.6 includes:
- WooCommerce Admin Updates
- WooCommerce Blocks Updates
- WooCommerce Core Updates
- WooCommerce API Updates
WooCommerce Admin Updates:
Skip category creation on WC install #7401
- Set up multi-site
- Install WooCommerce and network activate it
- Go to Network Admin > Sites and click Add New
- Fill out the details and click Add Site, notice how a success notice shows up at the top with View Dashboard link
- Click on the View dashboard as quickly as possible and confirm there are no errors
Fix WC Home crash when the Analytics is disabled.
- Navigate to WooCommerce -> Settings -> Advanced -> Features. Uncheck Analytics and save the changes.
- Navigate to WooCommerce -> Home and confirm the page loads without an error.
Fix links on the dismiss dropdown are not clickable #7342
Please make sure to test it on Safari as well.
Fix undefined method error when setting up WC Tax #7344
- Set up your store with US address to make sure automated tax is supported.
- Install "WooCommerce Shipping & Tax" plugin.
- Go to WooCommerce > Home > Set up tax.
- Click on "Yes please"
- Confirm that no error has occurred and you're redirected to the home screen.
Fix missing translation strings for CES #7270
- Navigate to Settings -> General and change the site language to a non-English (I've used Espanol for testing purposes).
- You might need to update the language file if it's your first time using the selected language. Update the language file from Dashboard -> Updates (see here for more help with changing language)
- Go to WooCommerce -> Settings
- Click the [ Save Changes ] button to trigger the CES modal.
- Confirm the modal has correct translations (Refer to the screenshots)
Add missing translation strings in the business features section #7268
- Checkout this branch and run
npm start
- Navigate to Settings -> General and change the site language to non-English (I've used Espanol for testing purposes)
- You might need to download the new language in Dashboard -> Updates (see here for more help with changing language)
- Navigate to wp-admin/admin.php?page=wc-admin&path=%2Fsetup-wizard&step=business-features and confirm the translation is working as expected.
Fix inbox note dismiss dropdown not closing on Safari #7278
- Navigate to WooCommerce -> Home
- Click "Dismiss" on a note. Confirm the position of the popover is correct.
- Click anywhere outside of the popover content and confirm the popover is closed.
Add TableSummaryPlaceholder to support skeleton loading #7294
- Visit any page using element Table to see this update.
- For example, Products, Orders, Revenue under Analytics; or Transactions, Deposits under Payments.
- While loading, scrolling down to the bottom of the table to see the placeholder of TableSummary.
Sync the category lookup table when a new category gets created #7290
- Navigate to Products -> Add New
- Add a new category on the Add New page and assign the product to it.
- Place an order with the product
- Navigate to Analytics -> Categories
- You should see the category.
Remove facebook extension from onboarding extensions fallback list #7287
- Go to the OBW and look at the Free features tab
- Observe no Facebook extension in the list
"Terms of service" link disappears from "Set up Tax" screen #7269
- Go to OBW setup wizard.
- Uncheck the "WooCommerce shipping" and "WooCommerce Tax" options at Free features step.
- Complete the OBW setup.
- Go to WooCommerce->Home.
- Click on "Set up Tax" option on Task list.
- TOS should not blink.
Use saved values if available when switching tabs #7226
- Start onboarding wizard and continue to step 4.
- Enter selections for business details and choose "Continue"
- Select the tab "Business details" to go back
- Confirm that the previously selected values are shown.
Change the emailed report file name #7178
Confirm the default behaviour remains the same
- Create a new store and install the WP Mail Logging by MailPoet plugin
- Go to Analytics -> Revenue and change the date range to last month
- Click the download button and make sure you see the "Your revenue report will be emailed to you" notification
- Go to Tools -> Scheduled Action and run the newly created
woocommerce_admin_report_export
action. After that is complete, run thewoocommerce_admin_email_report_download_link
action. - Go to Tools -> WP Mail Log and check the latest email. The URL linked to the "Download your Revenue report" should work as usual. The URL will be something like
filename=wc-revenue-report-export-16236128226138
Confirm the new filter is working
- Install and activate Code Snippets plugin.
- Add a new snippet with the following code:
add_filter( 'woocommerce_admin_export_id', function ($export_id) {
return 'different_export_id';
} );
- Repeat the same steps from above. The filename in the link now should be
different_export_id
.
Payment gateway suggestions feature
- Navigate to the homescreen via WooCommerce -> Home
- Click on "Set up payments"
How to test
Individual payment gateway plugins dictate the settings and connection flow. For testing purposes, we'll test both the default behavior of the gateway and the enhanced configuration behavior.
- On the payments task, click "Set up" or "Enable" next to a gateway
- Note that the gateway is installed if it requires a plugin
- On the connection step, a button should be presented that links to the gateway's (legacy) settings screen
- Delete the plugin
- Install some of the payment gateways from the links below. They don't need to be activated, but the folder names should match those on WordPress.org to avoid conflicts.
- If setting fields are shown, make sure that validation works, input is saved, and is persisted on page refresh. Make sure the gateway is marked as enabled and not labeled "Requires setup" if all fields are completed.
- If the "Connect" button is shown, follow the connection flow. Make sure that you are returned to the payments task and that the gateway is enabled and marked as configured.
- Remove some settings manually under the payment gateway's legacy settings screen. Make sure the gateway is no longer marked as configured.
- Klarna - https://github.com/woocommerce/woocommerce-admin/files/6880208/klarna-checkout-for-woocommerce.zip
- PayFast - https://github.com/woocommerce/woocommerce-admin/files/6880205/woocommerce-payfast-gateway.zip
- PayPal - https://github.com/woocommerce/woocommerce-admin/files/6880109/woocommerce-paypal-payments.zip
- RazorPay - https://github.com/woocommerce/woocommerce-admin/files/6880201/woo-razorpay.zip
- Stripe - https://github.com/woocommerce/woocommerce-admin/files/6880197/woocommerce-gateway-stripe.zip
- MercaoPago - https://github.com/woocommerce/woocommerce-admin/files/6880192/woocommerce-mercadopago.zip
- Square - https://github.com/woocommerce/woocommerce-admin/files/6880117/woocommerce-square.zip
- eWAY - https://github.com/woocommerce/woocommerce-admin/files/6880111/woocommerce-gateway-eway.zip
PayFast
- Set your country to South Africa in WooCommerce->Settings
- Don't select CBD as an industry during onboarding
Paystack
- Set your country to South Africa in WooCommerce->Settings
- Don't select CBD as an industry during onboarding
- Complete the payment tasks
- Make sure that
ZAR
is the site currency after configuration of Paystack and that "test mode" is turned off in settings
Stripe
- Set your store country to a Stripe supported country (e.g., US - https://stripe.com/global )
- Don't select CBD as an industry during onboarding
- Make sure you're using a site with https
- Attempt to use the oauth connection flow to enable the gateway, making sure you are returned to the site and connection is successful
- Remove the connection and use a non-https site
- Check that the manual settings configuration flow is shown
PayPal
- Set your store country to any country except India
- Don't select CBD as an industry during onboarding
- Make sure the PayPal connection flow is shown and works as expected
- In Chrome, open the console "Network" tab and right-click on the
get-params
request and select "Block request URL" - Refresh the page and note that the manual settings flow is shown
Klarna
- Set your store country to one of the following:
SE, FI, NO
- Don't select CBD as an industry during onboarding
Mollie
- Set your store country to one of the following:
FR, DE, GB, AT, CH, ES, IT, PL, FI, NL, BE
- Don't select CBD as an industry during onboarding
Mercado Pago
- Set your store country to one of the following:
AR, BR, CL, CO, MX, PE, UY
- Make sure the help text is shown when setting up the gateway with links to registration and the settings screen.
WooCommerce Payments
- Set your store country to one of the following:
US, PR
- Don't select CBD as an industry during onboarding
- Make sure the WC Pay card is shown above the other payment gateways
- Attempt to install and configured the gateway
Cash on Delivery
- Make sure "Enable" is shown and clicking this enables the gateway
- Make sure the "Manage" button is shown after enabling the gateway
Direct bank transfer
- Make sure "Set up" is shown next to the gateway
- Enter some bank details
- Make sure the gateway is marked as enabled and configured with the entered settings when visiting the legacy settings screen
RazorPay
- Set your store country to India
- Don't select CBD as an industry during onboarding
PayU
- Set your store country to India
- Don't select CBD as an industry during onboarding
eWAY
- Set your store country to one of the following:
AU, NZ
- Don't select CBD as an industry during onboarding
- Make sure the API key and password fields are shown
Square
- Set your store country to the
US
and select CBD as an industy during onboarding OR set your store country to one ofUS, CA, JP, GB, AU, IE
, don't select CBD as an industry and select that you have a physical store in the business details step. - Make sure the connection flow is shown.
WooCommerce Blocks Updates:
When using the testing instructions below, test only those cases presented in the section called "Feature plugin and package inclusion in WooCommerce core". There is no need to test cases in the "Smoke Testing" or "Feature plugin only" section since they are not a part of WooCommerce Core.
Blocks 5.4.0
Blocks 5.5.0
WooCommerce Core Updates:
Setup the product attributes lookup table feature (prerequisite for testing #30041)
- Add the following snippet using the code snippets plugin:
add_action('woocommerce_init', function() {
wc_get_container()
->get(\Automattic\WooCommerce\Internal\ProductAttributesLookup\LookupDataStore::class)
->show_feature();
});
- Go to the WooCommerce - Status - Tools page. You will see a new tool with the title "Create and fill product attributes lookup table":
- Click the "Create" button. After the page reloads you'll see that the button is disabled and shows a number corresponding to the number of products processed so far (the table is filled in increments using scheduled actions):
- Remove the
&action=regenerate_product_attributes_lookup_table
part from the page URL and reload it until the button changes to "Regenerate" and is enabled again. At this point the table is ready for use.
- Go to WooCommerce - Settings - Products - Advanced. Mark the "Use the product attributes lookup table for filtering" option and save.
Sync the product attributes lookup table on product creation/change/deletion #30041
- Setup some additional products, use this csv file https://raw.githubusercontent.com/woocommerce/woocommerce/dbac025535e29f5f67bdd96ba256ca4531662b4e/DATA_FOR_POC/FilterByAttributeUsingLookup_Products.csv
- Trash a variable product
- Create/delete/modify products and variations as follows and verify that everything continues working.
- A new product is created
- A new variation is added to a product
- A product or variation that had been trashed previously is untrashed
- The product visibility changes to "search" or "hidden"
- The attributes for a product change, this includes:
- New attributes are added or deleted for a product
- Terms are added or removed from the attribute definition for a product
- The attribute changes between "used for variations" and not
- The attributes for a variation change
- Delete the lookup table (from the WooCommerce > Status > Tools page)
Add support for Shipping Phone Number in Order and Customer classes #30097
- Edit or add an order in wp admin WooCommerce > Orders
- Click edit besides the shipping address
- Add phone number and save
- View phone number. It will be clickable to match billing phone.
- In the order actions metabox, send the invoice
- Check the invoice email. Shipping phone will be displayed alongside the shipping address.
- Go to Admin > Users > Profile
- Confirm the "phone" field exists under the shipping section
- Confirm the value can be edited/saved
Fixing batch export limitations #29749
Check fix
- Use a test site with 700+ Products
- Install and activate Code Snippets plugin.
- Add a new snippet with the following code:
add_filter( 'woocommerce_product_export_batch_limit', function () {
return 150;
} );
- Export Products from WooCommerce Admin
- The created file should have the CSV column titles in the first row
Check Exporting flow in general
- Use any test site with any number of products
- Export Products from WooCommerce Admin
- The created file should have the CSV column titles in the first row
Allows set downloadable permissions to any downloadable product in any order #29901
- Create an order from either within the dashboard or normal checkout that does not include the product we are going to manually grant access to later
- Make sure you've fully saved the order
- Enter the downloadable product name into the 'Downloadable product permissions' input
- Click 'Grant access' Should be no errors and customer and access download from My-Account
apply filter to errant hardcoded redirect on logout for custom endpoint #29967
- Login as a customer to test site via my-account
- Logout
- Confirm you have logged out and are on my-account login screen
changes on WCS banner #30081
- Set up a store with a US-based address
- Go to /wp-admin/admin.php?page=wc-addons
- Confirm these banners appear
- Try installing WooCommerce Shipping
Fix/29235 #30194
- Setup a new site without WC.
- Install WC
- Check that you see the newly created page Refund and Returns Policy and it is a draft.
- You should see a new inbox note screenshot below.
- On this note, you can click on the Edit page link and it will take you to edit the draft page of the Refund and Returns. This will also dismiss the note.
- You can also click on Dismiss button and this note should not appear again.
Fix: "search product" block not displaying textbox in shop page #30287
- Go to the Shop page editor.
- Add a Product Search block.
- Publish the page.
- Check the published Shop page to see, the search box should be showing and working.
Use WC Version for loading scripts instead of hardcoding them closes … #30301
- Ensure you're not getting any JS errors in console from loading up a product.
- Make sure any JS related actions work such as changing variations, zooming, clicking on variation thumbnails.
WooCommerce API Updates:
Refunds add api_restock param to restock items #30179
- Create an order with a product whose stock is managed.
- Refund the order using the API. Do not specify the
api_restock
parameter. Verify that the stock is restored.POST /wp-json/wc/v3/orders/<id>/refunds
- Create another order with a product whose stock is managed.
- Refund the order using the API, this time specifying the
api_restock
parameter with afalse
value. Verify that the stock is not restored.
Add support for Shipping Phone Number in Order and Customer classes #30097
- Edit or add an order in wp admin WooCommerce > Orders
- Click edit besides the shipping address
- Add phone number and save
- Do a request to
/wp-json/wc/v3/orders/<id>
and confirm new shippingphone
field exists with theshipping
address.
"shipping": {
"first_name": "",
"last_name": "",
"company": "",
"address_1": "",
"address_2": "",
"city": "",
"state": "",
"postcode": "",
"country": "",
"phone": ""
},
Contribution
- Set up development environment
- Our Git Flow
- SCSS and JS minification
- Naming conventions
- CSS SASS coding guidelines and naming conventions
- Critical Flows
- API Critical Flows
- String localisation guidelines
- Translating WooCommerce
- Deprecation in core
- Adding Actions and Filters
- Common Issues
- Writing high-quality testing instructions
Release Notes
- Release Testing Instructions
- 3.6.x notes/FAQ
- 2.6.x to 3.0.0 Developer Migration Notes
- Select2 fields not working in 3.0.x
- Thumbnail Image Regeneration in 3.3+
- Customizing image sizes in 3.3+
REST API and CLI
CRUD & Data Descriptions
- Database Description
- CRUD Objects in 3.0
- Order and Order Line Item Data
- Coupon Data
- Customer Data
- Product Data
- Data Stores
Internal APIs
Theming
- Enabling product gallery features (zoom, swipe, lightbox)
- Template File Guidelines for Devs and Theme Authors
Examples / Guides
WooCommerce is an open source commerce platform built for WordPress and lovingly crafted by Automattic and the WooCommerce community 💜. Come and work with us!