Helpers PHP públicos do plugin. Use quando você está chamando o plugin programaticamente (de um cron próprio, de uma integração externa, de um plugin que estende este).
wc_any_shipping_get_tracking_codes( $order )
Retorna todos os códigos de rastreio de um pedido.
| Parâmetro | Tipo | Descrição |
|---|---|---|
$order |
WC_Order|int |
Objeto do pedido ou ID |
Retorno: array no formato [ 'CODIGO' => 'slug_transportadora' ]. Vazio quando o pedido não tem rastreio.
$codes = wc_any_shipping_get_tracking_codes( 123 );
foreach ( $codes as $code => $slug ) {
$name = wc_any_shipping_notify_get_shipping_company_name( $slug );
echo "$name: $code\n";
}
Roda o filtro wc_any_shipping_get_tracking_codes antes de retornar — veja hooks: actions e filtros.
wc_any_shipping_notify_update_tracking_code( $order, $tracking_code, $shipping_company_slug = '', $remove = false )
Adiciona ou remove um código de rastreio em um pedido. É a função que o admin, a lista de pedidos e a REST API chamam por baixo dos panos.
| Parâmetro | Tipo | Descrição |
|---|---|---|
$order |
WC_Order|int |
Objeto do pedido ou ID |
$tracking_code |
string |
Código a adicionar/remover |
$shipping_company_slug |
string |
Slug interno (obrigatório ao adicionar; ignorado ao remover) |
$remove |
bool |
true pra remover, false (padrão) pra adicionar |
Retorno: array com chaves failed, removed, added e status_updated — cada uma é 'yes', 'no' ou (no caso de status_updated) o slug do novo status. Se o código já existe e não está sendo removido, retorna false.
Efeitos colaterais ao adicionar:
- Adiciona uma nota interna no pedido.
- Pode atualizar o status do pedido (veja status do pedido).
- Dispara o action
wcasn_tracking_added. - Envia o e-mail de notificação pro cliente (se habilitado).
Efeitos colaterais ao remover: apenas adiciona uma nota interna. Não dispara e-mail nem muda status.
// Adicionar
$result = wc_any_shipping_notify_update_tracking_code( 123, 'BR123456789BR', '0' );
if ( 'yes' === $result['added'] ) {
// OK
}
// Remover
wc_any_shipping_notify_update_tracking_code( 123, 'BR123456789BR', '', true );
Chamar a função com $tracking_code = '' deleta a meta key inteira (_wc_any_shipping_notify_tracking_code). Sempre valide antes.
wc_any_shipping_notify_trigger_tracking_code_email( $order, $tracking_code, $shipping_company_slug = '' )
Dispara o e-mail de rastreio sem adicionar nenhum código no pedido. Útil pra reenviar a notificação manualmente, ou pra disparar um e-mail em um pedido existente que já tem o código gravado.
| Parâmetro | Tipo | Descrição |
|---|---|---|
$order |
WC_Order |
Objeto do pedido |
$tracking_code |
string |
Código a referenciar no corpo do e-mail |
$shipping_company_slug |
string |
Slug interno da transportadora |
Retorno: void. Se o e-mail estiver desabilitado em Configurações → E-mails, a função simplesmente não envia.
$order = wc_get_order( 123 );
wc_any_shipping_notify_trigger_tracking_code_email( $order, 'BR123456789BR', '0' );
wc_any_shipping_notify_get_shipping_companies()
Retorna todas as transportadoras cadastradas em cadastrar transportadoras.
Retorno: array no formato [ slug => [ 'name' => '...', 'url' => '...' ] ]. Vazio quando nenhuma foi cadastrada.
foreach ( wc_any_shipping_notify_get_shipping_companies() as $slug => $company ) {
echo "$slug = {$company['name']} ({$company['url']})\n";
}
Roda o filtro wc_any_shipping_notify_available_companies antes de retornar.
wc_any_shipping_notify_get_shipping_company_name( $slug )
Retorna o nome de exibição de uma transportadora a partir do slug.
| Parâmetro | Tipo | Descrição |
|---|---|---|
$slug |
string |
Slug interno |
Retorno: string. Se o slug não existe (ex: transportadora foi removida), retorna 'Transportadora'.
Roda o filtro wc_any_shipping_notify_shipping_company_name antes de retornar.
wc_any_shipping_notify_get_shipping_company_url( $slug, $tracking_code = false, $order = null )
Gera a URL final de rastreio, com placeholders já substituídos.
| Parâmetro | Tipo | Descrição |
|---|---|---|
$slug |
string |
Slug interno |
$tracking_code |
string|false |
Código pra substituir {tracking_code} (ou false) |
$order |
WC_Order|null |
Pedido pra substituir {order_number} (ou null) |
Retorno: string com a URL final. Se o slug não existe, retorna a URL da página da conta (my-account) como fallback.
Roda o filtro wc_any_shipping_notify_shipping_company_url antes de retornar.
$order = wc_get_order( 123 );
$url = wc_any_shipping_notify_get_shipping_company_url( '0', 'BR123456789BR', $order );
// "https://www.linkcorreios.com.br/?id=BR123456789BR"
any_shipping_debug( $message, $backtrace = false )
Helper de log. Escreve em um arquivo do logger do WooCommerce, com a fonte any-shipping-debug.
| Parâmetro | Tipo | Descrição |
|---|---|---|
$message |
string |
Mensagem |
$backtrace |
bool |
Se true, inclui o backtrace do PHP |
Retorno: void.
any_shipping_debug( 'Vai chamar API externa pra pedido ' . $order->get_id() );
// com backtrace, pra entender de onde a chamada veio:
any_shipping_debug( 'Estado inesperado', true );
Veja resolução de problemas e debug pra detalhes de onde os logs ficam.