* Adding accessible markup to sale price. See #31099
This PR adds accessible markup to the sale price.
A user who only uses screen reader software can now hear and understand the original price as well as the current price.
This is important for accessibility.
Full issue: https://github.com/woocommerce/woocommerce/issues/31099
* Improving sale price string formatting & localization #31099
This PR merges in feedback from the WooCommerce team.
* Improving string translation & output. Giving RTL languages more customization with the price in the translatable string.
* Formatting regular price & sale price at the top and then inserting into the HTML below. This prevents some sloppy logic where you might print out a blank del or ins tag.
* Swapping esc_html & sprintf #31099
Reversed the esc_html() and sprintf(). This is intentional because if translations accidentally include some HTML, that could break things.
Also, stripping HTML tags in $formatted_regular_price so that the end result in the screen-reader-text span is just plain text.
* Adjusting white space #31099
Mostly removing white space for the lint checker
* Adding translator comments #31099
Adding translator comments for lint
* Add changelog
* Fix some PHPCS violations
* Fix unit tests
* Adjust E2E test
---------
Co-authored-by: Jorge Torres <jorge.torres@automattic.com>
* `wc hpos diff` command enhancements
* Add support for partial backfills to LegacyDataHandler
* Add unit tests
* Add support for partial backfills to `wp wc hpos backfill` CLI tool
* Add changelog
* Augment update_order_from_object() with args parameter
* Implement update_order_from_object() for HPOS
* Simplify partial backfill logic in LegacyDataHandler
* Move prop name validation to legacy data handler
* Apply changes to order before passing to backfill functions
* Simplify update_order_from_object() in HPOS datastore
* Simplify order update from object across datastores
* Undo change
* Minor fix for CPT version (which only takes order differences into account)
* Improve readability around ‘woocommerce_orders_table_datastore_should_save_after_meta_change’ filter
* Commit docblock suggestion
* PHPCS fixes
* Enhance unit test
* Add remove custom field for the new product editor
* Add changelog file
* Show add button when the custom fields are empty
* Ensures to always convert the metas into a string array since it can be anything
* Add changelog file
* Switch from "invoice" to "order details" in our emails.
* Revise default order details email subject text.
* Revise default order details header text.
* Bring E2E check up-to-date with latest text revision.
* Update API tests to match order detail email changes.
* Fix typo
---------
Co-authored-by: Jorge Torres <jorge.torres@automattic.com>
* Bump woocommerce-sniffs to 1.0.0 for WPCS 3.0 support
* Add changefile(s) from automation for the following project(s): woocommerce
---------
Co-authored-by: github-actions <github-actions@github.com>
* Add json config files to ci changes config
* Add admin config to Woo plugin ci config
* Add changefile(s) from automation for the following project(s): woocommerce
---------
Co-authored-by: github-actions <github-actions@github.com>
* Show the "Design your own" banner when editing a theme which is not TT4
* Add changefile(s) from automation for the following project(s): woocommerce
* Fix lint errors
* Pass the active theme to the context
* Fix lint errors
---------
Co-authored-by: github-actions <github-actions@github.com>
* Add totalValue filter
* Add changefile(s) from automation for the following project(s): woocommerce-blocks
* Remove nowrap to prevent text overflow
* Start docs for ‘totalValue’ filter
* Fix *.md lint issues
* Ignore .md lint errors for now
* Update code example and add screenshots
* Fix failing JS unit tests
---------
Co-authored-by: github-actions <github-actions@github.com>
* Fix - #33503
Added ISO code along with the string. So it can be searched by using country code.
* Fixing linting issues
Added space with single quote to fix linting issue.
* fix linting issues
* add changelog file
* use emdash for separating data
* update test to new format
* include ISO code in settings test fixture
---------
Co-authored-by: daniyal.ahmad1992@gmail.com <daniyal.ahmad1992@gmail.com>
* Update html-product-attribute-inner.php
Add a new filter `woocommerce_admin_terms_metabox_datalimit` to change the value of data-limit. See #37548 for more context.
* Update html-product-attribute-inner.php
* Creating a changelog file again
* update @since tag
* tweak changelog file wording
---------
Co-authored-by: Saif H. Hassan <67080558+Babylon1999@users.noreply.github.com>
* Create the Add new button
* Integrate the CreateModal with the CustomFields component to add fields
* Add validation utils
* Fix validation errors in the edit modal component
* Fix linter error
* Add changelog file
* Introduce the new 'Design your own' button in the themes screen.
* unify the SCSS margins
* Add double quotes for woocommerce-marketplace__sub-header
* Add the CYS banner to the marketplace.
* Ensure each child in a list should have a unique 'key' prop
* Update the NoAIBanner component to direct users to the CYS flow.
* Add the customizeStoreDesignUrl const
* Ditch navigateOrParent
* Add the 'Browse the WordPress.org theme directory to discover more' link.
* Ensure the warning Modal is displayed whenever the user clicks on the 'Design your own' button and their current active theme is not TT4
* Remove the unnecessary fragment
* Add changefile(s) from automation for the following project(s): woocommerce
* Fix lint.
---------
Co-authored-by: github-actions <github-actions@github.com>
* Set field IDs
* Validate post code only when it is actually required
* Add changefile(s) from automation for the following project(s): woocommerce
* Remove unused import
* Update test snapshot
* Update test snapshot
---------
Co-authored-by: github-actions <github-actions@github.com>
* Update mercado copy
* Add changefile(s) from automation for the following project(s): woocommerce
---------
Co-authored-by: github-actions <github-actions@github.com>
* Create edit modal
* Add update function to the useCustomFields hook
* Integrate the EditModal in the CustomFields component
* Add edition and validation logic to the custom field EditModal component
* Fix text control validation error styles
* Focus the name field when its invalid
* Fix linter error
* Fix edit modal min width and controls width
* Add changelog file
* Fix text overflow in custom fields table
* Remove non needed block style file
* Create woocommerce/product-custom-fields block
* Register woocommerce/product-custom-fields block
* Add product-custom-fields block to the simple product template
* Create useCustomFields hook
* Create empty state
* Create CustomFields component
* Add custom fields table
* Add custom field remove button
* Hide the custom fields table base on the toggle value
* Remove non list features
* Add changelog files
* Fix linter errors
* Fix empty state styles
* Fix php linter error
* Remove context from the woocommerce/product-custom-fields-toggle-field block definition since it is not used
* Change url for the Read more about custom fields
* Register metaboxhidden_product user meta as a user rest field
* Create useMetaboxHiddenProduct to manage the user metaboxhidden_product meta field
* Create woocommerce/product-custom-fields-toggle-field block
* Register woocommerce/product-custom-fields-toggle-field block
* Create product-custom-fields feature flag
* Hide custom fields behind the product-custom-fields feature flag
* Add changelog files
* Get default postcustom user meta value when the metaboxhidden_product does not exist yet in the user object
* Close prepublish panel before create new
* Add changelog
* Remove close fn from blockeditor
* Close panel after clicking outside
* Refactor useEffect
* Remove empty lines
* Replace mousedown with click event
* Replace click with mouseup
* Fix the CYS Opt-in modal buttons and checkbox styles
* Add changefile(s) from automation for the following project(s): woocommerce
---------
Co-authored-by: github-actions <github-actions@github.com>
* Add product archive header template and re-hook
Moves the product taxonomy archive header into its own template file,
creates a related output function, and then re-hooks the new template
back into the archive-product.php file in the same place, via the
'woocommerce_before_main_content' hook, priority 40.
This is so that this template part can be removed/unhooked via the
'remove_action' function, which is a cleaner approach than template
overrides or additional style changes.
Resolves: #33672
* add product archive header template changelog
* bump template versions
* bump template versions correctly
* add a new hook in the archive-product.php template for the header template
* fix: make the dropdown hidden by default
* fix: price clause
* fix: variable name in attribute clause generator
* chore: changelog
* fix: flashing issue for dropdown has selected items
* Prevent invalid price range selection in Product Filter Price block
* Add changefile(s) from automation for the following project(s): woocommerce-blocks
---------
Co-authored-by: github-actions <github-actions@github.com>
* changed filter by attribute filter options order
In filter by attribute, order of the filter conditions "ALL" and "ANY" reversed as requested.
* Add changefile(s) from automation for the following project(s): woocommerce-blocks
* Add changefile(s) from automation for the following project(s): woocommerce-blocks
---------
Co-authored-by: github-actions <github-actions@github.com>
* Add the PluginInstaller class
* Add changelog file
* Fix linting issues
* Changes in the installer:
- Allow installS from the WordPress.org directory only
- If the installer name is WooCommerce, throw if the caller is not
in 'includes' or 'src' in WooCommerce core
- Remove two unnecessary includes
- Check if WP plugin upgrader classes already exist before
executing the includes for them
- Get the installed plugin info using the plugin_info method
of the plugin upgrader class
* Remove the get_installed_plugin_info method as it's no longer used
* Log plugin install only on sites with WooCommerce active