Suporte » Plugins » Campo novo depois do sobrenome

  • Gostaria de adicionar um campo novo no checkout INSS ele ficaria depois do sobrenome e antes do CPF do plugin do claudio estou usando o seguinte codigo abaixo
    add_action( 'woocommerce_after_billing_last_name', 'campo_inss');
    ele assim não funciona apenas com o codigo abaixo
    add_action( 'woocommerce_after_order_notes', 'campo_inss' );

    o codigo inteiro dele vou colocar abaixo caso tenho alguma coisa errada em outro lugar

    https://pastebin.com/WPGrnnZN

    • Este tópico foi modificado 6 anos, 9 meses atrás por Mário Valney.
Visualizando 6 respostas - 1 até 6 (de um total de 6)
  • Moderador Mário Valney

    (@mariovalney)

    WordPress Cleric of Fire

    Olá, tudo bem?

    Imagino que a action woocommerce_after_billing_last_name não existe. Poderia dizer de onde tirou ela?

    Uma solução seria usar o filtro wcbcf_billing_fields (se estiver usando o plugin Extra Checkout Fields for Brazil).

    Basta receber a array dos campos e adicionar a ‘inss’ depois de ‘billing_last_name’. Nesse link ensina como inserir um elemento depois de outro numa array.

    Isso é para o front-end. O que mais precisa ser feito você pode ler na documentação do WooCommerce:
    https://docs.woocommerce.com/document/tutorial-customising-checkout-fields-using-actions-and-filters/

    E para entender qual o valor que vai inserir na array você pode ver como estão os outros elementos dela debugando ou analisando o código do plugin do Cláudio.

    Abraços

    Criador do tópico fabianomoier

    (@fabianomoier)

    Boa tarde!! Mario na verdade foi criação minha mesmo desculpe fui meio q na logica por ter o codigo abaixo funcionado
    add_action( 'woocommerce_after_order_notes', 'campo_inss' );
    imaginei que trocando order_notes pela lista que tem na doocumentação ( billing_first_name, billing_last_name, billing_company, billing_address_1, billing_address_2, billing_city, billing_postcode, billing_country, billing_state, billing_email, billing_phone ) ele trocaria, pensei que estipulando order por billing seria a seção e notes por _last_name conseguiria, seguindo assim não tem como? Vou ver o plugin do claudio e tentar seguir a trilha dele e add, e que não queria muito complexidade para adicionar apenas um campo na verdade da forma usando
    add_action( 'woocommerce_after_order_notes', 'campo_inss' );
    consigo usar apenas ele fica la em Order e não depois do campo sobrenome alterar apenas essas ordem não tem outra forma mais simples de eu capturar o “campo_inss” e add ele depois do campo “billing_last_name”

    Moderador Mário Valney

    (@mariovalney)

    WordPress Cleric of Fire

    Seguindo assim não tem como?

    Creio que não. Não achei nenhuma action com o nome do field.

    Não entendi o resto do que você quis dizer.

    Abraços

    • Esta resposta foi modificada 6 anos, 9 meses atrás por Mário Valney.
    Criador do tópico fabianomoier

    (@fabianomoier)

    Na verdade eu criei o campo INSS ele funciona so que ele fica la no final queria apenas mudar a ordem colocar ele depois de sobrenome

    Moderador Mário Valney

    (@mariovalney)

    WordPress Cleric of Fire

    Pode tentar com javascript talvez, mas é meio que uma gambiarra.
    O modo correto seria adicionar o campo ao filtro como eu comentei.

    Abraços

    Criador do tópico fabianomoier

    (@fabianomoier)

    Mario obrigado pela ajuda vou estudar a documentação do que me passou e ver para fazer da forma correta!!
    Agora que comecei a mexer surgiu mais uma duvida queria colocar um checkbox com multipla escolhas de disponibilidade Segunda (Manha, Tarde, Noite) pegando alguns exemplos acredito que seria assim mais so acaba saido um label


    function campo_horario_seg ($checkout){
    woocommerce_form_field( 'campo_horario_seg', array(
    'type' => 'checkbox',
    'class' => array( 'select-seg-horario' ),
    'input_class' => array( 'input-seg-horario' ),
    'clear' => true,
    'label' => __('Manha'),
    'label' => __('Tarde'),
    'label' => __('Noite'),
    'required' => true,
    'priority' => 30,
    ), $checkout->get_value( 'campo_horario_seg' ));

    }

Visualizando 6 respostas - 1 até 6 (de um total de 6)
  • O tópico ‘Campo novo depois do sobrenome’ está fechado para novas respostas.