* Move email preview rendering into separate class
* Allow setting WC_Email $object
This is needed so in an email preview, we can set order to be rendered in an email
* Render "Processing order" with dummy order in email preview
* Always show shipping address in email preview
* Allow fetching dummy email preview product
* Add changelog
* Add unit test for EmailPreview
* Clean up filters after rendering email preview
* Improve duplicate filter comment
* Replace __return_true with a function to prevent accidental filter removal
* Avoiding shipping calculator prop drilling with context
* Add changefile(s) from automation for the following project(s): woocommerce-blocks
* useCallback for update functions
---------
Co-authored-by: github-actions <github-actions@github.com>
* Fix Product Collection rendering inside Single Product block
This commit addresses issue #51352 where the Product Collection block
inside a Single Product block was not rendering correctly on the frontend.
Specifically, the first product in the collection was being replaced by
the product selected in the parent Single Product block.
* Add changefile(s) from automation for the following project(s): woocommerce
* Fix issue for core/post-template block too
---------
Co-authored-by: github-actions <github-actions@github.com>
* Add random sorting option to Product Collection block
This commit introduces a new 'Random' sorting option to the Product Collection block. The changes include:
1. Adding a new option for random sorting in the frontend UI (order-by-control.tsx).
2. Updating the backend to support the new random sorting option (ProductCollection.php).
These changes allow users to display products in a random order, enhancing the flexibility of product presentations in WooCommerce stores.
* Add changefile(s) from automation for the following project(s): woocommerce-blocks, woocommerce
* Add PHP unit tests for random sorting option
* Remove "asc" suffix from random sorting option
The "asc/desc" order is not needed for random sorting. This commit:
- Changes `random/asc` to just `random` in sorting options
- Updates code to handle sorting options without order suffix
- Adds fallback to 'asc' order when no order is specified
* Fix: "order" shouldn't be present in REST API params
---------
Co-authored-by: github-actions <github-actions@github.com>
* Removed Los Angeles local pickup option from mock data.
* Add changefile(s) from automation for the following project(s): woocommerce-blocks
* Updated js test
* Reverted js test
* Updated mockup pickup locations
* Updated mockup pickup locations
* Add changefile(s) from automation for the following project(s): woocommerce-blocks
---------
Co-authored-by: github-actions <github-actions@github.com>
* Check for valid session object before calling get_customer_id in Cart Route
* Add changefile(s) from automation for the following project(s): woocommerce
* Harden get_cart_token function to make sure the cart is loaded before we access the session
---------
Co-authored-by: github-actions <github-actions@github.com>
* Create loading state for payment methods on block checkout
* Tidy and type fix checkPaymentMethodsCanPay
* Disable place order button before payments are Initialized
* Toggle and loading state
* changelog
* Reduce scope of change in check payment methods
* saved methods are hidden when empty
* Add new /orders/{id}/details endpoint first version
* Add tests for the OrderDetailsRestController
* Fix lint errors and service provider
* Add changefile(s) from automation for the following project(s): woocommerce
* Update note to mention it was created via a REST API request
* Document the original actions and reference them from the endpoint
* Refactor the endpoint to be `/actions`
* Add changefile(s) from automation for the following project(s): woocommerce
* Add back loading payment gateway and shipping classes
* Refactor endpoint to be `actions/send_order_details`
* Address feedback: improve error message and note
---------
Co-authored-by: github-actions <github-actions@github.com>
* update Rating experimental filter title
* allow to insert the filter block
* fix ancestor block name
* remove showFilterButton from attribute types
* udpate icon
* add rating to the initial filters template
* clean rating filter utils
* minor styling code enhancement
* tidy
* remove isEditor const
* import type explicitely
* rename block to CheckboxListEdit
* set defautl style for Rating block
* rename block to RatingFilterEdit
* undestructuring attributes object
* compose rating block by using template
* use InitialDisabled instead of Disabled
* set block instance name
* set display style properly
* do not rename checkbox list block instance
* passing context to CheckboxList block, server-side
* import type explicitely
* process rating data in server-side
* handle activate/deactivate rating filters
* support clean rating filters in the frontend
* remove temporarely action to handle dropdown
* changelog
* remove Dropdown mode for now
* use custom Notice component
* do not import unused libs
* rename method to get_rating_items
* declar selected_ratings_query as mixed
* sort rating stars by value descending
* udpate changelog message
* linting
* remove unused vars
* set selected_ratings_query like an array
* set get_rating_items $select param as an array
* set explicitely Attributes type
* remove unneeded InitialDisabled component
* remove useSetWraperVisibility hook usage
* sort rating straight via SQL
props to @dinhtungdu https://github.com/woocommerce/woocommerce/pull/52152/files#r1818839577
* remove local state to show no products notice
* Add Kliken Meta Ads & Pixel in core profiler recommendation 50% in place of pinterest
* Lint
* Changelog
* Fix using the correct pinterest object
* Lint
* Test that sku skipping works
#46505
* Switch SKU and ID error detection
If we find an product with the same SKU we overwrite the imported product id with the existing one. When we check for the existing ID first, we would get now a match although the imported ID did not match. Therefore we first check if the SKU is already present before checking for the ID
#46505
* Add doc
* Add changelog
* Add changefile(s) from automation for the following project(s): woocommerce
* Remove unneeded changelog entry pulled in during rebase.
* Remove mistakenly pushed debug code.
---------
Co-authored-by: github-actions <github-actions@github.com>
Co-authored-by: Barry Hughes <3594411+barryhughes@users.noreply.github.com>
This works fine:
```
curl -u bor0:asdf -X OPTIONS "localhost:8080/wp-json/wc/store/v1/products?_unstable_tax_asdf_operator=1" | jq
```
However, this causes a fatal error `PHP Fatal error: Uncaught TypeError: str_starts_with(): Argument #1 ($haystack) must be of type string, int given`:
```
curl -u bor0:asdf -X OPTIONS "localhost:8080/wp-json/wc/store/v1/products?1=2" | jq
```
* Add global_unique_id to importer controller
* Add changelog for gtin import mapper
* Add changefile(s) from automation for the following project(s): woocommerce
---------
Co-authored-by: github-actions <github-actions@github.com>
* init
* comment tweak
* changelog
* use gihub recommended method
* removed content write permission
* change in how to extract PR number
* change in how to extract PR number
* change in how to extract PR number
* regex change
* regex change
* template updates
* updated comments
* set global permission to empty and moved it within each job
* refactored code, created a needs step
* add condition to prep
* added acknowdegement section
* added github comment
* Moved variables to env
* PRR template
* PRR template changes
* Added changes to cfe notifications
* minor changes
* Added slack message sanitization
* PRR cherry-pick flow
* add cherry pick to frozen release label
* bug fix
* use js instead of shell
* use js instead of shell
* template updates
* frozen release as output
* added some comments
* pr base change
* pr base change
* descp change
* copy changes
* Added checkboxes conformation
* added ack section
* fixed bug
* fixed bug
* fixed bug
* typo
* bug fix
* bug fix
* added logic for github comment
* bug fix
* GH PR comment
* GH PR comment for CFE flow
* GH PR comment for CFE flow
* changelog
* In complechangelog step - extract version from branch
* add validation for manual version input
* log the version user entered
* log the version user entered
* rebased changes
* Code refactor
* bug fixes and formatting
* code refactor
* bug fixes
* template updates and using context object instead of parsing
* bug fixes
* renamed file
* moved vars to env
* Init
* comment tweak
* changelog
* use gihub recommended method
* removed content write permission
* change in how to extract PR number
* regex change
* template updates
* updated comments
* set global permission to empty and moved it within each job
* refactored code, created a needs step
* add condition to prep
* added acknowdegement section
* added github comment
* Moved variables to env
* review changes