wpbrasil / odin

Framework and base theme for development with WordPress.
http://wpod.in
565 stars 195 forks source link

Fix Contact form Bugs - labels and upload error ( #317, #397, #321 and #430 ) #432

Closed AdsonCicilioti closed 7 years ago

AdsonCicilioti commented 7 years ago

Debuguei aqui e tava retornando Illegal offset tyepe na linha 107 da class_contact_form.php, geralmente causado por passar uma variável de uma array sem indicar um índice... Tudo que fiz foi indicar o índice text da array $label, necessário na construção dos dados submetidos para o corpo do email. Depois da atualização do pr #163 a variável $label passou a retornar um array e não mais uma string.

Testei aqui e funfou de boa.. Acho que isso resolve as issues #397 e #430 .

adammacias commented 7 years ago

Valeu @AdsonCicilioti ! Testei aqui o mesmo código do @thiagorezende #397 e funcionou ! ;)

fabianomaximiano commented 5 years ago

Bom dia, Tudo bem com voces, acabei de fazer um formulirio simples por sinal mas o que acontece, recebo na tela a confirmaçao de envio e tals mas o email nao esta chegando. O site esta hospedado na locaweb e voces podem ate ver o mesmo em produçao.

Codigo: function odin_contact_form() {

$form = new Odin_Contact_Form(
    'contact_form',
    'ti@frs.ind.br'
);

$form->set_fields(
    array(
        array(
            'fields' => array(
                array(
                    'id'          => 'sender_name', // Required
                    'label'       => array(
                        'text'      => __( 'Nome', 'odin' ), // Required
                    ),
                    'type'        => 'text', // Required
                    'required'    => true, // Optional (bool)
                    'attributes'  => array( // Optional (html input elements)
                        'placeholder' => __( 'Digite o seu nome' )
                    )
                ),
            )
        ),
        array(
            'fields' => array(
                array(
                    'id'          => 'sender_email', // Required
                    'label'       => array(
                        'text'      => __( 'E-mail', 'odin' ), // Required
                    ),
                    'type'        => 'email', // Required
                    'required'    => true, // Optional (bool)
                    'attributes'  => array( // Optional (html input elements)
                        'placeholder' => __( 'Digite o seu e-mail!' )
                    ),
                    //'description' => __( 'Precisa ser um endereço de e-mail válido;lido', 'odin' ) // Optional
                ),
                array(
                    'id'            => 'sender_fone',
                    'label'         => array(
                        'text'        => __('Telefone', 'odin'),

                    ),
                    'type'         => 'text',
                    'required'     =>  bool,
                    'attributes'   => array(

                        'placeholder' => __('Digite o numero do seu telefone!'),
                        'max'     => '10', //11 3033-6181

                    ),

                ),
                array(
                    'id'          => 'sender_message', // Required
                    'label'       => array(
                        'text'      => __( 'Mensagem', 'odin' ), // Required
                    ),
                    'type'        => 'textarea', // Required
                    'required'    => true, // Optional (bool)
                    'attributes'  => array( // Optional (html input elements)
                        'placeholder' => __( 'Digite a sua mensagem' )
                    ),
                ),
            )
        )
    )
);

$form->set_subject( __( 'Email enviado por [sender_name] <[sender_email]>', 'odin' ) );

$form->set_content_type( 'html' );

$form->set_reply_to( 'sender_email' );

return $form;

}

add_action( 'init', array( odin_contact_form(), 'init' ), 1 );

Link: http://frs.ind.br/contato/

Agradeço desde ja atenção e ajuda de todos.