Salvar campos de checkout personalizados usando wooCommerce_checkout_update_order_meta

Publicados: 2025-07-01

A personalização da compra do WooCommerce é uma necessidade comum, especialmente quando você deseja coletar detalhes extras de seus clientes. Seja uma nota especial ou uma entrada personalizada, como uma instrução de entrega, o WooCommerce permite salvar esses campos no pedido. Neste guia, você aprenderá como adicionar dois novos campos e armazenar seus valores usando a ação woocommerce_checkout_update_order_meta . Além disso, mostraremos como um plug -in como o Flexible Checkout Fields Pro pode facilitar tudo.

Vamos andar passo a passo como armazenar a meta de pedido personalizada no WooCommerce.

O que é a personalização de checkout no WooCommerce e como os dados do pedido são processados?

O processo de checkout do WooCommerce envolve várias etapas importantes. Quando um cliente preenche o formulário e acerta o 'pedido do local', o WooCommerce valida os dados, armazena informações de cobrança/envio e aciona ganchos que os desenvolvedores podem usar para armazenar dados extras.

Por padrão, apenas campos padrão como nome, email e endereço são salvos.

Mas você pode estender isso usando o filtro woocommerce_checkout_fields para adicionar campos personalizados ao formulário.

Então, com a ação woocommerce_checkout_update_order_meta , você pode salvar seus valores como meta de ordem .

Isso é particularmente útil quando você deseja incluir coisas como mensagens -presente, preferências de entrega ou instruções personalizadas.

Você pode até exibir esses dados posteriormente no painel de administração, emails ou páginas de agradecimento.

Como adicionar e salvar campos personalizados usando o código no wooCommerce?

Digamos que você queira coletar duas informações adicionais:

  • Uma entrada de texto personalizada ("texto personalizado")
  • Uma mensagem de textarea ("mensagem personalizada")

Veja como fazer isso.

O código abaixo com woocommerce_checkout_fields e woocommerce_checkout_update_order_meta Ações devem ser adicionadas às funções do tema.php para mostrar novos campos de checkout e salvar os dados como meta de ordem.

1. Adicione os campos personalizados ao formulário de checkout

 add_filter('woocommerce_checkout_fields', 'add_custom_checkout_fields'); function add_custom_checkout_fields($fields) { $fields['billing']['custom_text_field'] = array( 'type' => 'text', 'label' => __('Custom Text', 'woocommerce'), 'required' => false, 'priority' => 110, ); $fields['billing']['custom_message_field'] = array( 'type' => 'textarea', 'label' => __('Custom Message', 'woocommerce'), 'required' => false, 'priority' => 120, ); return $fields; }
Adicionando campos personalizados ao exemplo do WooCommerce Checkout Exemplo
Adicionando campos personalizados ao exemplo do WooCommerce Checkout Exemplo

2. Salve os valores de campo na meta do pedido

 add_action('woocommerce_checkout_update_order_meta', 'save_custom_checkout_fields'); function save_custom_checkout_fields($order_id) { if (!empty($_POST['custom_text_field'])) { update_post_meta($order_id, '_custom_text_field', sanitize_text_field($_POST['custom_text_field'])); } if (!empty($_POST['custom_message_field'])) { update_post_meta($order_id, '_custom_message_field', sanitize_textarea_field($_POST['custom_message_field'])); } }

Agora, ambos os campos aparecerão no painel de administração nos campos personalizados do pedido.

Exemplo personalizado de texto e textarea nos detalhes do pedido
Exemplo personalizado de texto e textarea nos detalhes do pedido
Você também pode personalizar o código para validar dados ou permitir sua edição com woocommerce_wp_text_input e woocommerce_wp_textarea_input Funções nos detalhes do pedido dentro da div com class = "edit_address" So Hidden antes de editar.

Essa abordagem funciona bem, mas requer algum conhecimento de codificação.

Ele também possui limitações quando se trata de validação, tipos de campo ou exibição de dados condicionalmente.

É aí que entra campos flexíveis de checkout.

Por que usar campos de check -out flexíveis Pro em vez de escrever código personalizado?

Ao codificar seus próprios campos e salvá-los com a ação woocommerce_checkout_update_order_meta fornece controle total, nem sempre é a solução mais eficiente ou segura, especialmente para não desenvolvedores.

É aí que o plug -in Flexível dos campos de checkout se torna uma opção mais fácil e rápida.

Adicionando campos personalizados ao formulário de check -out de wooCommerce com campos de check -out flexíveis pro Exam
Adicionando campos personalizados ao formulário de check -out de wooCommerce com campos de check -out flexíveis pro Exam
Há uma versão gratuita disponível em WordPress.org: Flexible Checkout Cields - Grátis, que é perfeito para o gerenciamento básico de campo. No entanto, a versão Pro oferece muito mais flexibilidade.
Exibir campos em páginas específicas - Configurações de plug -in em campos de check -out flexíveis wooCommerce
Exibir campos em páginas específicas - Configurações de plug -in em campos de check -out flexíveis wooCommerce

Aqui estão 5 recursos de destaque que tornam o check -out Flexible Fields Pro que vale a pena usar:

  • Drag & Drop Field Manager - Não é necessário escrever funções PHP. Basta arrastar e reordenar os campos diretamente no Admin WordPress.
  • Variedade dos tipos de campo - Adicione texto, textarea, selecione, rádio, caixa de seleção, seletor de data, hora e muito mais.
  • Regras de exibição - mostre ou oculte campos com base no método de envio/pagamento selecionado ou condições de carrinho.
    Condições para campos de formulário personalizado em campos de checkout flexíveis Pro wooCommerce
    Condições para campos de formulário personalizado em campos de checkout flexíveis Pro wooCommerce
  • Validação predefinida -Defina facilmente campos necessários e use opções de validação internas sem funções personalizadas.
  • Preço - Preço adicional por campos de check -out.
    Preço adicional por exemplo de campo de campo em campos flexíveis de checkout pro wooCommerce
    Preço adicional por exemplo de campo de campo em campos flexíveis de checkout pro wooCommerce

Em vez de registrar manualmente os campos e salvar meta dados com woocommerce_checkout_update_order_meta , você obtém uma interface completa.

Além disso, todos os valores de campo salvos aparecem perfeitamente no resumo da ordem e em e -mails.

Se você está procurando uma solução escalável de longo prazo para lidar com campos de check-out personalizados e salvar dados para solicitar meta , este plugin economiza horas de codificação e manutenção.

Campos de check -out flexíveis pro wooCommerce £ 59

Edite, adicione novos campos desnecessários do formulário WooCommerce Checkout. Adicione preços aos campos e use a lógica condicional. É tudo sobre conversões e melhor experiência do usuário. NOVO: Agora você pode definir várias condições (ou) em um ou mais grupos de condições (e).

Instalações ativas: 90.000+ | Classificação WordPress:

Adicionar ao carrinho ou visualize detalhes
90.000 mais de instalações ativas
Última atualização: 2025-06-23
Trabalha com WooCommerce 9.6 - 9.9

woocommerce_checkout_update_order_meta vs plugin: qual método você deve escolher?

Se você estiver criando uma integração personalizada ou tiver requisitos muito específicos, então woocommerce_checkout_update_order_meta combinado com woocommerce_checkout_fields é um caminho poderoso e confiável.

No entanto, se você deseja uma maneira mais fácil de personalizar seu check-out e evitar o código completamente, o plug-in Flexível dos campos de checkout é um item obrigatório.

Ele acelera seu fluxo de trabalho e remove as suposições da edição do seu check -out wooCommerce.

Resumo

  • Use woocommerce_checkout_fields para adicionar novos campos de checkout.
  • Use woocommerce_checkout_update_order_meta para salvar esses campos para solicitar meta.
  • O código personalizado fornece flexibilidade, mas requer suporte e teste contínuos.
  • Os campos de checkout flexíveis Pro permitem gerenciar visualmente os campos com opções avançadas.
  • Também há uma versão gratuita se você precisar apenas de edição básica de campo.