block.json para registrar un bloque Gutenberg

json marzo 11, 2026

El archivo block.json es la forma moderna y recomendada de registrar bloques de Gutenberg. Centraliza toda la metadata del bloque: nombre, atributos, assets y soporte de características.

Casos de uso: crear bloques personalizados para plugins, bloques de contenido reutilizables para clientes, sustituir shortcodes legacy por bloques modernos, bloques de CPTs para mostrar contenido dinámico.

{
    "$schema": "https://schemas.wp.org/trunk/block.json",
    "apiVersion": 3,
    "name": "mi-plugin/tarjeta",
    "version": "1.0.0",
    "title": "Tarjeta de Proyecto",
    "category": "common",
    "icon": "portfolio",
    "description": "Muestra una tarjeta con imagen, título y descripción.",
    "keywords": ["tarjeta", "proyecto", "card"],
    "supports": {
        "html": false,
        "align": ["wide", "full"]
    },
    "attributes": {
        "titulo":      { "type": "string", "default": "" },
        "descripcion": { "type": "string", "default": "" },
        "imagen":      { "type": "number", "default": 0 }
    },
    "editorScript": "file:./index.js",
    "editorStyle":  "file:./index.css",
    "style":        "file:./style-index.css"
}
  • name — Identificador único del bloque con formato namespace/nombre. Debe ser único en todo WordPress.
  • supports.html: false — Desactiva la opción de editar el HTML del bloque directamente, recomendado para bloques complejos.
  • attributes — Define los datos que el bloque almacena. Cada atributo se guarda en el comentario HTML del bloque.
  • editorScript vs styleeditorScript solo se carga en el editor; style se carga tanto en el editor como en el frontend.