* Add order reference to Upsells and Cross-sells
- Added 'order' to usesReference in cross-sells and upsells
- Updated LinkedProductControl for order context
- Enhanced ProductCollection to handle order references
* Add changefile(s) from automation for the following project(s): woocommerce-blocks, woocommerce
* Add PHP code for Cross-sells collection
* Fix formatting
* Add E2E tests
1. In the Cart Template, it checks that "From products in the cart" is
selected by default for the "My Custom Collection - Cart Context".
2. In the Order Confirmation Template, it verifies that "From products
in the order" is chosen by default for the "My Custom Collection -
Order Context".
* Add 'block' scope to cross-sells collection
* Extract and use reference type constants
This commit extracts the REFERENCE_TYPE_CART and REFERENCE_TYPE_ORDER
constants to the top of the file and updates their usage throughout
the code, including in the getFromCurrentProductRadioLabel function.
* Align variable naming for product references in Product Collection
This commit updates the ProductCollection class to ensure consistency in
variable naming for product references across different collection types,
particularly aligning with the naming convention used in Upsells.
* Add "hadOrderReference" to conditional label display
Key changes:
- Removed `isUsesReferenceIncludesCart` parameter from `getFromCurrentProductRadioLabel`
- Introduced `hasCartReference` and `hasOrderReference` parameters for consistency
- Updated conditional logic to check for both cart and order references
- Adjusted the function call in `LinkedProductControl` to pass both new parameters
* Fallback to 0 for orderId in get_product_ids_from_order calls
---------
Co-authored-by: github-actions <github-actions@github.com>
* Rename Stock Status Filter to Status Filter
* Add changefile(s) from automation for the following project(s): woocommerce-blocks, woocommerce
* Fix e2e test error
* fix php lint error
* Fix php lint errors
* fix php lint errors
* Update variable name to match the new block name
* Update block name
* Rename variables to match new block name
* fix import error
---------
Co-authored-by: github-actions <github-actions@github.com>
* add delayed account creation to WC_Tracker snapshot
* Add changefile(s) from automation for the following project(s): woocommerce
---------
Co-authored-by: github-actions <github-actions@github.com>
* Use method title or gateway title in Checkout compatiblity notice
* use better conditions
* Add changefile(s) from automation for the following project(s): woocommerce
---------
Co-authored-by: github-actions <github-actions@github.com>
* feat: add support for SalePrice in JSON-LD schema for structured data
* Add changefile(s) from automation for the following project(s): woocommerce
* fix: phpcs issues
* feat: add SalePrice property to variable products on sale
* feat: use sale end date of lowest-priced variation for validThrough in schema
* refactor: simplify code
* fix: ensure that only sale prices are considered for the SalePrice property in variable products on sale
---------
Co-authored-by: github-actions <github-actions@github.com>
* Add To Cart Form: hide stepper when product is sold individually
* Add changefile(s) from automation for the following project(s): woocommerce-blocks, woocommerce
* improve naming
* add comment
---------
Co-authored-by: github-actions <github-actions@github.com>
* Use createReduxStore instead of deprecated registerStore
* Move thunks to correct file
* Fix type definitions
* Add changefile(s) from automation for the following project(s): woocommerce-blocks
* changelog
* reduce diff size
* Add changefile(s) from automation for the following project(s): woocommerce-blocks
* Remove todo
---------
Co-authored-by: github-actions <github-actions@github.com>
* add: tracks for skip guided setup
* moved recordSkipGuided setup to skip guided setup step
* lint
* moved it further
---------
Co-authored-by: rjchow <me@rjchow.com>
In this PR, we consolidate TypeScript config files (using the 'include' setting) and JS test directory naming. The goal is to reduce the number of processed files during different build steps.
* Avoid duplicate custom classnames
* Add changefile(s) from automation for the following project(s): woocommerce
---------
Co-authored-by: github-actions <github-actions@github.com>
* Refactor wc_get_customer_default_location to ensure only valid countries are selected
* changelog
* MIssing doc block
* Updates tests
* Update test
* stripos usage
* Use isset for country check
To reduce wp-env startup crashes in CI, bump the ut's version to the latest and downgrade the MariaDB version used under the hood to 11.2. Related to https://github.com/WordPress/gutenberg/issues/62242, since it's addressed, we are good to remove the patch.
* Change e2e test to use plugin slugs instead
* Changelog
* Add data-slug in plugin screen, set remote variant for more predicability, change to use plugin slugs
* Update code to be clearer
* Add "Manual (menu order)" sorting option to Product Collection block
This change allows store owners to use their custom product order
(set in the WooCommerce admin panel) within the Product Collection block,
providing more flexibility in product listing.
* Add changefile(s) from automation for the following project(s): woocommerce-blocks, woocommerce
* Change order from DESC to ASC
* Add test for menu_order sorting in ProductCollection
This commit adds a new test case to verify the functionality of menu_order
sorting in the ProductCollection block. The test ensures that when the
'orderBy' attribute is set to 'menu_order' and the 'order' is set to 'asc',
the resulting merged query correctly includes these sorting parameters.
---------
Co-authored-by: github-actions <github-actions@github.com>
* Add 'all products' keyword to Product Collection
* Hide All Products from inserter
* Add changelog
* Update test
* Update E2E tests
* Update E2E
* Fix the test by replacing All products with Product Collection
* [WC Tracker]: Track brands count
* Add changefile(s) from automation for the following project(s): woocommerce
* Handle case where the product_brand taxonomy doesn't exist.
---------
Co-authored-by: github-actions <github-actions@github.com>
* Fix: Upsells collection not showing correct products on frontend
This commit addresses an issue where the Upsells collection wasn't displaying the correct products on the frontend. The problem was caused by a variable name mismatch in the condition checking for empty product references.
* Add changefile(s) from automation for the following project(s): woocommerce
* Rename product_references variable for consistency
* Add support for linked products in cart context
This commit extends the LinkedProductControl component to support
linked products in the cart context. It introduces the following changes:
- Add a check for cart location alongside product location
- Introduce a dynamic label for the radio control option, which changes
based on whether the context is a product or cart
- Refactor the logic to determine when to show the radio control and
which option should be selected by default
* Add changefile(s) from automation for the following project(s): woocommerce-blocks
* Refactor LinkedProductControl for improved clarity and flexibility
- Extract getFromCurrentProductRadioLabel function for better reusability
- Improve conditional logic for showing linked product control
- Enhance readability by using more descriptive variable names
- Simplify showLinkedProductControl calculation
* Refactor: Add constants for reference types in LinkedProductControl
* Rename variables in LinkedProductControl for clarity
- 'isUsesReferenceIncludesProduct' to 'hasProductReference'
- 'isUsesReferenceIncludesCart' to 'hasCartReference'
* Remove unused import
* Revert changes in ProductCollection.php
---------
Co-authored-by: github-actions <github-actions@github.com>
In this PR we refine filters for running 'Changelogger use' job to aim changes in packages and plugins directories.
This also invalidates the need for a top-level changelog directory, which we are removing as well.
* fix Add To Cart form layout on post editor
* improve code
* fix conflict after merge
* Add changefile(s) from automation for the following project(s): woocommerce-blocks
---------
Co-authored-by: github-actions <github-actions@github.com>
* CYS: Remove GO_BACK_TO_HOME state from the Transitional screen
* Add changelog file
* Fix unit tests
* Redirect to the admin home page instead of the site home page
* Force billing email lowercase in store API validation routine
* Changelog
* Update plugins/woocommerce/changelog/fix-50329-store-api-email-restrictions-case
Co-authored-by: Alex Florisca <alex.florisca@automattic.com>
---------
Co-authored-by: Alex Florisca <alex.florisca@automattic.com>
* Associate shipping calculator button to its form in classic Cart
* Associate shipping calculator button to its form in block Cart
* Add changelog file
* Bump shipping-calculator template version
* Filter product collection variations by 'block' scope
This commit updates the product collection feature to only show variations
with the 'block' scope in the collection chooser. To achieve this:
1. Added 'block' to the scope array for various product collection variations
(best-sellers, featured, hand-picked, new arrivals, on-sale, related,
top-rated, and upsells).
2. Modified the collection chooser logic to filter variations based on the
'block' scope.
* Product Collection: Hide collection chooser toolbar for non-block scoped collections
This commit modifies the ToolbarControls component in the Product Collection block to conditionally render the CollectionChooserToolbar. The toolbar is now only displayed for collections with a scope that includes 'block'.
* Add scope property to product collections in E2E tests
This commit adds the 'scope' property to all registered product collections
in the E2E test plugin. The 'scope' is set to ['block'] for each collection.
* Add changefile(s) from automation for the following project(s): woocommerce-blocks
* Rename isShowCollectionChooserToolbar to showCollectionChooserToolbar
for better readability.
* Add documentation and refactor for product collection scope
This commit introduces the following changes:
1. Update documentation to explain the `scope` argument for product collections
2. Refactor Collection Chooser and toolbar controls to handle default scope
3. Remove explicit `scope` from test collections to align with default behavior
* Add E2E tests for Product Collection scope argument
This commit adds E2E tests to verify the behavior of Product Collections
registered with different scopes. It includes:
- Tests for collections with 'inserter' and 'block' scopes
- Verification of visibility in Collection Chooser
- Checks for 'Choose collection' button visibility
* Generate manifest file
* Generate manifest file
* docs: Remove unsupported emojis from product collection documentation
---------
Co-authored-by: github-actions <github-actions@github.com>