Como criar shortcodes personalizados no WordPress
Os shortcodes são atalhos de texto que o WordPress substitui por conteúdo dinâmico. [contact-form-7 id="123"] é um shortcode: insere um formulário. Pode criar os seus próprios shortcodes para inserir conteúdo reutilizável (preços, botões, blocos de informação, ano atual, snippets de código) em qualquer post ou página.
Shortcode simples
Adicione ao functions.php do tema (ou, melhor, num plugin de funcionalidades personalizado):
Este exemplo é ilustrativo. Adapte domínio, caminhos e valores ao ambiente e teste numa cópia antes de aplicar. Não repita constantes já definidas nem regras geridas por outra ferramenta.
function lusitec_ano_actual() {
return wp_date( 'Y' );
}
add_shortcode( 'ano', 'lusitec_ano_actual' );
Uso: [ano] → mostra “2026”. Atualiza automaticamente todos os anos: sem editar centenas de páginas.
Shortcode com atributos
function lusitec_botao( $atts ) {
$atts = shortcode_atts( array(
'url' => '#',
'texto' => 'Saiba mais',
'cor' => '#184e89'
), $atts );
$atts['cor'] = sanitize_hex_color( $atts['cor'] ) ?: '#184e89';
return '<a href="' . esc_url($atts['url']) . '" style="background:' . esc_attr($atts['cor']) . ';color:#fff;padding:10px 20px;border-radius:5px;text-decoration:none;display:inline-block">' . esc_html($atts['texto']) . '</a>';
}
add_shortcode( 'botao', 'lusitec_botao' );
Uso: [botao url="https://lusitec.pt" texto="Ver planos" cor="#e67e22"]
Boas práticas
Sempre escape output: use esc_html(), esc_attr(), esc_url() para prevenir XSS. Nunca confie nos atributos diretamente.
Return, não echo: shortcodes devem usar return, não echo. O echo insere o conteúdo no local errado.
Plugin, não tema: coloque shortcodes num plugin de funcionalidades (Code Snippets ou plugin personalizado) em vez do functions.php do tema. Se mudar de tema, os shortcodes mantêm-se.
Devolver conteúdo e tratar os valores recebidos
Um shortcode deve devolver o HTML produzido, em vez de o imprimir indiscriminadamente. Valide atributos e escape valores no contexto correto. Se aceita identificadores, confirme também a permissão necessária para apresentar o recurso.
Guarde funcionalidades reutilizáveis num plugin próprio quando devem sobreviver a mudanças de tema. Teste repetição do shortcode na mesma página e funcionamento com cache. Evite executar consultas pesadas a cada utilização. A simplicidade do marcador não reduz a responsabilidade pelo código que ele chama.
Trabalhe com uma cópia de segurança e um plano de reversão
As ferramentas de administração permitem executar alterações rápidas, mas uma configuração incorreta pode afetar todo o site. Antes de editar ficheiros, tarefas agendadas ou parâmetros do PHP, registe os valores atuais. Confirme que tem uma cópia recuperável e, quando possível, teste primeiro num ambiente que não receba visitantes.
Faça uma alteração de cada vez e valide as funcionalidades críticas: carregamento das páginas, acesso administrativo, formulários e, numa loja, carrinho e pagamentos. Evite publicar credenciais, ficheiros de configuração ou registos com informação pessoal ao pedir ajuda. Se surgirem erros, indique o momento da alteração e a mensagem exata; são dados que tornam a assistência técnica mais eficaz do que tentar várias correções simultaneamente.
Verificar o ambiente antes de seguir instruções
Os nomes dos menus podem mudar com versões ou permissões. Identifique o software, faça uma cópia de segurança e confirme que sabe regressar à configuração anterior. Alterações à base de dados, ao DNS ou aos ficheiros principais exigem cautela adicional.
Execute uma operação de cada vez e teste o resultado. Se aparecer um erro, registe a mensagem completa e o passo que o provocou. Repetir uma importação ou um restauro sem compreender o efeito pode criar duplicados ou perda de dados.
O que documentar depois do procedimento
Guarde a data, os valores alterados, as versões relevantes e os resultados dos testes. Se criou credenciais temporárias, reveja-as antes de concluir. Confirme ainda que as alterações não afetaram formulários, e-mail ou serviços ligados ao mesmo domínio.
Se pedir apoio à Lusitec, descreva os passos realizados e os erros observados, sem divulgar passwords ou chaves privadas. Uma descrição objetiva facilita um diagnóstico mais rápido.
Criar funções que a equipa consegue manter
Defina entradas e apresentação e documente como atualizar a personalização.
Se os componentes existentes não respondem ao processo, consulte o nosso desenvolvimento de plugins WordPress à medida. Peça uma avaliação do projeto, indicando o objetivo, as funções necessárias e o que já existe.