woocommerce/plugins/woocommerce
Maikel David Pérez Gómez 11541583e0
Perform feature flag change and redirection in the same request (#38833)
* Perform feature flag change and redirection in the same request

* Add changelog file

* Remove feature related query args after enabling/disabling it

* Use REQUEST_URI instead of referred one

* Fix lint errors

* Move phpcs to new line

* Use isset instead of empty

---------

Co-authored-by: Nathan Schneider <nsschneider1@gmail.com>
Co-authored-by: Lourens Schep <lourensschep@gmail.com>
2023-07-04 12:06:40 -03:00
..
.wordpress-org
assets Add Klaviyo logo icon. 2023-06-27 23:36:44 +08:00
bin Update phpcs-changed to version 2.11.1 (#38756) 2023-06-21 14:09:28 +12:00
changelog Perform feature flag change and redirection in the same request (#38833) 2023-07-04 12:06:40 -03:00
client Fix "View Cart" link layout in post/page (#38950) 2023-06-28 08:46:46 +02:00
i18n Add Saint Kitts and Nevis localizations for address entry #38280 2023-06-06 14:01:12 +02:00
includes FSE: Fix frontend stylesheets not being enqueued in the Site Editor (#38769) 2023-06-29 22:30:02 +02:00
lib Add a namespace prefix to the Psr/Container package (#33703) 2022-08-02 09:59:32 -07:00
packages Remove PHP 8.1 warnings and errors (#34336) 2022-08-16 10:22:53 -07:00
sample-data Remove id column from experimental product import sample files (#36857) 2023-02-17 14:11:43 -08:00
src Perform feature flag change and redirection in the same request (#38833) 2023-07-04 12:06:40 -03:00
templates Send $product_name through woocommerce_cart_item_name filter once (#38999) 2023-07-04 15:16:39 +12:00
tests Analytics API: Parameter to omit customer records with specific empty fields (#38827) 2023-06-28 17:17:53 -07:00
.distignore Remove/assets (#34633) 2022-09-09 10:20:25 -07:00
.eslintignore
.eslintrc.js Update CI to use wp-env for api, e2e and performance tests (#34311) 2022-08-15 11:47:53 -07:00
.gitattributes Enforce LF Line Endings (#37843) 2023-04-19 08:26:19 -07:00
.gitignore Revert the .gitignore change 2023-02-17 16:48:56 +01:00
.wp-env.json E2E: Update WP Mail Logging Version (#38862) 2023-06-22 00:06:17 +01:00
NEXT_CHANGELOG.md Empty next changelog 2022-04-15 17:10:45 -03:00
README.md Remove latest stable version from README (#35056) 2022-10-14 15:22:27 -05:00
composer.json Update WooCommerce Blocks to 10.4.5 (#39048) 2023-06-30 15:27:27 +02:00
composer.lock Update WooCommerce Blocks to 10.4.5 (#39048) 2023-06-30 15:27:27 +02:00
license.txt
package.json Update pnpm to 8.6.5 (#38990) 2023-06-29 16:51:29 +12:00
phpunit.xml phpunit.xml migrated to the new PHPUnit 9 schema 2023-03-22 16:21:06 +01:00
readme.txt Prep trunk for 8.0 cycle (#38812) 2023-06-20 11:51:03 -05:00
tsconfig.json Converted Spaces To Tabs In JSON 2022-05-10 13:31:01 -07:00
uninstall.php Prevent fatal errors during uninstall (#34469) 2022-09-14 08:44:01 -07:00
woocommerce.php Prep trunk for 8.0 cycle (#38812) 2023-06-20 11:51:03 -05:00

README.md

WooCommerce

license WordPress.org downloads WordPress.org rating Build Status codecov

This is the WooCommerce Core plugin. Here you can browse the source and keep track of development. We recommend all developers to follow the WooCommerce development blog to stay up to date about everything happening in the project. You can also follow @DevelopWC on Twitter for the latest development updates.

If you are not a developer, please use the WooCommerce plugin page on WordPress.org.

Getting Started

Please make sure you follow the repository's getting started guide first!

# Make sure that WooCommerce Core and all of its dependencies are built
pnpm run --filter=woocommerce build 
# Make sure you're in the WooCommerce Core directory
cd plugins/woocommerce
# Start the development environment
pnpm -- wp-env start

You should now be able to visit http://localhost:8888/ and access WooCommerce environment.

Building Components

There are two major client-side components included in WooCommerce Core that can be built, linted, and tested independently. We've organized these components in this way to take advantage of caching to prevent unnecessarily performing expensive rebuilds when only working in one of them.

plugins/woocommerce/client/legacy

This directory contains the CSS and jQuery code for WooCommerce.

# Build the assets.
pnpm run --filter=woocommerce/client/legacy build 
# Lint the assets.
pnpm run --filter=woocommerce/client/legacy lint 

plugins/woocommerce-admin

This directory contains the React-based admin interface.

# Build the React-based admin client.
pnpm run --filter=woocommerce/client/admin build 
# Lint the React-based admin client.
pnpm run --filter=woocommerce/client/admin lint 
# Test the React-based admin client.
pnpm run --filter=woocommerce/client/admin test 

Helper Scripts

Here is a collection of scripts that can help when developing the React-based admin interface.

# Create a develoment build of the React-based admin client.
pnpm --filter=woocommerce/client/admin dev 
# Create and watch a development build of the React-based admin client.
pnpm --filter=woocommerce/client/admin start 
# Watch the tests of the React-based admin client.
pnpm --filter=woocommerce/client/admin test:watch 
# Run a type check over the React-based admin client's TypeScript files.
pnpm --filter=woocommerce/client/admin ts:check 

Documentation

Reporting Security Issues

To disclose a security issue to our team, please submit a report via HackerOne here.