Se algo não está funcionando — e-mail não chega, código não aparece, status não muda — comece pelos logs. O plugin escreve no logger do próprio WooCommerce, com a fonte any-shipping-debug.
Habilitar e ler os logs
- Vá em WooCommerce → Status → Logs.
- Na parte de cima, escolha Logs em arquivo (ou File dependendo da versão).
- Procure os arquivos cuja fonte começa com
any-shipping-debug.
Os arquivos ficam em wp-content/uploads/wc-logs/ (ou wp-content/logs/, dependendo da versão do WooCommerce e do servidor).
O que o plugin loga
Eventos relevantes:
- Quando um código novo é adicionado (
Adicionado rastreio <código> ao pedido <id>). - Quando o e-mail vai ser disparado (
E-mail com rastreio <código> do pedido <id>). - Quando entra no método de envio do e-mail (
MÉTODO E-mail com rastreio <código>). - Conteúdo final do e-mail antes do envio (
vai disparar o e-mail de <código> para <e-mail>... <mensagem>).
Se o pedido foi adicionado com sucesso mas nenhum log de e-mail aparece, o problema está antes do envio (provavelmente o e-mail está desabilitado em Configurações → E-mails).
Casos comuns
"Cliente não recebeu o e-mail"
- Confirme que o e-mail está habilitado. Vá em WooCommerce → Configurações → E-mails → Código de rastreamento para transportadoras e veja se Habilitar este e-mail de notificação está marcado.
- Confirme que o e-mail do cliente é válido. O plugin usa o e-mail de cobrança do pedido (
get_billing_email()). - Confirme que o servidor manda e-mail. Outros e-mails do WooCommerce (ex: confirmação de pedido, fatura) chegam? Se nenhum chega, o problema é entrega (SMTP, SPF, DKIM) — não é deste plugin. Use um plugin como WP Mail SMTP ou similar.
- Veja os logs do plugin. Se o log mostra "vai disparar o e-mail de..." mas o cliente não recebeu, o e-mail saiu daqui — caiu no spam ou foi bloqueado.
"Código não aparece pro cliente"
- Confirme que o código foi salvo (deve aparecer no metabox Código de rastreio quando você reabre o pedido).
- Confirme que o cliente está logado e olhando os detalhes do pedido (e não a lista). O bloco Acompanhe sua entrega aparece só na página de detalhes.
"Status do pedido não mudou"
Veja status do pedido. Lembre-se:
- Se Status após inserir rastreio está em Não atualizar status, é o esperado.
- Se o pedido já estava no status configurado, o plugin não tenta transicionar — só adiciona uma nota.
"Tracking code apareceu como link mas dá erro 404"
A URL configurada em cadastrar transportadoras está errada — placeholder fora do lugar, domínio mudou, ou a transportadora descontinuou aquela rota. Teste a URL substituindo {tracking_code} por um código real diretamente no navegador.
"Tela do pedido não carrega depois de instalar"
Acontece quando o ambiente é WC 7.1+ com HPOS habilitado mas em algum estado intermediário (ex: tabela customizada de pedidos não foi criada). Vá em WooCommerce → Configurações → Avançado → Recursos, alterne High-performance order storage e siga as instruções da própria tela. Depois reabra o pedido.
Adicionar logs próprios
Se você está customizando o plugin com um filtro ou action e quer adicionar entradas no mesmo log, use a função helper:
any_shipping_debug( 'Sua mensagem aqui' );
// com backtrace, útil pra entender de onde a chamada veio:
any_shipping_debug( 'Erro inesperado', true );
Ela está documentada em funções helper.
Estrutura de dados (pra quando precisar olhar direto no banco)
Os códigos são armazenados como meta do pedido:
- Meta key:
_wc_any_shipping_notify_tracking_code - Valor: array onde a chave é o código de rastreio e o valor é o slug da transportadora.
Exemplo:
[
'BR123456789BR' => 'sedex',
'JL987654321BR' => 'jadlog',
]
Em ambientes HPOS, esse meta fica na tabela wp_wc_orders_meta. Em ambientes clássicos, em wp_postmeta. O helper wc_any_shipping_get_tracking_codes() (veja funções helper) lê dos dois sem você precisar saber qual está em uso.
E as configurações globais ficam em duas opções:
wc_any_shipping_notify_available_companies— array comnameeurlde cada transportadora.wc_any_shipping_notify_new_status— slug do status do pedido (ounone).