FernandoAcosta.Netdocs

Actions

2 min de leituraAtualizado há 5 dias

Lista de actions disparadas pelo plugin. Use no functions.php do tema, num plugin auxiliar ou num MU plugin. Os exemplos assumem PHP 7.4+.

wc_melhor_envio_new_tracking_code

Disparada quando um novo código de rastreio é gravado num pedido (seja pelo cron, seja por código manual via wc_melhor_envio_add_tracking_code).

Argumentos:

  • $tracking_code (string) — código de rastreio.
  • $order (WC_Order) — pedido.
add_action( 'wc_melhor_envio_new_tracking_code', function( $tracking_code, $order ) {
    // Notifica equipe interna no Slack quando o rastreio sai
    wp_remote_post( 'https://hooks.slack.com/services/...', [
        'body' => json_encode( [ 'text' => "Pedido #{$order->get_id()} foi postado: {$tracking_code}" ] ),
    ] );
}, 10, 2 );

wc_melhor_envio_ajax_before_process

Disparada antes de processar a geração de etiqueta via AJAX (clique no metabox ou ação em massa pelo painel).

Argumentos:

  • $order (WC_Order) — pedido.
add_action( 'wc_melhor_envio_ajax_before_process', function( $order ) {
    // Bloqueia geração se cliente está bloqueado por inadimplência
    if ( $order->get_meta( '_cliente_bloqueado' ) === 'yes' ) {
        wp_send_json_error( [ 'message' => 'Cliente bloqueado.' ] );
    }
}, 10, 1 );

wc_melhor_envio_check_posted

Cron event registrado pelo plugin. Pode ser disparado manualmente pra forçar uma verificação imediata de rastreio em todos os pedidos monitorados.

do_action( 'wc_melhor_envio_check_posted' );

A frequência da execução automática é definida pelo setting Intervalo de verificação (a cada hora, 12 horas ou diariamente). Veja rastreamento automático.

wc_melhor_envio_bling_invoice_imported

Disparada quando o plugin captura a NF de uma nota interna do Bling.

Argumentos:

  • $order (WC_Order) — pedido com a NF gravada nos metas.
add_action( 'wc_melhor_envio_bling_invoice_imported', function( $order ) {
    // Adiciona o número da NF ao customer note pra ficar visível pro cliente
    $number = $order->get_meta( '_me_invoice_number' );
    $order->set_customer_note( "NF {$number} emitida." );
    $order->save();
}, 10, 1 );

Veja importar nota fiscal.

wc_melhor_envio_webmania_invoice_imported

Disparada quando o plugin captura a NF de uma resposta do plugin Webmania (NFe WooCommerce).

Argumentos:

  • $order (WC_Order) — pedido com a NF gravada nos metas.
  • $response (object) — objeto bruto retornado pela Webmania.
add_action( 'wc_melhor_envio_webmania_invoice_imported', function( $order, $response ) {
    // Salva o XML da NFe num meta personalizado pra arquivar
    if ( ! empty( $response->xml ) ) {
        $order->update_meta_data( '_xml_nfe_arquivado', $response->xml );
        $order->save();
    }
}, 10, 2 );

wc_melhor_envio_after_metabox_fields

Disparada no final do metabox Etiquetas Melhor Envio, depois dos campos padrão. Use pra adicionar campos extras (referência interna, observação pro despacho, etc).

add_action( 'wc_melhor_envio_after_metabox_fields', function() {
    echo '<p><label>Referência interna<br>';
    echo '<input type="text" name="referencia_interna" /></label></p>';
} );

Pra ler o valor do campo customizado depois do submit, use o filtro wc_melhor_envio_ajax_before_process (acima) ou um listener próprio nos AJAX endpoints.

Próximos passos

  • Filtros — referência de filtros pra customizar cotação, etiqueta, rastreio.
  • Funções helper — funções globais pra ler/gravar dados sem mexer em meta direto.
Foi útil?