ElasticPress React is a library of React components to supercharge your headless WordPress website with ElasticPress.
Caution
As of 9 February 2026, this project is archived and no longer being actively maintained. You should now check for details in https://github.com/10up/headstartwp/blob/8e1f9df5865b7eeba20e69e20ad91145d5aaf784/packages/epio-search/README.md.
- Elasticsearch per ElasticPress requirements.
- WordPress website running ElasticPress.
To install ElasticPress React, simply install via npm:
npm install @10up/elasticpress-react --save
You will need an Elasticsearch instance and a WordPress website running ElasticPress.
You must wrap your application with ElasticPressProvider in order to use the ElasticPress components.
<ElasticPressProvider
node="http://elasticpress.test/__elasticsearch"
indexName="elasticpresstest-post-1"
>
{/* ElasticPress Components */}
</ElasticPressProvider>This component outputs a search field that when typed in will autosuggest results to the user.
import { AutosuggestField } from '@10up/elasticpress-react';
const MyComponent = () => (
<>
<p>Here is my fancy new component.</p>
<p>Here's a search input with autosuggest:</p>
<ElasticPressProvider
node="http://elasticpress.test/__elasticsearch"
indexName="elasticpresstest-post-1"
loadInitialData={false}
>
<AutosuggestField />
</ElasticPressProvider>
</>
);This component outputs content related to a post.
import { RelatedContent } from '@10up/elasticpress-react';
const MyComponent = () => (
<>
<p>Here is my fancy new component.</p>
<p>Here is some related content to post 5:</p>
<RelatedContent
wpApiRoot="https://mysite.com/wp-json"
postId="5"
/>
</>
);import { PostContextProvider, SearchField, Posts } from '@10up/elasticpress-react';
const MyComponent = () => {
// Make sure to wrap your components with the provider.
return (
<ElasticPressProvider
node="http://elasticpress.test/__elasticsearch"
indexName="elasticpresstest-post-1"
>
<div>
<SearchField />
</div>
<div>
<Posts />
</div>
</ElasticPressProvider>
);
};Archived: This project is no longer maintained by 10up. We are no longer responding to Issues or Pull Requests unless they relate to security concerns. We encourage interested developers to fork this project and make it their own!
A complete listing of all notable changes to ElasticPress React components are documented in CHANGELOG.md.
Please read CODE_OF_CONDUCT.md for details on our code of conduct, CONTRIBUTING.md for details on the process for submitting pull requests to us, and CREDITS.md for a listing of maintainers of, contributors to, and libraries used by ElasticPress React components.


