carmo/wprulesinteractivityapi icon
public
Published on 5/19/2025
General Interactivity API Rules

Rules

Interactivity API

  • Implementar corretamente store da Interactivity API
  • Documentar fluxo de dados e eventos
  • Separar lógica de UI e lógica de negócios
  • Considerar SSR quando aplicável

Estrutura de Blocos

  • Seguir estrutura recomendada com block.json
  • Definir atributos claramente com tipos apropriados
  • Implementar editorScript e viewScript separadamente
  • Considerar variantes de blocos quando apropriado
  • Utilizar InnerBlocks quando necessário para composição

Estrutura e Finalidade dos Arquivos

  • block.json: Arquivo de manifesto que define metadados, atributos e dependências do bloco
  • edit.js: Contém o componente React para a experiência de edição no admin/editor Gutenberg
  • save.js: Define o output HTML que será salvo no banco de dados (ou null se for renderizado dinamicamente)
  • view.js: Código JavaScript que roda no frontend para adicionar interatividade aos blocos renderizados
  • index.js: Ponto de entrada para registrar o bloco e importar dependências necessárias
  • style.scss/css: Estilos aplicados tanto no editor quanto no frontend
  • editor.scss/css: Estilos aplicados apenas no contexto do editor Gutenberg
  • render.php: Renderização dinâmica do bloco no servidor (para blocos dinâmicos)
  • attributes.php: Definição de atributos em PHP (alternativa ao block.json para blocos legados)
  • interactivity.js: Implementação da Interactivity API para blocos interativos modernos
  • transforms.js: Lógica para transformações entre blocos
  • variations.js: Definição de variantes do bloco