WPGraphQL Gutenberg
Query gutenberg blocks through wp-graphql
Install
- Requires PHP 7.0+
- Requires wp-graphql 0.9.0+
- Requires WordPress 5.4+
Quick Install
Download and install like any WordPress plugin. Details here.
Query gutenberg blocks through wp-graphql
Download and install like any WordPress plugin. Details here.
Hello, thank you for this great plugin.
Unfortunately I can't make it work with Gatsby V3. The build phase just stops with this error:
Interfaces with the
nodeInterfaceextension must have a field
idof type
ID!. Check the type definition of
WpBlockEditorContentNode.
Deactivating Wp GraphQL Gutenberg Wordpress plugin the error disappears, but obviously I can't get the gutenberg blocks fields using GraphQL. Note that from the Wordpress graphiql client everythings works correctly, but Gatsby, using Wordpress source v5 (the Gatsby v3 updated version) just seems not to compile.
Is there any way to fix this issue? Thank you!
On revisions, blocks do not get resolved data when you use saveContent the data comes in
See example:
{
"data": {
"pageBy": {
"title": "Test Page 2",
"pageId": 544,
"revisions": {
"nodes": [
{
"content": "\n<div class=\"wp-block-cover has-background-dim\" style=\"background-image:url(http://localhost:8080/app/uploads/2019/11/1000-24.jpg)\"><div class=\"wp-block-cover__inner-container\">\n<p style=\"text-align:center\" class=\"has-large-font-size\">Test Page edited HI</p>\n</div></div>\n\n\n\n\n\n\n\n<p></p>\n",
"blocks": []
},
{
"content": "\n<div class=\"wp-block-cover has-background-dim\" style=\"background-image:url(http://localhost:8080/app/uploads/2019/11/1000-24.jpg)\"><div class=\"wp-block-cover__inner-container\">\n<p style=\"text-align:center\" class=\"has-large-font-size\">Test Page edited sdd</p>\n</div></div>\n\n\n\n\n\n\n\n<p></p>\n",
"blocks": []
},
{
"content": "\n<div class=\"wp-block-cover has-background-dim\" style=\"background-image:url(http://localhost:8080/app/uploads/2019/11/1000-24.jpg)\"><div class=\"wp-block-cover__inner-container\">\n<p style=\"text-align:center\" class=\"has-large-font-size\">Test Page edited 2</p>\n</div></div>\n\n\n\n\n\n\n\n<p></p>\n",
"blocks": []
},
{
"content": "\n<div class=\"wp-block-cover has-background-dim\" style=\"background-image:url(http://localhost:8080/app/uploads/2019/11/1000-24.jpg)\"><div class=\"wp-block-cover__inner-container\">\n<p style=\"text-align:center\" class=\"has-large-font-size\">Test Page edited</p>\n</div></div>\n\n\n\n\n\n\n\n<p></p>\n",
"blocks": []
},
{
"content": "\n<div class=\"wp-block-cover has-background-dim\" style=\"background-image:url(http://localhost:8080/app/uploads/2019/11/1000-24.jpg)\"><div class=\"wp-block-cover__inner-container\">\n<p style=\"text-align:center\" class=\"has-large-font-size\">Test Page</p>\n</div></div>\n\n\n\n\n\n\n\n<p></p>\n",
"blocks": []
},
{
"content": "\n<div class=\"wp-block-cover has-background-dim\" style=\"background-image:url(http://localhost:8080/app/uploads/2019/11/1000-24.jpg)\"><div class=\"wp-block-cover__inner-container\">\n<p style=\"text-align:center\" class=\"has-large-font-size\">Test Page</p>\n</div></div>\n\n\n\n\n\n\n\n<p></p>\n",
"blocks": []
},
{
"content": "\n<div class=\"wp-block-cover has-background-dim\" style=\"background-image:url(http://localhost:8080/app/uploads/2019/11/1000-24.jpg)\"><div class=\"wp-block-cover__inner-container\">\n<p style=\"text-align:center\" class=\"has-large-font-size\">Test Page</p>\n</div></div>\n\n\n\n\n\n\n\n<p></p>\n",
"blocks": []
},
{
"content": "\n<div class=\"wp-block-cover has-background-dim\" style=\"background-image:url(http://localhost:8080/app/uploads/2019/11/1000-24.jpg)\"><div class=\"wp-block-cover__inner-container\">\n<p style=\"text-align:center\" class=\"has-large-font-size\">Test Page</p>\n</div></div>\n\n\n\n\n\n\n\n<p></p>\n",
"blocks": []
},
{
"content": "\n<div class=\"wp-block-cover has-background-dim\" style=\"background-image:url(http://localhost:8080/app/uploads/2019/11/1000-24.jpg)\"><div class=\"wp-block-cover__inner-container\">\n<p style=\"text-align:center\" class=\"has-large-font-size\">Test Page</p>\n</div></div>\n\n\n\n\n\n\n\n<p></p>\n",
"blocks": []
},
{
"content": "\n<div class=\"wp-block-cover has-background-dim\" style=\"background-image:url(http://localhost:8080/app/uploads/2019/11/1000-24.jpg)\"><div class=\"wp-block-cover__inner-container\">\n<p style=\"text-align:center\" class=\"has-large-font-size\">Test Page</p>\n</div></div>\n\n\n\n\n\n\n\n<p></p>\n",
"blocks": []
}
]
},
"blocks": [
{
"saveContent": "<div class=\"wp-block-cover has-background-dim\" style=\"background-image:url(http://localhost:8080/app/uploads/2019/11/1000-24.jpg)\"><div class=\"wp-block-cover__inner-container\"><!-- wp:paragraph {\"align\":\"center\",\"placeholder\":\"Write title…\",\"fontSize\":\"large\"} -->\n<p style=\"text-align:center\" class=\"has-large-font-size\">Test Page edited sdd</p>\n<!-- /wp:paragraph --></div></div>",
"name": "core/cover"
},
{
"saveContent": "",
"name": "lndev-blocks/post-list-by-category"
},
{
"saveContent": "",
"name": "lndev-blocks/post-list-by-category"
},
{
"saveContent": "<p></p>",
"name": "core/paragraph"
}
]
}
}
}
query
# Try to write your query here
query {
pageBy(pageId: 544) {
title
pageId
revisions{
nodes{
content
blocks{
name
saveContent
}
}
}
blocks{
saveContent
name
}
}
}
We've encountered various issues with this plugin when running PHP 8 that do not appear when running PHP 7.
A user of our Next.js starter repo pointed to the ivome/graphql-relay-php dependency as a potential culprit.
One issue we've been able to replicate on several devices:
query MyQuery {
page(id: "<ID>", idType: DATABASE_ID) {
blocksJSON
}
}
Error thrown when querying page:
{
"errors": [
{
"debugMessage": "get_object_vars(): Argument #1 ($object) must be of type object, array given",
"message": "Internal server error",
"extensions": {
"category": "internal"
},
"locations": [
{
"line": 3,
"column": 5
}
],
"path": [
"page",
"blocksJSON"
],
"trace": [
{
"file": ".../app/public/wp-content/plugins/wp-graphql-gutenberg/vendor/opis/json-schema/src/Validator.php",
"line": 1792,
"function": "get_object_vars(array(1))"
},
{
"file": ".../app/public/wp-content/plugins/wp-graphql-gutenberg/vendor/opis/json-schema/src/Validator.php",
"line": 953,
"call": "Opis\\JsonSchema\\Validator::validateObject(instance of stdClass, array(1), array(1), array(0), instance of Opis\\JsonSchema\\Schema, instance of stdClass, instance of Opis\\JsonSchema\\ValidationResult, null)"
},
{
"file": ".../app/public/wp-content/plugins/wp-graphql-gutenberg/vendor/opis/json-schema/src/Validator.php",
"line": 519,
"call": "Opis\\JsonSchema\\Validator::validateProperties(instance of stdClass, array(1), array(1), array(0), instance of Opis\\JsonSchema\\Schema, instance of stdClass, instance of Opis\\JsonSchema\\ValidationResult, null)"
},
{
"file": ".../app/public/wp-content/plugins/wp-graphql-gutenberg/vendor/opis/json-schema/src/Validator.php",
"line": 332,
"call": "Opis\\JsonSchema\\Validator::validateKeywords(instance of stdClass, array(1), array(1), array(0), instance of Opis\\JsonSchema\\Schema, instance of stdClass, instance of Opis\\JsonSchema\\ValidationResult)"
},
{
"file": ".../app/public/wp-content/plugins/wp-graphql-gutenberg/vendor/opis/json-schema/src/Validator.php",
"line": 1915,
"call": "Opis\\JsonSchema\\Validator::validateSchema(instance of stdClass, array(1), array(1), array(0), instance of Opis\\JsonSchema\\Schema, instance of stdClass, instance of Opis\\JsonSchema\\ValidationResult)"
},
{
"file": ".../app/public/wp-content/plugins/wp-graphql-gutenberg/vendor/opis/json-schema/src/Validator.php",
"line": 953,
"call": "Opis\\JsonSchema\\Validator::validateObject(instance of stdClass, instance of stdClass, array(1), array(0), instance of Opis\\JsonSchema\\Schema, instance of stdClass, instance of Opis\\JsonSchema\\ValidationResult, array(2))"
},
{
"file": ".../app/public/wp-content/plugins/wp-graphql-gutenberg/vendor/opis/json-schema/src/Validator.php",
"line": 519,
"call": "Opis\\JsonSchema\\Validator::validateProperties(instance of stdClass, instance of stdClass, array(0), array(0), instance of Opis\\JsonSchema\\Schema, instance of stdClass, instance of Opis\\JsonSchema\\ValidationResult, array(2))"
},
{
"file": ".../app/public/wp-content/plugins/wp-graphql-gutenberg/vendor/opis/json-schema/src/Validator.php",
"line": 332,
"call": "Opis\\JsonSchema\\Validator::validateKeywords(instance of stdClass, instance of stdClass, array(0), array(0), instance of Opis\\JsonSchema\\Schema, instance of stdClass, instance of Opis\\JsonSchema\\ValidationResult)"
},
{
"file": ".../app/public/wp-content/plugins/wp-graphql-gutenberg/vendor/opis/json-schema/src/Validator.php",
"line": 97,
"call": "Opis\\JsonSchema\\Validator::validateSchema(instance of stdClass, instance of stdClass, array(0), array(0), instance of Opis\\JsonSchema\\Schema, instance of stdClass, instance of Opis\\JsonSchema\\ValidationResult)"
},
{
"file": ".../app/public/wp-content/plugins/wp-graphql-gutenberg/src/Blocks/Block.php",
"line": 145,
"call": "Opis\\JsonSchema\\Validator::schemaValidation(instance of stdClass, instance of Opis\\JsonSchema\\Schema)"
},
{
"file": ".../app/public/wp-content/plugins/wp-graphql-gutenberg/src/Blocks/Block.php",
"line": 177,
"call": "WPGraphQLGutenberg\\Blocks\\Block::parse_attributes(array(5), array(14))"
},
{
"file": ".../app/public/wp-content/plugins/wp-graphql-gutenberg/src/Blocks/Block.php",
"line": 25,
"call": "WPGraphQLGutenberg\\Blocks\\Block::__construct(array(5), 15, array(36), 0, null)"
},
{
"file": ".../app/public/wp-content/plugins/wp-graphql-gutenberg/src/Schema/Types/InterfaceType/BlockEditorContentNode.php",
"line": 36,
"call": "WPGraphQLGutenberg\\Blocks\\Block::create_blocks(array(1), 15, array(36))"
},
{
"call": "WPGraphQLGutenberg\\Schema\\Types\\InterfaceType\\BlockEditorContentNode::WPGraphQLGutenberg\\Schema\\Types\\InterfaceType\\{closure}(instance of WPGraphQL\\Model\\Post, array(0), instance of WPGraphQL\\AppContext, instance of GraphQL\\Type\\Definition\\ResolveInfo)"
},
{
"file": ".../app/public/wp-content/plugins/wp-graphql/src/Utils/InstrumentSchema.php",
"line": 177,
"function": "call_user_func(instance of Closure, instance of WPGraphQL\\Model\\Post, array(0), instance of WPGraphQL\\AppContext, instance of GraphQL\\Type\\Definition\\ResolveInfo)"
},
{
"call": "WPGraphQL\\Utils\\InstrumentSchema::WPGraphQL\\Utils\\{closure}(instance of WPGraphQL\\Model\\Post, array(0), instance of WPGraphQL\\AppContext, instance of GraphQL\\Type\\Definition\\ResolveInfo)"
},
{
"file": ".../app/public/wp-content/plugins/wp-graphql/src/Utils/InstrumentSchema.php",
"line": 177,
"function": "call_user_func(instance of Closure, instance of WPGraphQL\\Model\\Post, array(0), instance of WPGraphQL\\AppContext, instance of GraphQL\\Type\\Definition\\ResolveInfo)"
},
{
"file": ".../app/public/wp-content/plugins/wp-graphql/vendor/webonyx/graphql-php/src/Executor/ReferenceExecutor.php",
"line": 624,
"call": "WPGraphQL\\Utils\\InstrumentSchema::WPGraphQL\\Utils\\{closure}(instance of WPGraphQL\\Model\\Post, array(0), instance of WPGraphQL\\AppContext, instance of GraphQL\\Type\\Definition\\ResolveInfo)"
},
{
"file": ".../app/public/wp-content/plugins/wp-graphql/vendor/webonyx/graphql-php/src/Executor/ReferenceExecutor.php",
"line": 550,
"call": "GraphQL\\Executor\\ReferenceExecutor::resolveFieldValueOrError(instance of GraphQL\\Type\\Definition\\FieldDefinition, instance of GraphQL\\Language\\AST\\FieldNode, instance of Closure, instance of WPGraphQL\\Model\\Post, instance of GraphQL\\Type\\Definition\\ResolveInfo)"
},
{
"file": ".../app/public/wp-content/plugins/wp-graphql/vendor/webonyx/graphql-php/src/Executor/ReferenceExecutor.php",
"line": 1196,
"call": "GraphQL\\Executor\\ReferenceExecutor::resolveField(GraphQLType: Page, instance of WPGraphQL\\Model\\Post, instance of ArrayObject(1), array(2))"
},
{
"file": ".../app/public/wp-content/plugins/wp-graphql/vendor/webonyx/graphql-php/src/Executor/ReferenceExecutor.php",
"line": 1146,
"call": "GraphQL\\Executor\\ReferenceExecutor::executeFields(GraphQLType: Page, instance of WPGraphQL\\Model\\Post, array(1), instance of ArrayObject(1))"
},
{
"file": ".../app/public/wp-content/plugins/wp-graphql/vendor/webonyx/graphql-php/src/Executor/ReferenceExecutor.php",
"line": 1107,
"call": "GraphQL\\Executor\\ReferenceExecutor::collectAndExecuteSubfields(GraphQLType: Page, instance of ArrayObject(1), array(1), instance of WPGraphQL\\Model\\Post)"
},
{
"file": ".../app/public/wp-content/plugins/wp-graphql/vendor/webonyx/graphql-php/src/Executor/ReferenceExecutor.php",
"line": 794,
"call": "GraphQL\\Executor\\ReferenceExecutor::completeObjectValue(GraphQLType: Page, instance of ArrayObject(1), instance of GraphQL\\Type\\Definition\\ResolveInfo, array(1), instance of WPGraphQL\\Model\\Post)"
},
{
"file": ".../app/public/wp-content/plugins/wp-graphql/vendor/webonyx/graphql-php/src/Executor/ReferenceExecutor.php",
"line": 652,
"call": "GraphQL\\Executor\\ReferenceExecutor::completeValue(GraphQLType: Page, instance of ArrayObject(1), instance of GraphQL\\Type\\Definition\\ResolveInfo, array(1), instance of WPGraphQL\\Model\\Post)"
},
{
"file": ".../app/public/wp-content/plugins/wp-graphql/vendor/webonyx/graphql-php/src/Executor/Promise/Adapter/SyncPromise.php",
"line": 148,
"call": "GraphQL\\Executor\\ReferenceExecutor::GraphQL\\Executor\\{closure}(instance of WPGraphQL\\Model\\Post)"
},
{
"file": ".../app/public/wp-content/plugins/wp-graphql/vendor/webonyx/graphql-php/src/Executor/Promise/Adapter/SyncPromise.php",
"line": 53,
"call": "GraphQL\\Executor\\Promise\\Adapter\\SyncPromise::GraphQL\\Executor\\Promise\\Adapter\\{closure}()"
},
{
"file": ".../app/public/wp-content/plugins/wp-graphql/vendor/webonyx/graphql-php/src/Executor/Promise/Adapter/SyncPromiseAdapter.php",
"line": 149,
"call": "GraphQL\\Executor\\Promise\\Adapter\\SyncPromise::runQueue()"
},
{
"file": ".../app/public/wp-content/plugins/wp-graphql/vendor/webonyx/graphql-php/src/Server/Helper.php",
"line": 214,
"call": "GraphQL\\Executor\\Promise\\Adapter\\SyncPromiseAdapter::wait(instance of GraphQL\\Executor\\Promise\\Promise)"
},
{
"file": ".../app/public/wp-content/plugins/wp-graphql/vendor/webonyx/graphql-php/src/Server/StandardServer.php",
"line": 136,
"call": "GraphQL\\Server\\Helper::executeOperation(instance of GraphQL\\Server\\ServerConfig, instance of GraphQL\\Server\\OperationParams)"
},
{
"file": ".../app/public/wp-content/plugins/wp-graphql/src/Request.php",
"line": 602,
"call": "GraphQL\\Server\\StandardServer::executeRequest(instance of GraphQL\\Server\\OperationParams)"
},
{
"file": ".../app/public/wp-content/plugins/wp-graphql/src/Router.php",
"line": 465,
"call": "WPGraphQL\\Request::execute_http()"
},
{
"file": ".../app/public/wp-content/plugins/wp-graphql/src/Router.php",
"line": 270,
"call": "WPGraphQL\\Router::process_http_request()"
},
{
"file": ".../app/public/wp-includes/class-wp-hook.php",
"line": 292,
"call": "WPGraphQL\\Router::resolve_http_request(instance of WP)"
},
{
"file": ".../app/public/wp-includes/class-wp-hook.php",
"line": 316,
"call": "WP_Hook::apply_filters(null, array(1))"
},
{
"file": ".../app/public/wp-includes/plugin.php",
"line": 551,
"call": "WP_Hook::do_action(array(1))"
},
{
"file": ".../app/public/wp-includes/class-wp.php",
"line": 388,
"function": "do_action_ref_array('parse_request', array(1))"
},
{
"file": ".../app/public/wp-includes/class-wp.php",
"line": 750,
"call": "WP::parse_request((empty string))"
},
{
"file": ".../app/public/wp-includes/functions.php",
"line": 1291,
"call": "WP::main((empty string))"
},
{
"file": ".../app/public/wp-blog-header.php",
"line": 16,
"function": "wp()"
},
{
"file": ".../app/public/index.php",
"line": 17,
"function": "require('.../app/public/wp-blog-header.php')"
}
]
}
],
"data": {
"page": {
"blocksJSON": null
}
},
"extensions": {
"debug": []
}
}
Hey Peter!
Hope the new plugin is going well :)
I'm testing out this one with the upcoming gatsby-source-wordpress@v4
. The new version uses introspection to generate full-schema queries in order to pull the entire WPGQL schema, and while doing so I'm running into some type conflicts.
When I run this query
query NODE_LIST_QUERY {
pages {
nodes {
blocks {
__typename
... on CoreParagraphBlock {
attributes {
__typename
... on CoreParagraphBlockAttributesV2 {
fontSize
}
... on CoreParagraphBlockAttributesV3 {
content
fontSize
}
}
}
... on CoreCodeBlock {
attributes {
content
}
}
}
}
}
}
I get these errors:
{
"errors": [
{
"message": "Fields \"attributes\" conflict because subfields \"content\" conflict because they return conflicting types String! and String. Use different aliases on the fields to fetch both if this was intentional.",
"category": "graphql",
"locations": [
{
"line": 7,
"column": 11
},
{
"line": 13,
"column": 15
},
{
"line": 19,
"column": 11
},
{
"line": 20,
"column": 13
}
]
},
{
"message": "Fields \"fontSize\" conflict because they return conflicting types Float and String. Use different aliases on the fields to fetch both if this was intentional.",
"category": "graphql",
"locations": [
{
"line": 10,
"column": 15
},
{
"line": 14,
"column": 15
}
]
}
]
}
I think it's because different block types that are implementing the Block interface are defining fields with the same name but the fields have different types. Any thoughts on a quick fix? @jasonbahl curious if you have any ideas as well
Hi,
It's me again. I have updated the plugin to the latest version as well as pulled requested plugin dependencies: WP GraphQL 0.9.1 WP GraphQL Gutenberg 0.3.1 WP GraphQL GutenbergACF 0.3.0
I can't query any block. I get the following response on page query no matter what client I use(Postman, GraphQL, Gatsby GraphQL Client)
"errors": [
{
"message": "Internal server error",
"extensions": {
"category": "internal"
},
"locations": [
{
"line": 4,
"column": 7
}
],
"path": [
"pages",
"nodes",
0,
"blocks"
]
}
],
"data": {
"pages": {
"nodes": [
{
"blocks": null,
"id": "cG9zdDozODU="
}
]
}
}
}
Example query:
query MyQuery { pages { nodes { id blocks { name } } } }
Kind regards, Marcin
When I try to update all my posts to be ready for the plugin, I get the following error on the third posts.
Failed to update post with id 1716. The response is not a valid JSON response.
WP version: 5.2.3
Hi.
Based on a personal problem, and to answer this issue, I propose this PR.
I'm of course welcome to modifications/advices. Note that this is my first ever PR to an open source project :)
Wordpress instance just auto-updated WPGraphQL plugin, and now getting a 500 error when trying to load the schema in the wp-admin GraphiQL viewer.
PHP Fatal error: Uncaught Error: Cannot use object of type GraphQL\Type\SchemaConfig as array in wp-content/plugins/wp-graphql-gutenberg-0.3.6/src/Schema/Types/BlockTypes.php:272 Stack trace: #0 wp-includes/class-wp-hook.php(287): WPGraphQLGutenberg\Schema\Types\BlockTypes->WPGraphQLGutenberg\Schema\Types\{closure}(Object(GraphQL\Type\SchemaConfig)) 1 wp-includes/plugin.php(212): WP_Hook->apply_filters(Object(GraphQL\Type\SchemaConfig), Array) 2 wp-content/plugins/wp-graphql/src/WPSchema.php(50): apply_filters('graphql_schema_...', Object(GraphQL\Type\SchemaConfig)) 3 wp-content/plugins/wp-graphql/src/Registry/SchemaRegistry.php(50): WPGraphQL\WPSchema->__construct(Object(GraphQL\Type\SchemaConfig)) 4 wp-content/plugins/wp-graphql/wp-graphql.php(602): WPGraphQL\Registry\SchemaRegistry->get_schema() 5 wp-content/plugins/wp-graphql/src/Request. in wp-content/plugins/wp-graphql-gutenberg-0.3.6/src/Schema/Types/BlockTypes.php on line 272, referer: https://domain.com/wp-admin/admin.php?page=graphiql-ide
Version of wpgraphql plugin before, that was working, was 1.0.5, version now is 1.1.1.
Hi, we have a 500 error with the last version of WP Graphql Gutenberg plugin : PHP Fatal error: Uncaught Error: Cannot use object of type GraphQL\Type\SchemaConfig as array in \wp-content\plugins\wp-graphql-gutenberg\plugin.php:1080
And we have not access to graphql endpoint, we have 500 too on the site.com/graphql, but when we deactivate WP GraphQL Gutenberg, all is ok
Hey there!
For some reason, the content editor fails to load when this plugin is activated 🤔. This is for Pages and Posts.
What's the best way to troubleshoot this?
FYI - I am able to run queries on a page with blocks via GraphiQL on WordPress.
Using: -wp-graphql: 0.9.1 -wp-gatsby: 0.4.1 -wp-graphql-gutenberg: 0.3.4 -Wordpress: 5.2.4
The dialogue that pops up allows me to copy the error. Here's the dump of that:
ue@*****/wp-content/plugins/wp-graphql-gutenberg-0.3.4/build/index.js?ver=fd9cc99659d1d150b19d0f988a85b971:24:8591
Td@*****/wp-includes/js/dist/vendor/react-dom.min.js?ver=16.8.4:82:11
hi@*****/wp-includes/js/dist/vendor/react-dom.min.js?ver=16.8.4:102:385
Qg@*****/wp-includes/js/dist/vendor/react-dom.min.js?ver=16.8.4:144:219
Rg@*****/wp-includes/js/dist/vendor/react-dom.min.js?ver=16.8.4:145:76
Sc@*****/wp-includes/js/dist/vendor/react-dom.min.js?ver=16.8.4:158:109
Z@*****/wp-includes/js/dist/vendor/react-dom.min.js?ver=16.8.4:156:494
Kc@*****/wp-includes/js/dist/vendor/react-dom.min.js?ver=16.8.4:155:52
ya@*****/wp-includes/js/dist/vendor/react-dom.min.js?ver=16.8.4:153:159
enqueueSetState@*****/wp-includes/js/dist/vendor/react-dom.min.js?ver=16.8.4:202:411
t.prototype.setState@*****/wp-includes/js/dist/vendor/react.min.js?ver=16.8.4:20:433
value@*****/wp-includes/js/dist/data.min.js?ver=4.4.0:1:16219
value/this.unsubscribe<@*****/wp-includes/js/dist/data.min.js?ver=4.4.0:1:16397
n/<@*****/wp-includes/js/dist/data.min.js?ver=4.4.0:1:11659
n@*****/wp-includes/js/dist/data.min.js?ver=4.4.0:1:11632
m/y</<@*****/wp-includes/js/dist/data.min.js?ver=4.4.0:1:8807
v@*****/wp-includes/js/dist/data.min.js?ver=4.4.0:1:29557
b/</<@*****/wp-includes/js/dist/data.min.js?ver=4.4.0:1:5879
O/</</<@*****/wp-includes/js/dist/data.min.js?ver=4.4.0:1:6307
a/</</<@*****/wp-includes/js/dist/redux-routine.min.js?ver=3.2.0:1:9567
dispatch@*****/wp-includes/js/dist/data.min.js?ver=4.4.0:1:32017
i/<@*****/wp-includes/js/dist/redux-routine.min.js?ver=3.2.0:1:9218
e/<@*****/wp-includes/js/dist/redux-routine.min.js?ver=3.2.0:1:5434
e@*****/wp-includes/js/dist/redux-routine.min.js?ver=3.2.0:1:5410
o/<@*****/wp-includes/js/dist/redux-routine.min.js?ver=3.2.0:1:5364
Hi there!
Thanks for putting this together, so far it's been working quite well for me for the block types I've tried so far.
The block type "cover" however seems to not be working correctly, however. Any create/update of a page with this built in block gets stuck loading, and doesn't finish. The content is also not updated, proving to be a bit of a blocker.
There is an error message that is presented when loading hangs
PHP Notice: Undefined variable: post in /var/www/html/wp-content/plugins/a/plugin.php on line 680
Finding this line in the code, I suppose it is possible for $post to be undefined as it is a parameter of the calling function and potentially simply nothing passed in. Unfortunately I can't get a stack trace out to give you more detail. Also not sure if this is the root cause or just a coincidence either, as it is just a warning I don't think it is throwing here.
WordPress: 5.2.2 PHP: 7.2 wp-graphql-gutenberg: 0.0.2 Docker Image: https://hub.docker.com/_/wordpress - wordpress:5-php7.2 (Alpine Linux)
Bumps json5 from 1.0.1 to 1.0.2.
Sourced from json5's changelog.
Unreleased [code, diff]
v2.2.3 [code, diff]
- Fix: [email protected] is now the 'latest' release according to npm instead of v1.0.2. (#299)
v2.2.2 [code, diff]
- Fix: Properties with the name
__proto__
are added to objects and arrays. (#199) This also fixes a prototype pollution vulnerability reported by Jonathan Gregson! (#295).v2.2.1 [code, diff]
- Fix: Removed dependence on minimist to patch CVE-2021-44906. (#266)
v2.2.0 [code, diff]
- New: Accurate and documented TypeScript declarations are now included. There is no need to install
@types/json5
. (#236, #244)v2.1.3 [code, diff]
v2.1.2 [code, diff]
... (truncated)
a62db1e
1.0.2e0c23fe
docs: update CHANGELOG for v1.0.262a6540
fix: add proto to objects and arraysDependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase
.
You can trigger Dependabot actions by commenting on this PR:
@dependabot rebase
will rebase this PR@dependabot recreate
will recreate this PR, overwriting any edits that have been made to it@dependabot merge
will merge this PR after your CI passes on it@dependabot squash and merge
will squash and merge this PR after your CI passes on it@dependabot cancel merge
will cancel a previously requested merge and block automerging@dependabot reopen
will reopen this PR if it is closed@dependabot close
will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually@dependabot ignore this major version
will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)@dependabot ignore this minor version
will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)@dependabot ignore this dependency
will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)@dependabot use these labels
will set the current labels as the default for future PRs for this repo and language@dependabot use these reviewers
will set the current reviewers as the default for future PRs for this repo and language@dependabot use these assignees
will set the current assignees as the default for future PRs for this repo and language@dependabot use this milestone
will set the current milestone as the default for future PRs for this repo and languageYou can disable automated security fix PRs for this repo from the Security Alerts page.
Bumps json5 from 1.0.1 to 1.0.2.
Sourced from json5's changelog.
Unreleased [code, diff]
v2.2.3 [code, diff]
- Fix: [email protected] is now the 'latest' release according to npm instead of v1.0.2. (#299)
v2.2.2 [code, diff]
- Fix: Properties with the name
__proto__
are added to objects and arrays. (#199) This also fixes a prototype pollution vulnerability reported by Jonathan Gregson! (#295).v2.2.1 [code, diff]
- Fix: Removed dependence on minimist to patch CVE-2021-44906. (#266)
v2.2.0 [code, diff]
- New: Accurate and documented TypeScript declarations are now included. There is no need to install
@types/json5
. (#236, #244)v2.1.3 [code, diff]
v2.1.2 [code, diff]
... (truncated)
a62db1e
1.0.2e0c23fe
docs: update CHANGELOG for v1.0.262a6540
fix: add proto to objects and arraysDependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase
.
You can trigger Dependabot actions by commenting on this PR:
@dependabot rebase
will rebase this PR@dependabot recreate
will recreate this PR, overwriting any edits that have been made to it@dependabot merge
will merge this PR after your CI passes on it@dependabot squash and merge
will squash and merge this PR after your CI passes on it@dependabot cancel merge
will cancel a previously requested merge and block automerging@dependabot reopen
will reopen this PR if it is closed@dependabot close
will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually@dependabot ignore this major version
will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)@dependabot ignore this minor version
will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)@dependabot ignore this dependency
will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)@dependabot use these labels
will set the current labels as the default for future PRs for this repo and language@dependabot use these reviewers
will set the current reviewers as the default for future PRs for this repo and language@dependabot use these assignees
will set the current assignees as the default for future PRs for this repo and language@dependabot use this milestone
will set the current milestone as the default for future PRs for this repo and languageYou can disable automated security fix PRs for this repo from the Security Alerts page.
Bumps express from 4.17.1 to 4.18.2.
Sourced from express's releases.
4.18.2
- Fix regression routing a large stack in a single route
- deps: [email protected]
- deps: [email protected]
- perf: remove unnecessary object clone
- deps: [email protected]
4.18.1
- Fix hanging on large stack of sync routes
4.18.0
- Add "root" option to
res.download
- Allow
options
withoutfilename
inres.download
- Deprecate string and non-integer arguments to
res.status
- Fix behavior of
null
/undefined
asmaxAge
inres.cookie
- Fix handling very large stacks of sync middleware
- Ignore
Object.prototype
values in settings throughapp.set
/app.get
- Invoke
default
with same arguments as types inres.format
- Support proper 205 responses using
res.send
- Use
http-errors
forres.format
error- deps: [email protected]
- Fix error message for json parse whitespace in
strict
- Fix internal error when inflated body exceeds limit
- Prevent loss of async hooks context
- Prevent hanging when request already read
- deps: [email protected]
- deps: [email protected]
- deps: [email protected]
- deps: [email protected]
- deps: [email protected]
- deps: [email protected]
- Add
priority
option- Fix
expires
option to reject invalid dates- deps: [email protected]
- Replace internal
eval
usage withFunction
constructor- Use instance methods on
process
to check for listeners- deps: [email protected]
- Remove set content headers that break response
- deps: [email protected]
- deps: [email protected]
- deps: [email protected]
- Prevent loss of async hooks context
- deps: [email protected]
- deps: [email protected]
- Fix emitted 416 error missing headers property
- Limit the headers removed for 304 response
- deps: [email protected]
- deps: [email protected]
- deps: [email protected]
- deps: [email protected]
... (truncated)
Sourced from express's changelog.
4.18.2 / 2022-10-08
- Fix regression routing a large stack in a single route
- deps: [email protected]
- deps: [email protected]
- perf: remove unnecessary object clone
- deps: [email protected]
4.18.1 / 2022-04-29
- Fix hanging on large stack of sync routes
4.18.0 / 2022-04-25
- Add "root" option to
res.download
- Allow
options
withoutfilename
inres.download
- Deprecate string and non-integer arguments to
res.status
- Fix behavior of
null
/undefined
asmaxAge
inres.cookie
- Fix handling very large stacks of sync middleware
- Ignore
Object.prototype
values in settings throughapp.set
/app.get
- Invoke
default
with same arguments as types inres.format
- Support proper 205 responses using
res.send
- Use
http-errors
forres.format
error- deps: [email protected]
- Fix error message for json parse whitespace in
strict
- Fix internal error when inflated body exceeds limit
- Prevent loss of async hooks context
- Prevent hanging when request already read
- deps: [email protected]
- deps: [email protected]
- deps: [email protected]
- deps: [email protected]
- deps: [email protected]
- deps: [email protected]
- Add
priority
option- Fix
expires
option to reject invalid dates- deps: [email protected]
- Replace internal
eval
usage withFunction
constructor- Use instance methods on
process
to check for listeners- deps: [email protected]
- Remove set content headers that break response
- deps: [email protected]
- deps: [email protected]
- deps: [email protected]
- Prevent loss of async hooks context
- deps: [email protected]
- deps: [email protected]
... (truncated)
8368dc1
4.18.261f4049
docs: replace Freenode with Libera Chatbb7907b
build: [email protected]f56ce73
build: [email protected]24b3dc5
deps: [email protected]689d175
deps: [email protected]340be0f
build: [email protected]33e8dc3
docs: use Node.js name style644f646
build: [email protected]ecd7572
build: [email protected]Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase
.
You can trigger Dependabot actions by commenting on this PR:
@dependabot rebase
will rebase this PR@dependabot recreate
will recreate this PR, overwriting any edits that have been made to it@dependabot merge
will merge this PR after your CI passes on it@dependabot squash and merge
will squash and merge this PR after your CI passes on it@dependabot cancel merge
will cancel a previously requested merge and block automerging@dependabot reopen
will reopen this PR if it is closed@dependabot close
will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually@dependabot ignore this major version
will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)@dependabot ignore this minor version
will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)@dependabot ignore this dependency
will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)@dependabot use these labels
will set the current labels as the default for future PRs for this repo and language@dependabot use these reviewers
will set the current reviewers as the default for future PRs for this repo and language@dependabot use these assignees
will set the current assignees as the default for future PRs for this repo and language@dependabot use this milestone
will set the current milestone as the default for future PRs for this repo and languageYou can disable automated security fix PRs for this repo from the Security Alerts page.
Bumps express from 4.17.1 to 4.18.2.
Sourced from express's releases.
4.18.2
- Fix regression routing a large stack in a single route
- deps: [email protected]
- deps: [email protected]
- perf: remove unnecessary object clone
- deps: [email protected]
4.18.1
- Fix hanging on large stack of sync routes
4.18.0
- Add "root" option to
res.download
- Allow
options
withoutfilename
inres.download
- Deprecate string and non-integer arguments to
res.status
- Fix behavior of
null
/undefined
asmaxAge
inres.cookie
- Fix handling very large stacks of sync middleware
- Ignore
Object.prototype
values in settings throughapp.set
/app.get
- Invoke
default
with same arguments as types inres.format
- Support proper 205 responses using
res.send
- Use
http-errors
forres.format
error- deps: [email protected]
- Fix error message for json parse whitespace in
strict
- Fix internal error when inflated body exceeds limit
- Prevent loss of async hooks context
- Prevent hanging when request already read
- deps: [email protected]
- deps: [email protected]
- deps: [email protected]
- deps: [email protected]
- deps: [email protected]
- deps: [email protected]
- Add
priority
option- Fix
expires
option to reject invalid dates- deps: [email protected]
- Replace internal
eval
usage withFunction
constructor- Use instance methods on
process
to check for listeners- deps: [email protected]
- Remove set content headers that break response
- deps: [email protected]
- deps: [email protected]
- deps: [email protected]
- Prevent loss of async hooks context
- deps: [email protected]
- deps: [email protected]
- Fix emitted 416 error missing headers property
- Limit the headers removed for 304 response
- deps: [email protected]
- deps: [email protected]
- deps: [email protected]
- deps: [email protected]
... (truncated)
Sourced from express's changelog.
4.18.2 / 2022-10-08
- Fix regression routing a large stack in a single route
- deps: [email protected]
- deps: [email protected]
- perf: remove unnecessary object clone
- deps: [email protected]
4.18.1 / 2022-04-29
- Fix hanging on large stack of sync routes
4.18.0 / 2022-04-25
- Add "root" option to
res.download
- Allow
options
withoutfilename
inres.download
- Deprecate string and non-integer arguments to
res.status
- Fix behavior of
null
/undefined
asmaxAge
inres.cookie
- Fix handling very large stacks of sync middleware
- Ignore
Object.prototype
values in settings throughapp.set
/app.get
- Invoke
default
with same arguments as types inres.format
- Support proper 205 responses using
res.send
- Use
http-errors
forres.format
error- deps: [email protected]
- Fix error message for json parse whitespace in
strict
- Fix internal error when inflated body exceeds limit
- Prevent loss of async hooks context
- Prevent hanging when request already read
- deps: [email protected]
- deps: [email protected]
- deps: [email protected]
- deps: [email protected]
- deps: [email protected]
- deps: [email protected]
- Add
priority
option- Fix
expires
option to reject invalid dates- deps: [email protected]
- Replace internal
eval
usage withFunction
constructor- Use instance methods on
process
to check for listeners- deps: [email protected]
- Remove set content headers that break response
- deps: [email protected]
- deps: [email protected]
- deps: [email protected]
- Prevent loss of async hooks context
- deps: [email protected]
- deps: [email protected]
... (truncated)
8368dc1
4.18.261f4049
docs: replace Freenode with Libera Chatbb7907b
build: [email protected]f56ce73
build: [email protected]24b3dc5
deps: [email protected]689d175
deps: [email protected]340be0f
build: [email protected]33e8dc3
docs: use Node.js name style644f646
build: [email protected]ecd7572
build: [email protected]Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase
.
You can trigger Dependabot actions by commenting on this PR:
@dependabot rebase
will rebase this PR@dependabot recreate
will recreate this PR, overwriting any edits that have been made to it@dependabot merge
will merge this PR after your CI passes on it@dependabot squash and merge
will squash and merge this PR after your CI passes on it@dependabot cancel merge
will cancel a previously requested merge and block automerging@dependabot reopen
will reopen this PR if it is closed@dependabot close
will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually@dependabot ignore this major version
will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)@dependabot ignore this minor version
will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)@dependabot ignore this dependency
will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)@dependabot use these labels
will set the current labels as the default for future PRs for this repo and language@dependabot use these reviewers
will set the current reviewers as the default for future PRs for this repo and language@dependabot use these assignees
will set the current assignees as the default for future PRs for this repo and language@dependabot use this milestone
will set the current milestone as the default for future PRs for this repo and languageYou can disable automated security fix PRs for this repo from the Security Alerts page.
Bumps qs from 6.5.2 to 6.5.3.
Sourced from qs's changelog.
6.5.3
- [Fix]
parse
: ignore__proto__
keys (#428)- [Fix]
utils.merge
: avoid a crash with a null target and a truthy non-array source- [Fix] correctly parse nested arrays
- [Fix]
stringify
: fix a crash withstrictNullHandling
and a customfilter
/serializeDate
(#279)- [Fix]
utils
:merge
: fix crash whensource
is a truthy primitive & no options are provided- [Fix] when
parseArrays
is false, properly handle keys ending in[]
- [Fix] fix for an impossible situation: when the formatter is called with a non-string value
- [Fix]
utils.merge
: avoid a crash with a null target and an array source- [Refactor]
utils
: reduce observable [[Get]]s- [Refactor] use cached
Array.isArray
- [Refactor]
stringify
: Avoid arr = arr.concat(...), push to the existing instance (#269)- [Refactor]
parse
: only need to reassign the var once- [Robustness]
stringify
: avoid relying on a globalundefined
(#427)- [readme] remove travis badge; add github actions/codecov badges; update URLs
- [Docs] Clean up license text so it’s properly detected as BSD-3-Clause
- [Docs] Clarify the need for "arrayLimit" option
- [meta] fix README.md (#399)
- [meta] add FUNDING.yml
- [actions] backport actions from main
- [Tests] always use
String(x)
overx.toString()
- [Tests] remove nonexistent tape option
- [Dev Deps] backport from main
298bfa5
v6.5.3ed0f5dc
[Fix] parse
: ignore __proto__
keys (#428)691e739
[Robustness] stringify
: avoid relying on a global undefined
(#427)1072d57
[readme] remove travis badge; add github actions/codecov badges; update URLs12ac1c4
[meta] fix README.md (#399)0338716
[actions] backport actions from main5639c20
Clean up license text so it’s properly detected as BSD-3-Clause51b8a0b
add FUNDING.yml45f6759
[Fix] fix for an impossible situation: when the formatter is called with a no...f814a7f
[Dev Deps] backport from mainDependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase
.
You can trigger Dependabot actions by commenting on this PR:
@dependabot rebase
will rebase this PR@dependabot recreate
will recreate this PR, overwriting any edits that have been made to it@dependabot merge
will merge this PR after your CI passes on it@dependabot squash and merge
will squash and merge this PR after your CI passes on it@dependabot cancel merge
will cancel a previously requested merge and block automerging@dependabot reopen
will reopen this PR if it is closed@dependabot close
will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually@dependabot ignore this major version
will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)@dependabot ignore this minor version
will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)@dependabot ignore this dependency
will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)@dependabot use these labels
will set the current labels as the default for future PRs for this repo and language@dependabot use these reviewers
will set the current reviewers as the default for future PRs for this repo and language@dependabot use these assignees
will set the current assignees as the default for future PRs for this repo and language@dependabot use this milestone
will set the current milestone as the default for future PRs for this repo and languageYou can disable automated security fix PRs for this repo from the Security Alerts page.
Bumps qs from 6.5.2 to 6.5.3.
Sourced from qs's changelog.
6.5.3
- [Fix]
parse
: ignore__proto__
keys (#428)- [Fix]
utils.merge
: avoid a crash with a null target and a truthy non-array source- [Fix] correctly parse nested arrays
- [Fix]
stringify
: fix a crash withstrictNullHandling
and a customfilter
/serializeDate
(#279)- [Fix]
utils
:merge
: fix crash whensource
is a truthy primitive & no options are provided- [Fix] when
parseArrays
is false, properly handle keys ending in[]
- [Fix] fix for an impossible situation: when the formatter is called with a non-string value
- [Fix]
utils.merge
: avoid a crash with a null target and an array source- [Refactor]
utils
: reduce observable [[Get]]s- [Refactor] use cached
Array.isArray
- [Refactor]
stringify
: Avoid arr = arr.concat(...), push to the existing instance (#269)- [Refactor]
parse
: only need to reassign the var once- [Robustness]
stringify
: avoid relying on a globalundefined
(#427)- [readme] remove travis badge; add github actions/codecov badges; update URLs
- [Docs] Clean up license text so it’s properly detected as BSD-3-Clause
- [Docs] Clarify the need for "arrayLimit" option
- [meta] fix README.md (#399)
- [meta] add FUNDING.yml
- [actions] backport actions from main
- [Tests] always use
String(x)
overx.toString()
- [Tests] remove nonexistent tape option
- [Dev Deps] backport from main
298bfa5
v6.5.3ed0f5dc
[Fix] parse
: ignore __proto__
keys (#428)691e739
[Robustness] stringify
: avoid relying on a global undefined
(#427)1072d57
[readme] remove travis badge; add github actions/codecov badges; update URLs12ac1c4
[meta] fix README.md (#399)0338716
[actions] backport actions from main5639c20
Clean up license text so it’s properly detected as BSD-3-Clause51b8a0b
add FUNDING.yml45f6759
[Fix] fix for an impossible situation: when the formatter is called with a no...f814a7f
[Dev Deps] backport from mainDependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase
.
You can trigger Dependabot actions by commenting on this PR:
@dependabot rebase
will rebase this PR@dependabot recreate
will recreate this PR, overwriting any edits that have been made to it@dependabot merge
will merge this PR after your CI passes on it@dependabot squash and merge
will squash and merge this PR after your CI passes on it@dependabot cancel merge
will cancel a previously requested merge and block automerging@dependabot reopen
will reopen this PR if it is closed@dependabot close
will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually@dependabot ignore this major version
will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)@dependabot ignore this minor version
will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)@dependabot ignore this dependency
will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)@dependabot use these labels
will set the current labels as the default for future PRs for this repo and language@dependabot use these reviewers
will set the current reviewers as the default for future PRs for this repo and language@dependabot use these assignees
will set the current assignees as the default for future PRs for this repo and language@dependabot use this milestone
will set the current milestone as the default for future PRs for this repo and languageYou can disable automated security fix PRs for this repo from the Security Alerts page.
Full Changelog: https://github.com/pristas-peter/wp-graphql-gutenberg/compare/v0.3.12...v0.4.0
Source code(tar.gz)v0.3.12 Release Notes
Source code(tar.gz)blocksJSON
and previewBlocksJSON
not resolving due to cyclic referencesclientId
, isValid
, validationIssues
fields have been removed due to changes aboveN/A
Source code(tar.gz)n/a. Please open an issue if you discover otherwise.
Support for wp-graphql 0.9.0 changes
n/a. Please open an issue if you discover otherwise.
register_graphql_scalar
APIquery
field are now properly typedThis is a complete rewrite of the plugin. Please read carefully before upgrading.
CoreParagraphBlockAtrributesV4
is now just CoreParagraphBlockAtrributes
and CoreParagraphBlockAtrributesV1
-> CoreParagraphBlockAtrributesDeprecatedV1
and so...postsWithBlocks
to blockEditorContentNodes
CoreBlock
type with reference to ReusableBlock
typeRemove dependency on wp-graphql in composer for now.
Source code(tar.gz)Bugfixes:
Other:
postsWithBlocks
field to RootQueryBugfixes:
saveContent
field to Block
type which returns whole html block content including inner blocksContents Install Comparison with competition Future Plans Usage Creating a Block Install npm install gutenblock -g This is a Gutenberg plugin creator
WordPress Block Editor Scaffold This project is a template repo for developing WordPress Blocks, Block Patterns, Block Styles and Block Editor Sidebar
?? WP GraphQL Lock This plugin enables query locking for WPGraphQL by implementing persisted GraphQL queries. Persisted GraphQL queries allow a GraphQ
QL Search What is QL Search? An extension that integrates SearchWP into WPGraphQL. Quick Install Install & activate SearchWP v3.1.9+ Install & activat
create-guten-block is zero configuration dev-toolkit (#0CJS) to develop WordPress Gutenberg blocks in a matter of minutes without configuring React, w
Gutenberg Custom Fields Gutenberg Custom Fields allows you to control the content of the Gutenberg edit screen by creating pre-filled templates. Navig
Gutenberg Migration Guide This repository documents WordPress Classic Editor customization points and their Gutenberg equivalents (if such exist). Its
Disable Drop Cap (v2) A plugin to disable drop cap option in the Gutenberg editor block editor paragraph block. Note for WordPress 5.8 With WordPress
WPGraphQL Content Blocks (Structured Content) This WPGraphQL plugin returns a WordPress post’s content as a shallow tree of blocks and allows for some
WPGraphQL WPGraphQL is a free, open-source WordPress plugin that provides an extendable GraphQL schema and API for any WordPress site. Below are some
WP GraphQL CORS The primary purpose of this plugin is to make the WP GraphQL plugin authentication "just work". It does this by allowing you set the C
WP GraphQL Meta This plugin is an add-on for the awesome WP GraphQL It builds on top of both WP GraphQL and the REST API. Any meta data you register u
WP GraphQL Offset Pagination This is an extension for the WPGraphQL plugin for WordPress. It adds basic offset pagination as opposed to the standard C
WPGraphQL BuddyPress Bringing the power of GraphQL to BuddyPress. Docs (soon) • Join Slack System Requirements PHP >= 7.1 WP >= 4.9 WPGraphQL >= lates
?? ?? WPGraphQL for Gravity Forms A WordPress plugin that provides a GraphQL API for interacting with Gravity Forms. Join the WPGraphQL community on S
WPGraphQL Gutenberg Query gutenberg blocks through wp-graphql Usage Docs Join our community through WpGraphQL Slack Install Requires PHP 7.0+ Requires
Twill CMS GraphQL ?? WIP - not stable Twill GraphQL provides easy access to query-specific fields from Twill CMS modules and user-defined modules with
Field Query Syntax to query GraphQL through URL params, which grants a GraphQL API the capability to be cached on the server. Install Via Composer com
Gutenberg Examples Examples for extending Gutenberg with plugins which create blocks. See also: Gutenberg developer documentation Installation Gutenbe
Contents Install Comparison with competition Future Plans Usage Creating a Block Install npm install gutenblock -g This is a Gutenberg plugin creator