FernandoAcosta.Netdocs

Funções helper

2 min de leituraAtualizado há 5 dias

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) — se true, salva o pedido imediatamente.

Retorna: booltrue 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 classe melhor-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) — se true (padrão), lança Exception em caso de erro. Se false, 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.

Próximos passos

  • Actions — eventos disparados ao longo do ciclo.
  • Filtros — pontos de customização.
  • Meta keys — estrutura de dados gravada no pedido.
Foi útil?