Funções globais expostas pelo plugin pra integrações externas. Definidas em includes/core-functions.php e disponíveis depois que o plugin é carregado.
Rastreamento
wc_melhor_envio_add_tracking_code( $order, $tracking_code, $save = false )
Adiciona um código de rastreio ao pedido. Dispara o e-mail pro cliente e a action wc_melhor_envio_new_tracking_code. Códigos duplicados são ignorados.
Argumentos:
$order(WC_Order).$tracking_code(string).$save(bool) — setrue, salva o pedido imediatamente.
Retorna: bool — true se foi adicionado, false se já existia.
$order = wc_get_order( 1234 );
wc_melhor_envio_add_tracking_code( $order, 'AA123456789BR', true );
wc_melhor_envio_get_tracking_codes( $order )
Retorna todos os códigos de rastreio do pedido.
Retorna: array de strings.
foreach ( wc_melhor_envio_get_tracking_codes( $order ) as $code ) {
echo "{$code}\n";
}
wc_melhor_envio_get_tracking_url( $tracking_code )
Monta a URL pública pro código no Melhor Rastreio.
Retorna: string https://www.melhorrastreio.com.br/meu-rastreio/<código>.
$url = wc_melhor_envio_get_tracking_url( 'AA123456789BR' );
wc_melhor_envio_get_formatted_tracking_url( $code, $button_text = '', $class = '' )
Devolve um <a> HTML pronto pra renderizar.
Argumentos:
$code(string).$button_text(string, opcional) — texto do link. Se vazio, usa o próprio código.$class(string, opcional) — classe CSS adicional. A classemelhor-envio-tracking-buttoné sempre incluída.
Retorna: string HTML.
echo wc_melhor_envio_get_formatted_tracking_url(
'AA123456789BR',
'Rastrear pedido',
'btn btn-primary'
);
// <a href="..." target="_blank" class="melhor-envio-tracking-button btn btn-primary">Rastrear pedido</a>
Métodos disponíveis na conta
wc_melhor_envio_get_account_methods()
Retorna a lista de métodos disponíveis na conta do Melhor Envio (cacheada). É a mesma lista usada no formulário de zona de envio.
Retorna: array [ id => [ 'name' => ..., 'company' => ..., ... ] ].
foreach ( wc_melhor_envio_get_account_methods() as $id => $info ) {
echo "{$id}: {$info['name']} ({$info['company']})\n";
}
wc_melhor_envio_update_account_methods( $throw = true )
Atualiza a lista local consultando a API do Melhor Envio. É a mesma rotina disparada pela ferramenta Atualizar lista de métodos em Status → Ferramentas.
Argumentos:
$throw(bool) — setrue(padrão), lançaExceptionem caso de erro. Sefalse, retorna o erro como string.
Retorna: array de métodos (sucesso) ou string (erro, com $throw = false).
try {
$methods = wc_melhor_envio_update_account_methods();
} catch ( Exception $e ) {
error_log( $e->getMessage() );
}
Logística reversa
wc_melhor_envio_enabled_reverse_logistic()
Indica se a logística reversa está habilitada. Padrão: false. Pra habilitar:
add_filter( 'wc_melhor_envio_enabled_reverse_logistic', '__return_true' );
Retorna: bool.
Veja logística reversa.
Utilitários internos
wc_melhor_envio_get_script_url()
Retorna a URL pro JS de admin do plugin. Útil em raríssimos casos onde você precisa carregar o script numa tela customizada.
Retorna: string.