WPGraphQL is a free, open-source WordPress plugin that provides an extendable GraphQL schema and API for any WordPress site.
WPGraphQL is a free, open-source WordPress plugin that provides an extendable GraphQL schema and API for any WordPress site.
Below are some links to help you get started with WPGraphQL
WPGraphQL allows you to separate your CMS from your presentation layer. Content creators can use the CMS they know, while developers can use the frameworks and tools they love.
WPGraphQL works great with:
With GraphQL, the client makes declarative queries, asking for the exact data needed, and in exactly what was asked for is given in response, nothing more. This allows the client have control over their application, and allows the GraphQL server to perform more efficiently by only fetching the resources requested.
GraphQL queries allow access to multiple root resources, and also smoothly follow references between connected resources. While typical a REST API would require round-trip requests to many endpoints, GraphQL APIs can get all the data your app needs in a single request. Apps using GraphQL can be quick even on slow mobile network connections.
WPGraphQL ships with GraphiQL in your WordPress dashboard, allowing you to browse your site’s GraphQL Schema and test Queries and Mutations.
It is recommended that anytime you want to update WPGraphQL that you get familiar with what’s changed in the release.
WPGraphQL publishes release notes on Github.
WPGraphQL has been following Semver practices for a few years. We will continue to follow Semver and let version numbers communicate meaning. The summary of Semver versioning is as follows:
You can read more about the details of Semver at semver.org
WPGraphQL adds a flexible and powerful GraphQL API to WordPress, enabling efficient querying and interaction with your site’s data.
WPGraphQL uses Appsero SDK to collect some telemetry data upon user’s confirmation. This helps us to troubleshoot problems faster & make product improvements.
Appsero SDK does not gather any data by default. The SDK only starts gathering basic telemetry data when a user allows it via the admin notice. We collect the data to ensure a great user experience for all our users.
Integrating Appsero SDK DOES NOT IMMEDIATELY start gathering data, without confirmation from users in any case.
Learn more about how Appsero collects and uses this data.
WPGraphQL turns your WordPress site into a GraphQL API. Any client that can make http requests to the GraphQL endpoint can be used to interact with WPGraphQL.
WPGraphQL Swag is available on the Gatsby Swag store.
WP Engine is the employer of Jason Bahl, the creator and maintainer of WPGraphQL. He was previously employed by Gatsby.
You can read more about this here.
Gatsby and WP Engine both believe that a strong GraphQL API for WordPress is a benefit for the web. Neither Gatsby or WP Engine are required to be used with WPGraphQL, however it’s important to acknowledge and understand what’s possible because of their investments into WPGraphQL and the future of headless WordPress!
Chores / Bugfixes
Chores / Bugfixes
WPGraphQL::get_static_schema()
New Features
Chores / Bugfixes
$settings_fields
param on “graphql_get_setting_section_field_value” filter not passing the correct typeNew Features
graphql_connection_pre_get_query
filterAbstractConnectionResolver::is_valid_query_class()
AbstractConnectionResolver::get_query()
AbstractConnectionResolver::get_query_class()
AsbtractConnectionResolver::query_class()
AbstractConnectionResolver::$query_class
AbstractConnectionResolver::get_args()
and ::get_query_args()
into ::prepare_*()
methodsAbstractConnectionResolver::get_ids()
into ::prepare_ids()
AbstractConnectionResolver::get_nodes()
and get_edges()
into prepare_*()
methodsAbstractConnectionResolver::is_valid_model()
in ::get_is_valid_model()
Chores / Bugfixes
AbstractConnectionResolver::is_valid_offset()
with other abstract methods.New Features
AbsractConnectionResolver::pre_should_execute()
. Thanks @justlevine!Chores / Bugfixes
– #3104: refactor: AbstractConnectionResolver::should_execute()
Thanks @justlevine!
– #3112: fix: fixes a regression from v1.24.0 relating to field arguments defined on Interfaces not being properly merged onto Object Types that implement the interface. Thanks @kidunot89!
– #3114: fix: node IDs not showing in the Query Analyzer / X-GraphQL-Keys when using DataLoader->load_many()
– #3116: chore: Update WPGraphQLTestCase to v3. Thanks @kidunot89!
New Features
Chores / Bugfixes
New Features
hasPassword
and password
fields on Post objects. Thanks @justlevine!Chores / Bugfixes
Chores / Bugfixes
New Features
graphql_pre_resolve_menu_item_connected_node
filterUniformResourceIdentifiable
interface to Comment
typegraphql_query_analyzer_get_headers
filterChores / Bugfixes
admin_enqueue_scripts
callback should expect a possible null
value passed to itisPostsPage
on content typemenuItems
by a location with no assigned itemsUsersConnectionSearchColumnEnum
values should be prefixed with user_
New Features
Chores / Bugfixes
New Features
Chores / Bugfixes
View Full Changelog: https://github.com/wp-graphql/wp-graphql/blob/develop/CHANGELOG.md