FernandoAcosta.Netdocs

Helpers PHP

2 min de leituraAtualizado há 5 dias

Funções públicas em includes/wc-boleto-reminder-functions.php que você pode usar em snippets, integrações e debugging.

wc_boleto_reminder_get_default_hours()

Retorna os intervalos padrão (antes de qualquer customização do lojista ou de filtros).

$defaults = wc_boleto_reminder_get_default_hours();
// array( 24 => '24 Horas depois', 48 => '48 Horas depois' )

Use quando precisa do baseline (ex.: resetar configuração programaticamente).

wc_boleto_reminder_get_available_hours()

Retorna os intervalos efetivos: o que está salvo na configuração mais o que foi modificado pelo filtro wc_boleto_reminder_available_hours.

$hours = wc_boleto_reminder_get_available_hours();

foreach ( $hours as $h => $label ) {
    echo $h . 'h — ' . $label . PHP_EOL;
}

Quando usar: pra iterar todos os intervalos ativos (ex.: gerar relatório por intervalo).

wc_boleto_reminder_get_payment_data( $order )

Extrai os dados de pagamento de um pedido. Aceita WC_Order ou int (ID).

$order = wc_get_order( 123 );
$data  = wc_boleto_reminder_get_payment_data( $order );

if ( $data ) {
    echo $data['payment_url'];
    echo $data['method_name'];

    if ( ! empty( $data['expiry_time'] ) ) {
        echo date_i18n( 'd/m/Y H:i', $data['expiry_time'] );
    }
} else {
    echo 'Gateway não suportado';
}

Retorno:

  • Array com payment_url, method_name e (opcionalmente) expiry_time quando o gateway é suportado.
  • false quando o gateway não foi reconhecido e nenhum filtro custom adicionou suporte.

Quando usar: pra debugar por que um lembrete não foi criado, ou pra reaproveitar os dados em um envio fora do plugin (ex.: webhook próprio).

wc_boleto_reminder_get_object( $post_id )

Retorna um objeto rico com todos os dados de um lembrete (CPT boleto_reminder).

$reminder = wc_boleto_reminder_get_object( $reminder_post_id );

if ( $reminder ) {
    echo $reminder->order_id;             // ID do pedido associado
    echo $reminder->order->get_total();   // Total do pedido
    echo count( $reminder->clicks );      // Quantos cliques
    echo count( $reminder->timeline );    // Quantos eventos

    foreach ( $reminder->timeline as $event ) {
        echo "[{$event['time']}] {$event['message']}\n";
    }
}

Propriedades:

  • order_id (int)
  • order (WC_Order)
  • clicks (array de [ 'time', 'reference' ])
  • timeline (array de [ 'time', 'message' ])
  • available_hours (array dos intervalos no momento da criação do lembrete)
  • payment_data (resultado de wc_boleto_reminder_get_payment_data)

Quando usar: pra construir relatórios, dashboards externos ou análises agregadas (taxa de cliques por intervalo, tempo médio entre envio e clique etc.).

Iterando todos os lembretes

Combinada com WP_Query filtrando por post type boleto_reminder, essa função é a forma mais rápida de iterar todos os lembretes de uma janela de tempo. Veja a estrutura completa dos metas em Custom Post Type e status.

Foi útil?