Lista de actions e filtros expostos pelo plugin, com a assinatura, onde dispara, e um exemplo curto. Use no seu tema (functions.php) ou em um plugin separado.
Actions
wcasn_tracking_added
Dispara depois que um código de rastreio novo é gravado no pedido — vale pra adição via metabox, lista de pedidos e REST API.
do_action( 'wcasn_tracking_added', $order, $tracking_code, $shipping_company_slug );
| Argumento | Tipo | Descrição |
|---|---|---|
$order |
WC_Order |
Objeto do pedido |
$tracking_code |
string |
Código adicionado |
$shipping_company_slug |
string |
Slug interno da transportadora (índice numérico) |
Use pra disparar webhook externo, criar registro em sistema próprio, enviar SMS, etc.
add_action( 'wcasn_tracking_added', function( $order, $code, $slug ) {
wp_remote_post( 'https://meu-sistema.com/webhook/rastreio', [
'body' => [
'order_id' => $order->get_id(),
'tracking_code' => $code,
'company_slug' => $slug,
],
] );
}, 10, 3 );
wcasn_form_fields
Dispara enquanto o metabox Código de rastreio está sendo renderizado, dentro do formulário de adicionar. Use pra injetar campos custom no formulário (ex: peso, observação interna).
do_action( 'wcasn_form_fields', $order_id );
| Argumento | Tipo | Descrição |
|---|---|---|
$order_id |
int |
ID do pedido sendo editado |
Os campos que você injetar não são processados pelo plugin — você precisa capturar via JS ou no action wcasn_tracking_added pra fazer algo com eles.
add_action( 'wcasn_form_fields', function( $order_id ) {
echo '<input type="text" name="custom_observacao" placeholder="Observação interna">';
} );
Filtros
wcasn_tracking_title
Título do bloco Acompanhe sua entrega na conta do cliente. Veja rastreio na conta do cliente.
$title = apply_filters( 'wcasn_tracking_title', 'Acompanhe sua entrega' );
wc_any_shipping_get_tracking_codes
Roda em cima do array de códigos de rastreio recuperado de um pedido. Use pra ocultar códigos condicionalmente, anexar dados, ou normalizar legado.
$codes = apply_filters( 'wc_any_shipping_get_tracking_codes', $codes );
| Argumento | Tipo | Descrição |
|---|---|---|
$codes |
array |
[ 'CODIGO' => 'slug_transportadora' ] |
wc_any_shipping_notify_available_companies
Lista de transportadoras cadastradas. Use pra adicionar transportadoras dinamicamente (ex: vindas de outro plugin, de outra opção, de uma API), ou pra esconder algumas em um contexto específico.
$companies = apply_filters( 'wc_any_shipping_notify_available_companies', $companies );
| Argumento | Tipo | Descrição |
|---|---|---|
$companies |
array |
[ slug => [ 'name' => '...', 'url' => '...' ] ] |
add_filter( 'wc_any_shipping_notify_available_companies', function( $companies ) {
$companies['custom'] = [
'name' => 'Transportadora Custom',
'url' => 'https://exemplo.com/?codigo={tracking_code}',
];
return $companies;
} );
wc_any_shipping_notify_shipping_company_name
Nome de exibição de uma transportadora.
$name = apply_filters( 'wc_any_shipping_notify_shipping_company_name', $name );
wc_any_shipping_notify_shipping_company_url
URL final de rastreio, depois das substituições de {tracking_code} e {order_number}. Use pra reescrever URLs (ex: forçar HTTPS, trocar domínio em ambiente de teste, redirecionar via encurtador interno).
$url = apply_filters( 'wc_any_shipping_notify_shipping_company_url', $url, $slug, $tracking_code, $order );
| Argumento | Tipo | Descrição |
|---|---|---|
$url |
string |
URL já com placeholders substituídos |
$slug |
string |
Slug interno da transportadora |
$tracking_code |
string|false |
O código (ou false se ainda não tem) |
$order |
WC_Order|null |
Objeto do pedido (ou null) |
add_filter( 'wc_any_shipping_notify_shipping_company_url', function( $url, $slug ) {
return str_replace( 'http://', 'https://', $url );
}, 10, 4 );
wc_any_shipping_notify_email_tracking_message
Conteúdo final da mensagem do e-mail de rastreio, depois da substituição de placeholders. Use pra customizar dinamicamente (ex: saudação por horário, bloco extra dependendo da transportadora). Veja e-mail de notificação.
$message = apply_filters( 'wc_any_shipping_notify_email_tracking_message', $message, $order, $tracking_code, $company_name );
wc_any_shipping_get_tracking_codes_email
Roda quando o e-mail vai renderizar a lista de códigos e os dados não vieram em formato de array (caso raro). Use pra normalizar ou retornar HTML alternativo.
$result = apply_filters( 'wc_any_shipping_get_tracking_codes_email', $tracking_codes, $company_name );
wc_any_shipping_get_tracking_codes_email_html
HTML final da lista de códigos no corpo do e-mail. Use pra trocar a <ul> por algo customizado.
$html = apply_filters( 'wc_any_shipping_get_tracking_codes_email_html', $html, $tracking_codes );
| Argumento | Tipo | Descrição |
|---|---|---|
$html |
string |
HTML default (<ul><li>codigo</li>...</ul>) |
$tracking_codes |
array |
[ 'CODIGO' => 'slug' ] |
wc_any_shipping_notify_myaccount_button
Texto do botão Acompanhar entrega na conta do cliente.
$text = apply_filters( 'wc_any_shipping_notify_myaccount_button', 'Acompanhar entrega', $details );
| Argumento | Tipo | Descrição |
|---|---|---|
$details |
array |
[ 'code' => '...', 'company' => '...', 'url' => '...' ] |
Veja exemplo de uso em rastreio na conta do cliente.
Próximo passo
Pra chamar lógica do plugin diretamente (sem hook), veja funções helper.