Rishidocs

Hooks de login e carrinhos abandonados

1 min de leituraAtualizado há 1 hora

Referência dos hooks usados para acompanhar o login inteligente e ajustar a captura ou restauração de carrinhos.

Login inteligente

Disparada depois que o link mágico é enviado por e-mail.

add_action( 'wc_smart_checkout_link_request_sent', function( $url, $user ) {
  // O link foi enviado.
}, 10, 2 );
Parâmetro Tipo Descrição
$url string URL completa do link mágico
$user WP_User Usuário que solicitou o link

wc_smart_checkout_access_code_sent

Disparada depois que o código de acesso de seis dígitos é enviado.

add_action( 'wc_smart_checkout_access_code_sent', function( $code, $user ) {
  // O código foi enviado.
}, 10, 2 );

Disparada quando o envio do link ou código falha.

add_action( 'wc_smart_checkout_link_request_error', function( $message, $user ) {
  // Registre ou encaminhe a falha sem expor dados pessoais.
}, 10, 2 );

wc_smart_checkout_do_not_restore_cart_on_access_link

Impede a restauração do carrinho quando o cliente abre um link mágico.

add_filter( 'wc_smart_checkout_do_not_restore_cart_on_access_link', '__return_true' );

Carrinhos abandonados

rishi_abandoned_carts_customer_data

Filtra os dados normalizados antes da persistência. É aplicado nos hooks tradicionais do WooCommerce e nas atualizações do Checkout Block pela Store API.

add_filter( 'rishi_abandoned_carts_customer_data', function( $data, $customer, $context, $request ) {
  if ( 'store_api' === $context ) {
    // Exemplo: não persistir o telefone capturado pelo Checkout Block.
    $data['phone'] = '';
  }

  return $data;
}, 10, 4 );
Parâmetro Tipo Descrição
$data array name, surname, email, phone e location já normalizados
$customer WC_Customer null
$context string woocommerce ou store_api
$request WP_REST_Request null

O retorno passa novamente pela sanitização e continua limitado aos campos coletados pelo módulo. Para redigir um campo, devolva-o como string vazia.

O Checkout Block é acompanhado pelos hooks oficiais woocommerce_store_api_cart_update_customer_from_request e woocommerce_store_api_checkout_update_customer_from_request. Pedidos são reconciliados por woocommerce_store_api_checkout_order_processed; o checkout clássico continua usando seus hooks e o AJAX existente.

Foi útil?