[{"data":1,"prerenderedAt":40},["ShallowReactive",2],{"\u002Fapi\u002Fpage\u002Fes\u002Fskills\u002Fsumi-wordpress\u002Fwp-custom-blocks":3,"PageBody_0soUmXOW6HHR9IhxGGHHX085gsUiVC5vSW23QwTmk":32},{"title":4,"description":5,"plugin":6,"kind":7,"references":8,"source":9,"stale":10,"heading":11,"toc":12,"locale":31},"wp-custom-blocks","Bloques propios de Gutenberg sin paso de compilación: bloques dinámicos con block.json (apiVersion 3) y render.php, scripts de editor en JavaScript plano (wp.element.createElement), un editor compartido guiado por configuración con vista previa mediante ServerSideRender para los bloques de sección, InnerBlocks para cuerpos WYSIWYG, repetidores, selectores de medios, escapado y accesibilidad en render.php. Úsala al crear o editar blocks\u002F*\u002Fblock.json, render.php o el JS del editor de bloques, o cuando una sección de un tema de bloques nativo deba ser editable por el cliente.","sumi-wordpress","skill",0,"plugins\u002Fsumi-wordpress\u002Fskills\u002Fwp-custom-blocks\u002FSKILL.md",false,"Bloques propios (dinámicos, sin compilación)",[13,16,19,22,25,28],{"id":14,"text":15},"anatomy","Anatomía",{"id":17,"text":18},"render-php-rules","Reglas de render.php",{"id":20,"text":21},"editor-patterns","Patrones de editor",{"id":23,"text":24},"reuse-before-creating","Reutiliza antes de crear",{"id":26,"text":27},"slop-tells","Señales de relleno genérico",{"id":29,"text":30},"done-checklist","Lista de verificación","es",["Island",33],{"key":34,"result":35},"PageBody_0soUmXOW6HHR9IhxGGHHX085gsUiVC5vSW23QwTmk",{"head":36},{"style":37},[38],{"innerHTML":39},".prose[data-v-1545ba8e]{max-width:var(--measure-prose)}.prose[data-v-1545ba8e] h2{margin-block:var(--space-8) var(--space-4)}.prose[data-v-1545ba8e] h3{margin-block:var(--space-6) var(--space-3)}.prose[data-v-1545ba8e] h4{margin-block:var(--space-5) var(--space-3);font-family:var(--font-mono);font-variation-settings:\"wdth\" var(--mono-width-label);font-size:var(--text-small);text-transform:uppercase;letter-spacing:var(--text-label-ls);color:var(--color-text-muted)}.prose[data-v-1545ba8e] ol,.prose[data-v-1545ba8e] p,.prose[data-v-1545ba8e] ul{margin-block-end:var(--space-4)}.prose[data-v-1545ba8e] li{margin-block-end:var(--space-2)}.prose[data-v-1545ba8e] ol,.prose[data-v-1545ba8e] ul{padding-inline-start:var(--space-5)}.prose[data-v-1545ba8e] li:has(.task-box){list-style:none}.prose[data-v-1545ba8e] .task-box{width:.8em;height:.8em;border:var(--border-width) solid var(--color-border);vertical-align:baseline;margin-inline-end:var(--space-2);display:inline-block}.prose[data-v-1545ba8e] code{padding:1px var(--space-1);background:var(--color-surface-sunk);border:var(--border-width) solid var(--color-border)}.prose[data-v-1545ba8e] pre{padding:var(--space-4);background:var(--color-surface-sunk);border:var(--border-width) solid var(--color-border);margin-block-end:var(--space-5);overflow-x:auto}.prose[data-v-1545ba8e] pre code{background:0 0;border:0;padding:0}.prose[data-v-1545ba8e] .table-scroll{max-width:none;margin-block-end:var(--space-5);overflow-x:auto}.prose[data-v-1545ba8e] table{border-collapse:collapse;width:100%;min-width:32rem;font-size:var(--text-small);line-height:var(--text-small-lh)}.prose[data-v-1545ba8e] td,.prose[data-v-1545ba8e] th{padding:var(--space-3) var(--space-4);text-align:start;vertical-align:top;border-block-start:var(--divider-width) solid var(--color-divider)}.prose[data-v-1545ba8e] th{font-family:var(--font-mono);font-variation-settings:\"wdth\" var(--mono-width-label);font-size:var(--text-label);letter-spacing:var(--text-label-ls);text-transform:uppercase;color:var(--color-text-muted);border-block-end:var(--border-width) solid var(--color-border)}.prose[data-v-1545ba8e] blockquote{margin:0 0 var(--space-5);border-inline-start:var(--seam-width) solid var(--color-seam);color:var(--color-text-muted);padding-inline-start:var(--space-4)}.prose[data-v-1545ba8e] hr{margin-block:var(--space-7);border:0;border-block-start:var(--divider-width) solid var(--color-divider)}.prose[data-v-1545ba8e] pre,.prose[data-v-1545ba8e] table{max-width:none}",1791464218500]