WP Manifestindependent plugin directory
manifest / editor / block-header-behavior

Block Header Behavior

Amplia o editor de blocos com comportamentos configuráveis ​​para o cabeçalho do site (padrão, fixo, sobreposição) por meio de uma variação de core/group.

by Itamar Silva · github.com/silvaitamar/block-header-behavior · website

★ 0stars
0forks

Install

No release zip yet. The repository archive installs, but the folder name will carry the branch suffix and updates will not flow:

wp plugin install https://github.com/silvaitamar/block-header-behavior/archive/refs/heads/main.zip

Plugin WordPress que adiciona uma variação de bloco ao core/group ("Site Header") com comportamentos de cabeçalho reutilizáveis no editor de blocos e em temas FSE (Full Site Editing).

Útil quando você não quer reinventar, a cada projeto, o mesmo padrão de grupo semântico (<header>), classes, sticky/overlay e estilos ao rolar a página.

Requisitos

  • WordPress 6.5+
  • PHP 7.4+

Instalação

  1. Copie a pasta block-header-behavior para wp-content/plugins/.
  2. Ative Block Header Behavior em Plugins.

Uso (resumo)

  1. No editor de site ou no conteúdo, insira um Grupo e escolha a variação Site Header (ou equivalente no seu idioma).
  2. O grupo usa tagName: header e a classe site-header.
  3. No painel do bloco, defina o modo do cabeçalho:
    • Default — fluxo normal.
    • Sticky — fixa no topo ao rolar (position: sticky).
    • Overlay — sobrepõe o conteúdo inicialmente; ao rolar, aplica fundo/sombra somente se você configurar no inspetor (variáveis CSS + classe is-scrolled). Sem sombra definida, o default é box-shadow: none — use isso quando o tema já tem border-bottom e você não quer borda dupla.
  4. Nos modos sticky/overlay, use os controles nativos de Cor ("Fundo ao fixar") e Borda ("Sombra ao fixar") quando disponíveis. Deixe a sombra vazia se a borda inferior do tema for suficiente.

Mobile / breakpoints: o modo Overlay usa position: fixed em todos os viewports. Não há breakpoint embutido no plugin (decisão de produto). Temas que queiram header no fluxo só no mobile devem sobrescrever o CSS do handle bhb-block-header-behavior (ex. position: relative + zerar o padding-top de compensação do tema) — o tema iawp faz isso em ≤799px.

O CSS/JS de front-end só são enfileirados se o conteúdo analisado contiver um core/group com site-header na classe (singular, templates e partes em temas de blocos).

Hooks (desenvolvedores)

Filtro Descrição
bhb_site_header_hidden_inspector_panels Painéis do inspetor a ocultar na variação Site Header (layout, position).
bhb_header_modes Lista de slugs de modo permitidos (default, sticky, overlay).
bhb_header_behavior_scan_sources Fontes extras de markup de blocos para detecção de carregamento de assets.

Prefixos e handles usam o prefixo bhb_ / bhb- (constantes BHB_*).

Estrutura do código

block-header-behavior/
├── block-header-behavior.php   # Bootstrap e constantes
├── includes/
│   ├── class-plugin.php        # Singleton e i18n
│   ├── class-block.php         # Atributos + variação
│   └── class-assets.php        # Registro condicional de assets
├── assets/
│   ├── css/style.css
│   └── js/editor.js | frontend.js
└── languages/                  # Traduções (.pot manual ou WP-CLI)

Boas práticas aplicadas

  • Namespace PHP BHB\BlockHeaderBehavior e função global bhb_plugin().
  • ABSPATH em todos os arquivos PHP executáveis.
  • load_plugin_textdomain() no hook init (prioridade 0), conforme recomendado pelo WordPress.
  • index.php vazio nas pastas para evitar listagem de diretório.
  • Text domain único: block-header-behavior.
  • Scripts com dependências explícitas; traduções do script de editor via wp_set_script_translations.
  • Sem dados em options no banco — não é obrigatório uninstall.php para limpeza.

Licença

GPL-2.0-or-later — alinhado ao ecossistema WordPress.

Changelog

Ver CHANGELOG.md.