48ebe7b84c
* Marketplace: Add "Add to Store" button for free and WordPress.org products (#43616) * Marketplace: Install free .org plugins with Add to Store button * Marketplace: addressed feedback for the the new install free products flow - Moved notices to the top of the modal - Updated notice styles slightly - Updated the CreateOrderSuccessResponse to reflect API changes * Marketplace: Require the Helper orders API file * Marketplace: fix linter errors * Marketplace: form encode when submitting the request The body is encoded anyways by the WordPress core. However, if I don't do it here, I can't create a valid signature to be verified by Woo.com. I could have just submitted a JSON too, but this seamed easier since the body is parsed on Woo.com automatically when it's in this form. * Add changefile(s) from automation for the following project(s): woocommerce * Marketplace: remove "~" character in imports and use relative paths * Marketplace: fix margins in the product with the Add to Store button * Marketplace: Add conditions to hide the button We hide it if: - the product is already installed - user doesn't have the right capability - if the product is just installed using our flow and there is no page refresh * Marketplace: don't show Add to Store button on Themes and on Discover * Marketplace: fix linting * Marketplace: hide ratings from the product if "is-small" class exists * Marketplace: fix linting errors --------- Co-authored-by: github-actions <github-actions@github.com> |
||
---|---|---|
.. | ||
assets/images | ||
components | ||
contexts | ||
stylesheets | ||
utils | ||
README.md | ||
index.tsx | ||
marketplace.scss |
README.md
Marketplace
This folder contains the components used in the Marketplace page found in WooCommerce > Extensions
.
The page contains two parts, the Woo.com marketplace and a list of products the user purchased.
Marketplace Tabs
- Discover: A curated list of extensions and themes.
- Browse: All extensions.
- Themes: All themes.
- Search: Search results.
Marketplace API
The data for the Discover section is fetched from the /wc/v3/marketplace/featured
endpoint. This behaves as a proxy to fetch and cache the content from the woocommerce.com/wp-json/wccom-extensions
endpoint.
Themes, extensions, and search results are fetched directly from Woo.com.
My Subscriptions
This tab contains the list of all the extensions and themes the WooCommerce merchant has purchased from the Woo.com Marketplace.
The merchant needs to connect the site to their Woo.com account to view this list and install, update, and enable the products.
If a subscription is expired, the merchant will be prompted to renew it.
My Subscriptions API
My Subscriptions data uses /wc/v3/marketplace/subscriptions
API endpoints to list, install, connect, and update products.
You can find a full list of endpoints in the subscriptions API source code.
Project Structure
The project is structured as follows:
- components: The React components used in the Marketplace page.
- contexts: React contexts.
- utils: Functions used to interact with APIs.
- stylesheets: Shared stylesheets.
- assets: Images.
Development
This feature is part of WooCommerce Admin and uses the same development environment.