Personalizar o WooCommerce com hooks sem mexer no núcleo nem no tema pai
Obtenha o código para personalizar o WooCommerce com actions e filters num plugin próprio: hook certo, segurança, compatibilidade com HPOS e com o checkout em blocos e plano de testes em staging. Pensado para ChatGPT, Claude, Gemini e Microsoft Copilot. Inclui 4 variáveis personalizáveis e pode copiá-lo gratuitamente com um clique.
Intermédio · Código · Pendente de revisão editorial
Prompt
Atua como programador sénior de WordPress e WooCommerce que segue os padrões de código do WordPress.
Contexto:
- Personalização de que preciso: {{personalizacao}}
- Onde deve aparecer ou atuar: {{zona}}
- Versões do WordPress e do WooCommerce: {{versoes}}
- Tema e construtor que uso: {{tema}}
Entregáveis:
1. Abordagem: que hooks (actions ou filters) do WooCommerce ou do WordPress vais usar e porquê; se houver uma opção nativa ou uma definição que o resolva sem código, diz-mo primeiro.
2. Aviso de compatibilidade: se {{zona}} usar o carrinho ou o checkout em blocos, explica que hooks clássicos não funcionam aí e a alternativa (API de extensibilidade de blocos ou Store API).
3. Código completo como plugin pequeno (cabeçalho do plugin, prefixo único nas funções, verificação de ABSPATH e de que o WooCommerce está ativo), não no functions.php do tema pai.
4. Segurança: sanitizar entradas, escapar saídas (esc_html, esc_attr, wp_kses_post), nonces nos formulários e verificação de capacidades na administração.
5. Dados de encomenda compatíveis com HPOS: usar os métodos de WC_Order (get_meta, update_meta_data, save) em vez de aceder diretamente aos postmeta, e declarar a compatibilidade.
6. Textos traduzíveis com __() e o text domain do plugin.
7. Plano de testes num ambiente de staging: casos normais, produtos variáveis, cupões, compra como convidado e desativação do plugin.
Restrições:
- Não alteres ficheiros do núcleo do WordPress nem do WooCommerce.
- Se não tiveres a certeza de que um hook existe na minha versão, marca como [VERIFICAR na documentação do WooCommerce].
- Faz uma cópia de segurança antes de instalar código em produção.
- Se a personalização for ambígua, pergunta-me antes de escrever o código.
Formato: secções numeradas, o plugin num bloco de código PHP e os passos de instalação.Como utilizar
Explica o resultado que queres ver e em que página. Instala o plugin gerado primeiro numa cópia de staging, verifica o carrinho e o checkout com o teu tema e só depois passa-o para produção.
Exemplo de utilização
Personalização: campo obrigatório «NIF para fatura» no checkout, guardado na encomenda e mostrado no email · Zona: checkout · Versões: WordPress 6.6, WooCommerce 9 · Tema: Astra com Elementor.
Exemplo de resultado
2. Aviso de compatibilidade
No WooCommerce 9.x as instalações novas usam o bloco Carrinho, onde woocommerce_before_cart não é executado. Este plugin cobre o carrinho clássico (shortcode [woocommerce_cart]); para o bloco seria precisa a API de extensibilidade de blocos [VERIFICAR na documentação do WooCommerce].
3. Plugin
<?php
/**
* Plugin Name: Aviso de portes grátis
* Description: Mostra no carrinho clássico quanto falta para os portes grátis.
* Version: 1.0.0
* Requires Plugins: woocommerce
* Text Domain: aviso-portes-gratis
*/
defined( 'ABSPATH' ) || exit;
const APG_LIMIAR = 50.0; // [COMPLETAR] igual ao valor mínimo do método «Envio gratuito»
add_action( 'before_woocommerce_init', function () {
if ( class_exists( \Automattic\WooCommerce\Utilities\FeaturesUtil::class ) ) {
\Automattic\WooCommerce\Utilities\FeaturesUtil::declare_compatibility( 'custom_order_tables', __FILE__, true );
}
} );
add_action( 'woocommerce_before_cart', 'apg_mostrar_aviso' );
function apg_mostrar_aviso(): void {
if ( ! function_exists( 'WC' ) || ! WC()->cart ) {
return;
}
$falta = APG_LIMIAR - (float) WC()->cart->get_displayed_subtotal();
if ( $falta > 0 ) {
wc_print_notice(
sprintf(
/* translators: %s: valor em falta para os portes grátis */
esc_html__( 'Faltam %s para teres portes grátis.', 'aviso-portes-gratis' ),
wp_kses_post( wc_price( $falta ) )
),
'notice'
);
}
}
wc_price() formata na moeda da loja (euros). Testa em staging com cupões: conforme os portes grátis sejam calculados antes ou depois do desconto, ajusta o subtotal usado…
Dados-chave
- Categoria
- Programação e desenvolvimento · WordPress
- Tipo de resultado
- Código
- Nível
- Intermédio
- Pensado para
- ChatGPT, Claude, Gemini e Microsoft Copilot
- Verificado em
- Pendente de verificação editorial
- Variáveis
- Personalização, Zona, Versões e Tema e construtor
- Idioma
- Português
- Preço
- Gratuito, sem registo
- Atualizado
- 07/11/2026
Perguntas frequentes
Porquê um plugin próprio e não o functions.php?
Porque o código sobrevive a mudanças e atualizações do tema e pode ser desativado com um clique se algo correr mal. Se editares o tema pai, perdes as alterações na próxima atualização.
O que é o HPOS e porque me afeta?
É o armazenamento de encomendas de alto desempenho do WooCommerce, que guarda as encomendas em tabelas próprias. Código que lê ou escreve diretamente nos postmeta pode deixar de funcionar, por isso usa os métodos de WC_Order.
Os hooks clássicos funcionam no checkout em blocos?
Muitos não, porque o checkout em blocos é gerado de outra forma. Confirma que tipo de checkout a tua loja usa e, se for em blocos, recorre à API de extensibilidade de blocos.
Para que serve este prompt?
Obtenha o código para personalizar o WooCommerce com actions e filters num plugin próprio: hook certo, segurança, compatibilidade com HPOS e com o checkout em blocos e plano de testes em staging.
Com que ferramentas de IA funciona?
Foi pensado para ChatGPT, Claude, Gemini e Microsoft Copilot. Ainda não o verificámos nestas ferramentas, pelo que os resultados podem variar entre elas.
Como personalizo o prompt?
Clique em “Personalizar” e preencha as variáveis (Personalização, Zona, Versões e Tema e construtor). O texto atualiza-se instantaneamente e pode depois copiá-lo com um clique. Os valores ficam guardados apenas no seu navegador.
Preciso de experiência para o utilizar?
É de nível intermédio: convém conhecer o tema para fornecer bom contexto e rever o resultado com sentido crítico.
Este prompt é gratuito?
Sim. Todos os prompts do HomeCasa Prompts são gratuitos, sem registo nem subscrição. Pode também utilizá-los em projetos profissionais.
Posso confiar no resultado da IA?
Trate-o como um rascunho de qualidade: verifique sempre os dados, os números e as afirmações importantes antes de publicar ou tomar decisões.