Uma das regras de ouro da programação e da administração de sistemas é o princípio DRY (Don’t Repeat Yourself — Não Repita a Si Mesmo). Se você precisa fazer a mesma tarefa manualmente mais de três vezes, ela deveria ser automatizada.
Conforme o blog cresce, percebi que queria manter um laço narrativo com o início do projeto. Quero que todo leitor, ao terminar um artigo técnico, tenha a chance de entender a filosofia “sem firulas” e minimalista que rege este ambiente.
A solução manual seria escrever um parágrafo no final de cada novo texto convidando a ler o post de “Setup Inicial”. Mas isso traz dois problemas:
- Trabalho braçal: É fácil esquecer de colocar.
- Manutenção pesada: Se um dia eu quiser mudar o texto desse convite, teria que editar 50 posts um por um.
A Solução: Injeção de Código via Hooks
Como estamos usando o tema GeneratePress e o plugin Code Snippets, podemos resolver isso de forma elegante usando “Hooks” (ganchos).
Basicamente, dizemos ao WordPress: “Sempre que você terminar de renderizar o conteúdo de um post, insira este bloco de HTML automaticamente antes de fechar a página.”
O Código
Criei um novo snippet PHP que faz essa verificação e inserção. A lógica é simples:
- Verifica se a página atual é um Post individual (
is_single()). Isso evita que a assinatura apareça na Página Inicial ou em páginas de “Sobre”. - Usa o gancho
generate_after_contentpara “colar” o nosso convite no rodapé do artigo.
Aqui está o código exato que está rodando neste momento no blog:
add_action( 'generate_after_content', 'adicionar_assinatura_genesis' );
function adicionar_assinatura_genesis() {
// Exibe apenas em posts individuais (não na Home ou Páginas)
if ( is_single() ) {
// Estilização inline para manter simples e isolado
echo '<div class="genesis-signature" style="margin-top: 50px; padding-top: 20px; border-top: 1px solid #e0e0e0; font-size: 0.95em; color: #555; font-style: italic;">';
echo '🏗️ <strong>Construindo em Público:</strong> ';
echo 'Este blog é um laboratório vivo. Se você tem curiosidade sobre as ferramentas que escolhi para manter este site leve e minimalista, ';
echo '<a href="/bastidores/setup-inicial" style="text-decoration: underline; font-weight: bold;">veja como tudo começou</a> no post de setup inicial.';
echo '</div>';
}
}
O Resultado
A beleza dessa abordagem é que ela é retroativa. No momento em que ativei esse código, todos os posts antigos do blog ganharam essa assinatura instantaneamente.
Se você rolar a página para baixo agora, verá esse código em ação. É uma forma sutil, mas poderosa, de criar um ciclo de engajamento e manter a história do blog sempre viva.