https://github.com/gregrickaby/gutenberg-block-to-rest-api
Register Gutenberg blocks to the WordPress REST-API as structured data.
https://github.com/gregrickaby/gutenberg-block-to-rest-api
gutenberg gutenberg-blocks wordpres-rest-api wordpress
Last synced: 2 months ago
JSON representation
Register Gutenberg blocks to the WordPress REST-API as structured data.
- Host: GitHub
- URL: https://github.com/gregrickaby/gutenberg-block-to-rest-api
- Owner: gregrickaby
- License: other
- Created: 2023-04-29T11:12:34.000Z (about 3 years ago)
- Default Branch: main
- Last Pushed: 2024-11-06T18:18:08.000Z (over 1 year ago)
- Last Synced: 2025-07-02T08:10:32.942Z (12 months ago)
- Topics: gutenberg, gutenberg-blocks, wordpres-rest-api, wordpress
- Language: PHP
- Homepage:
- Size: 130 KB
- Stars: 1
- Watchers: 2
- Forks: 0
- Open Issues: 1
-
Metadata Files:
- Readme: README.md
- License: LICENSE.md
Awesome Lists containing this project
README
# Gutenberg Blocks to REST-API
Register Gutenberg blocks to the WordPress REST-API as structured data.
## Example
**Before:** `GET /wp/v2/posts/1`
Many Gutenberg blocks create a massive string of content:
```json
"title": {
"rendered": "Hello world!"
},
"content": {
"rendered": "\n
Welcome to WordPress. This is your first post. Edit or delete it, then start writing!<\/p>\n\n\n\n
Lorem ipsum dolor sit amet netus urna adipiscing incididunt venenatis dictumst. Vel habitasse euismod fringilla dictum quisque senectus mi viverra faucibus eros diam lectus fusce nisi. Neque vitae do rhoncus auctor libero nisl sagittis euismod iaculis dictumst mollis aliqua blandit labore. Pretium pellentesque molestie scelerisque tincidunt sagittis semper mollis. Donec pellentesque at arcu tincidunt aliquet semper eget orci cursus nunc curabitur.<\/p>\n\n\n\n
Ac aenean tortor curabitur cras tempor scelerisque mi quam nisi arcu duis tempor arcu erat. Elit venenatis aenean a sollicitudin leo risus nibh congue praesent nullam. Malesuada dictum pretium do euismod fames in malesuada. Sodales vel purus viverra cursus proin fusce malesuada vulputate. Enim lobortis elit diam maecenas adipiscing sagittis imperdiet nisl enim urna.<\/p>\n",
},
```
**After:** `GET /wp/v2/posts/1?blocks=true`
Gutenberg blocks now have their own field in the REST-API, and each block is structured as an array of objects.
Note the `blocks=true` URL parameter, this is required to return the Gutenberg block data.
```json
"title": {
"rendered": "Hello world!"
},
"gutenberg_blocks": [
{
"blockName": "core\/paragraph",
"attrs": [],
"innerBlocks": [],
"innerHTML": "\n
Welcome to WordPress. This is your first post. Edit or delete it, then start writing!<\/p>\n",
"innerContent": [
"\n
Welcome to WordPress. This is your first post. Edit or delete it, then start writing!<\/p>\n"
]
},
{
"blockName": "core\/paragraph",
"attrs": [],
"innerBlocks": [],
"innerHTML": "\n
Lorem ipsum dolor sit amet netus urna adipiscing incididunt venenatis dictumst. Vel habitasse euismod fringilla dictum quisque senectus mi viverra faucibus eros diam lectus fusce nisi. Neque vitae do rhoncus auctor libero nisl sagittis euismod iaculis dictumst mollis aliqua blandit labore. Pretium pellentesque molestie scelerisque tincidunt sagittis semper mollis. Donec pellentesque at arcu tincidunt aliquet semper eget orci cursus nunc curabitur.<\/p>\n",
"innerContent": [
"\n
Lorem ipsum dolor sit amet netus urna adipiscing incididunt venenatis dictumst. Vel habitasse euismod fringilla dictum quisque senectus mi viverra faucibus eros diam lectus fusce nisi. Neque vitae do rhoncus auctor libero nisl sagittis euismod iaculis dictumst mollis aliqua blandit labore. Pretium pellentesque molestie scelerisque tincidunt sagittis semper mollis. Donec pellentesque at arcu tincidunt aliquet semper eget orci cursus nunc curabitur.<\/p>\n"
]
},
{
"blockName": "core\/paragraph",
"attrs": [],
"innerBlocks": [],
"innerHTML": "\n
Ac aenean tortor curabitur cras tempor scelerisque mi quam nisi arcu duis tempor arcu erat. Elit venenatis aenean a sollicitudin leo risus nibh congue praesent nullam. Malesuada dictum pretium do euismod fames in malesuada. Sodales vel purus viverra cursus proin fusce malesuada vulputate. Enim lobortis elit diam maecenas adipiscing sagittis imperdiet nisl enim urna.<\/p>\n",
"innerContent": [
"\n
Ac aenean tortor curabitur cras tempor scelerisque mi quam nisi arcu duis tempor arcu erat. Elit venenatis aenean a sollicitudin leo risus nibh congue praesent nullam. Malesuada dictum pretium do euismod fames in malesuada. Sodales vel purus viverra cursus proin fusce malesuada vulputate. Enim lobortis elit diam maecenas adipiscing sagittis imperdiet nisl enim urna.<\/p>\n"
]
}
],
```