FernandoAcosta.Netdocs

Funções auxiliares e Logger

2 min de leituraAtualizado há 5 dias

O Correios Updater expõe algumas funções e classes utilitárias pra usar dentro de actions, filtros, ou código custom da sua loja.

get_correios_updater_settings()

Retorna um array com todas as configurações do plugin, já com defaults aplicados.

Localização: includes/core-functions.php

$settings = get_correios_updater_settings();

echo $settings['cws_login'];
echo $settings['status_after_delivery'];
echo $settings['enable_log']; // 'yes' ou ''

Chaves disponíveis

[
    'status_to_check'           => '',
    'status_after_add_tracking' => '',
    'status_after_delivery'     => '',
    'status_waiting_pickup'     => '',
    'status_not_delivered'      => '',
    'status_delivery_route'     => '',
    'cws_login'                 => '',
    'cws_password'              => '',
    'post_card'                 => '',
    'enable_log'                => '',
    'code_test'                 => '',
    'any_shipping_notify'       => 'no',
    'infixs_correios'           => 'no',
]
Use o filtro pra customizar

Em vez de modificar diretamente o resultado, considere usar o filtro wc_correios_status_updater_settings (veja Filtros disponíveis) — assim o valor permanece consistente em todo o plugin.

correios_updater_get_order_tracking_codes( $order, $settings = false )

Retorna o array final de códigos de rastreio pra um pedido. Aplica todas as fontes habilitadas (WC Correios, Any Shipping, Infixs, filtros custom) e normaliza pra uppercase.

Localização: includes/core-functions.php

Parâmetros:

  • $orderWC_Order ou ID do pedido.
  • $settings — opcional, array de settings. Se false, usa o resultado de get_correios_updater_settings().

Retorna: array de strings.

$order = wc_get_order( 123 );
$codes = correios_updater_get_order_tracking_codes( $order );
// ['AA123456789BR', 'BB987654321BR']

Quando usar

  • Debugar se um código está sendo lido como esperado.
  • Em código custom que precisa saber quais códigos serão consultados.
  • Em integrações externas (ex: enviar pra um sistema de SAC).

Trait Logger

Permite que classes do seu código custom escrevam nos logs do WooCommerce usando a mesma fonte (correios-updater) que o plugin usa.

Localização: src/Traits/Logger.php

use WC_Correios_Updater\Traits\Logger;

class Minha_Integracao {
    use Logger;

    public function processar( $order_id ) {
        $this->set_logger_source( 'correios-updater' );
        $this->log( 'Iniciando processamento do pedido ' . $order_id );

        try {
            // ... lógica
            $this->log( 'OK', 'info' );
        } catch ( \Exception $e ) {
            $this->log( 'Erro: ' . $e->getMessage(), 'error' );
        }
    }
}

Métodos

  • set_logger_source( $source, $critical_only = false ) — define a fonte (corresponde ao nome do arquivo de log no WooCommerce). Se $critical_only for true, só registra mensagens com nível error ou superior.
  • get_logger_source() — retorna a fonte atual.
  • log( $message, $level = 'info' ) — registra uma mensagem.

Níveis aceitos

emergency, alert, critical, error, warning, notice, info (padrão), debug.

Os logs aparecem em WooCommerce → Status → Logs, fonte correios-updater.

Verificar se o plugin está ativo no seu código

if ( function_exists( 'get_correios_updater_settings' ) ) {
    // Plugin ativo
}

Use isso em integrações que devem se comportar diferente quando o plugin está presente vs ausente.

Veja também

Foi útil?