Rishidocs

Hooks e filtros

3 min de leituraAtualizado há 1 semana

Referência dos principais filtros (apply_filters) e actions (do_action) expostos pelo Checkout Rishi. Use-os para customizar comportamento sem editar templates.

Não há suporte para customizações

Esta seção é para desenvolvedores. O suporte oficial não cobre snippets customizados nem revisão de código personalizado. Teste tudo em staging antes de aplicar em produção.

Login

Action disparada após o link mágico ser enviado por e-mail.

do_action( 'wc_smart_checkout_link_request_sent', $url, $user );
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

Action disparada após o código de acesso de 6 dígitos ser enviado.

do_action( 'wc_smart_checkout_access_code_sent', $code, $user );

Action disparada quando ocorre erro no envio do link/código.

do_action( 'wc_smart_checkout_link_request_error', $error, $email );

wc_smart_checkout_do_not_restore_cart_on_access_link

Filter para impedir que o carrinho seja restaurado quando o cliente clica no link mágico.

add_filter( 'wc_smart_checkout_do_not_restore_cart_on_access_link', '__return_true' );

Order Bump

wc_smart_checkout_disable_order_bump_for_pay_page

Filter que controla se o Order Bump aparece na página de pagar pedido pública. Default: true (desabilitado).

add_filter( 'wc_smart_checkout_disable_order_bump_for_pay_page', '__return_false' );

wc_smart_checkout_customize_order_bump_fields / _sections

Filters para adicionar campos e seções no Customizer da configuração do Order Bump.

add_filter( 'wc_smart_checkout_customize_order_bump_sections', function( $sections ) {
  $sections['minha_secao'] = [
    'title' => 'Minha seção',
    'priority' => 50,
  ];
  return $sections;
});

Pagamento

wc_smart_checkout_payment_layout

Filter que controla o layout de pagamento (cards ou padrão).

add_filter( 'wc_smart_checkout_payment_layout', function() {
  return 'cards';
});

wc_smart_checkout_gateway_icon

Filter para customizar o ícone exibido para cada gateway.

add_filter( 'wc_smart_checkout_gateway_icon', function( $icon, $gateway ) {
  if ( $gateway->id === 'interpix' ) {
    return '<span class="gateway-badge">Imediato!</span>';
  }
  return $icon;
}, 100, 2 );

wc_smart_checkout_payment_methods_list

Filter para modificar a lista de gateways exibida.

add_filter( 'wc_smart_checkout_payment_methods_list', function( $methods ) {
  // remove gateways que você não quer exibir
  return $methods;
});

wc_smart_checkout_credit_card_icon_keys

Filter para customizar quais bandeiras de cartão aparecem.

add_filter( 'wc_smart_checkout_credit_card_icon_keys', function( $keys ) {
  $keys[] = 'elo';
  return $keys;
});

wc_smart_checkout_payment_discounts_apply_discount

Filter sobre o valor calculado de desconto por gateway.

add_filter( 'wc_smart_checkout_payment_discounts_apply_discount', function( $value, $cart ) {
  // ajustar o valor do desconto antes de aplicar
  return $value;
}, 10, 2 );

wc_smart_checkout_gateway_discounts_settings

Filter sobre as configurações de desconto por gateway.

Páginas de Pix e boleto

wc_smart_checkout_order_details_bank_slip_page

Filter para mostrar os detalhes do pedido na página de boleto. Default: false.

add_filter( 'wc_smart_checkout_order_details_bank_slip_page', '__return_true' );

Checkout

wc_smart_checkout_checkout_result

Filter sobre o resultado do checkout (após processamento).

add_filter( 'wc_smart_checkout_checkout_result', function( $result ) {
  return $result;
});

wc_smart_checkout_label_overlay

Filter sobre o estilo de label (overlay vs default).

wc_smart_checkout_default_logged_in_step

Filter sobre qual etapa exibir por padrão para clientes logados. Default: 'shipping_address'.

add_filter( 'wc_smart_checkout_default_logged_in_step', function() {
  return 'payment';
});

wc_smart_checkout_cart_total

Filter sobre o total do carrinho exibido no checkout.

add_filter( 'wc_smart_checkout_cart_total', function( $total, $cart ) {
  return $total;
}, 10, 2 );

wc_smart_checkout_allow_item_quantity_change

Filter sobre se o cliente pode alterar a quantidade de um item no checkout.

add_filter( 'wc_smart_checkout_allow_item_quantity_change', function( $allow, $item ) {
  return $allow;
}, 10, 2 );

wc_smart_checkout_quantity_input_min

Filter sobre quantidade mínima permitida (use 0 para permitir remover).

add_filter( 'wc_smart_checkout_quantity_input_min', '__return_zero' );

Endereço e frete

wc_smart_checkout_restrict_address_fields_length

Filter para controlar a limitação de tamanho dos campos número e complemento.

add_filter( 'wc_smart_checkout_restrict_address_fields_length', '__return_false' );

wc_smart_checkout_economic_express_selected_rates

Filter sobre as taxas de frete selecionadas (econômica/expressa).

add_filter( 'wc_smart_checkout_economic_express_selected_rates', function( $rates, $package ) {
  return $rates;
}, 10, 2 );

Personalização visual

wc_smart_checkout_after_header

Action para inserir conteúdo após o cabeçalho do checkout.

add_action( 'wc_smart_checkout_after_header', function() {
  echo '<div class="banner">Frete grátis acima de R$ 200</div>';
});

wc_smart_checkout_head

Action para inserir conteúdo no <head> da página do checkout.

add_action( 'wc_smart_checkout_head', function() {
  echo '<script>console.log("checkout carregado");</script>';
});

wc_smart_checkout_custom_style_url

Filter para carregar um arquivo CSS externo no checkout.

add_filter( 'wc_smart_checkout_custom_style_url', function() {
  return 'https://example.com/style.css';
});

wc_smart_checkout_custom_script_url

Filter para carregar um arquivo JS externo no checkout.

add_filter( 'wc_smart_checkout_custom_script_url', function() {
  return 'https://example.com/main.js';
});

wc_smart_checkout_main_style_url

Filter para substituir o estilo principal do checkout.

add_filter( 'wc_smart_checkout_main_style_url', function() {
  return 'https://example.com/main-style.css';
});

wc_smart_checkout_load_font

Filter para desativar o carregamento da fonte customizada.

add_filter( 'wc_smart_checkout_load_font', '__return_false' );

wc_smart_checkout_order_items_thumbnail

Filter sobre a imagem dos itens no resumo do pedido.

add_filter( 'wc_smart_checkout_order_items_thumbnail', function( $image, $cart_item ) {
  // customizar a imagem do item
  return $image;
}, 100, 2 );

Customizer

Cada seção do Customizer expõe dois filters: _fields e _sections. Eles permitem adicionar opções customizadas.

  • wc_smart_checkout_customize_general_fields / _sections
  • wc_smart_checkout_customize_advanced_fields / _sections
  • wc_smart_checkout_customize_login_fields / _sections
  • wc_smart_checkout_customize_testimonials_fields / _sections
  • wc_smart_checkout_customize_urgency_fields / _sections
  • wc_smart_checkout_customize_buttons_fields / _sections
  • wc_smart_checkout_customize_footer_fields / _sections
  • wc_smart_checkout_customize_header_fields / _sections

Exemplo:

add_filter( 'wc_smart_checkout_customize_general_fields', function( $fields ) {
  $fields['minha_opcao'] = [
    'type' => 'text',
    'label' => 'Minha opção',
    'section' => 'smart_checkout_general',
  ];
  return $fields;
});

Encontrar a origem de funções

Snippet útil para descobrir onde uma função foi definida (útil em conflitos):

if ( class_exists( 'ReflectionFunction' ) ) {
  $reflFunc = new ReflectionFunction( 'woocommerce_checkout_coupon_form' );
  echo $reflFunc->getFileName() . ':' . $reflFunc->getStartLine();
}

Veja também Snippets úteis e Tag de conversão.

Foi útil?