Referência dos hooks usados para acompanhar o login inteligente e ajustar a captura ou restauração de carrinhos.
Login inteligente
wc_smart_checkout_link_request_sent
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 );
wc_smart_checkout_link_request_error
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.