Displays the contents of a post or page.

Previously “Post content” block.

This block is available in the latest version of WordPress and does not require the Gutenberg plugin.


Tips for using the Content block

The content block can be used in page templates and inside a query loop block.
If the post content block is placed directly in the post or page content, you will see a notification saying that the block cannot be rendered inside itself. Doing that would create an infinite loop that would cause the page to break:

The post content block warning, with the text:
Block cannot be rendered inside itself.

For developers

Block Grammar & Markup

<!-- wp:post-content /-->


Context is used to pass values from a block to a descendant block; for example, a query and post template passing the query ID to the inner blocks.


Uses context. Optional. Type: Object.


Block Attributes

Optional. Type: Object.

Attributes provide the structured data needs of a block. They can exist in different forms when they are serialized, but they are declared together under a common interface.



Block Supports

Optional. Type: Object.

A set of options that enables or disables block controls in the editor, for example gradient colors or padding.


  "align": [
  "html": false,
  "layout": true,
  "dimensions": {
    "minHeight": true
  "spacing": {
    "blockGap": true
  "color": {
    "gradients": true,
    "link": true,
    "__experimentalDefaultControls": {
      "background": false,
      "text": false
  "typography": {
    "fontSize": true,
    "lineHeight": true,
    "__experimentalFontFamily": true,
    "__experimentalFontWeight": true,
    "__experimentalFontStyle": true,
    "__experimentalTextTransform": true,
    "__experimentalTextDecoration": true,
    "__experimentalLetterSpacing": true,
    "__experimentalDefaultControls": {
      "fontSize": true

For developers

View blocks per attribute or block support: