
O arquivo parts/header.html está lá no tema de blocos, mas o Editor de Site não lista a parte em Cabeçalhos — ou o modelo abre com o topo vazio. O WordPress 6.9 acha o arquivo sozinho; sem declaração, porém, ele entra na área uncategorized e fica fora de qualquer agrupamento de cabeçalho.
O array templateParts fica na raiz do arquivo, no mesmo nível de settings e styles. O name é o nome do arquivo sem a extensão:
{
"$schema": "https://schemas.wp.org/trunk/theme.json",
"version": 3,
"templateParts": [
{ "name": "header", "title": "Cabeçalho", "area": "header" },
{ "name": "footer", "title": "Rodapé", "area": "footer" }
]
} As áreas registradas por padrão são header, footer e uncategorized; qualquer outra é ignorada em silêncio, a não ser que você acrescente a sua pelo filtro default_wp_template_part_areas. E o tema só conta como tema de blocos se existir templates/index.html. Dentro desse modelo a parte entra como um bloco wp:template-part com {"slug":"header","tagName":"header"} — o editor escreve isso sozinho quando você insere o bloco Parte do modelo.
Se alguém já editou o cabeçalho pelo Editor de Site, o WordPress gravou um post do tipo wp_template_part e passa a servir essa cópia. Mexer no HTML do tema não muda nada até você remover a personalização:
sudo -u www-data wp post list --post_type=wp_template_part
--fields=ID,post_name,post_status
# confira o ID na listagem: o --force pula a lixeira e não tem volta
sudo -u www-data wp post delete 1234 --force
sudo -u www-data wp cache flush Pelo painel dá no mesmo, e sem risco de apagar o post errado: abra a parte no Editor de Site e use Limpar personalizações. Depois disso o arquivo volta a mandar, e aí sim vale versionar parts/ no Git sem alguém sobrescrever pelo admin.
VPS de 2 GB onde o mysqld morre de madrugada e o site volta com erro de conexão. Como confirmar…
Regex com cinco parênteses e ninguém lembra se a data é $matches[2] ou $matches[3]. Nomeie os grupos e leia o…
Erro The consumer isn't authorized to access resources ao chamar a REST do Magento 2.4.8? Ative a integração, libere os…
Bots batendo centenas de POST por minuto no login derrubam a CPU. Configure limit_req_zone no nginx e devolva 429 antes…
Seu access.log guarda o IP inteiro dos visitantes há meses sem necessidade. Mascare o último octeto com map e log_format…
A observação do pedido chegou com ordem embutida para gerar cupom. Delimite o texto do cliente e trate a resposta…