--- post_title: Cart and Checkout - Slot and Fill menu_title: Slot and Fill tags: reference --- # Slot and Fill ## Table of Contents - [The problem](#the-problem) - [Solution](#solution) - [Basic Usage](#basic-usage) - [registerPlugin](#registerplugin) - [Requirements](#requirements) ## The problem You added custom data to the [Store API](../rest-api/extend-rest-api-add-data.md). You changed several strings using [Checkout filters](./available-filters.md). Now you want to render your own components in specific places in the Cart and Checkout. ## Solution Slot and Fill are a pair of components that add the possibility to render your own HTML in pre-defined places in the Cart and Checkout. Your component will get access to contextual data and will get re-rendered when needed. A _Slot_ is a place in the Cart and Checkout that can render an indefinite number of external components. A _Fill_ is the component provided by third-party developers to render inside a _Slot_. Slot and Fill use WordPress' API, and you can learn more about how they work in [the Slot and Fill documentation.](https://github.com/WordPress/gutenberg/tree/trunk/packages/components/src/slot-fill). ## Basic Usage `ExperimentalOrderMeta` is a fill that will render in a slot below the Order summary section in the Cart and Checkout blocks. The `ExperimentalOrderMeta` will automatically pass props to its top level child: - `cart` which contains cart data - `extensions` which contains data registered with `ExtendSchema::class` in `wc/store/cart` endpoint - `context`, equal to the name of the Block in which the fill is rendered: `woocommerce/cart` or `woocommerce/checkout` ```jsx const { registerPlugin } = wp.plugins; const { ExperimentalOrderMeta } = wc.blocksCheckout; const MyCustomComponent = ( { cart, extensions } ) => { return