Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Erro formulario de contato / Classe Odin_Contact_Form: #454

Closed
fabianomaximiano opened this issue May 11, 2017 · 8 comments
Closed

Erro formulario de contato / Classe Odin_Contact_Form: #454

fabianomaximiano opened this issue May 11, 2017 · 8 comments
Labels

Comments

@fabianomaximiano
Copy link

Boa tarde, acabo de criar um formulario simples seguindo o exemplo basico do formulario com campos nome, email e mensagem.
Mas esta me retornando erro como esse, e como indicado que é proibido mecher no core.
solicito ajuda, uma vez que sou noobe na linguagem php.

Warning: Illegal offset type in /home/cmaxcomb/public_html/pizzaria/wp-content/themes/pizzaria/core/classes/class-contact-form.php on line 107

Warning: Illegal offset type in /home/cmaxcomb/public_html/pizzaria/wp-content/themes/pizzaria/core/classes/class-contact-form.php on line 107

Warning: Illegal offset type in /home/cmaxcomb/public_html/pizzaria/wp-content/themes/pizzaria/core/classes/class-contact-form.php on line 107

Warning: Cannot modify header information - headers already sent by (output started at /home/cmaxcomb/public_html/pizzaria/wp-content/themes/pizzaria/core/classes/class-contact-form.php:107) in /home/cmaxcomb/public_html/pizzaria/wp-includes/pluggable.php on line 1195

pra ver o exemplo funcionando segue link:
http://cmax.com.br/pizzaria/index.php/contato/

fico no aguardo.

@AdsonCicilioti
Copy link
Contributor

Qual versão do Odin vc está usando?

@fabianomaximiano
Copy link
Author

Bom dia, a versao 2.2.5,

@AdsonCicilioti
Copy link
Contributor

AdsonCicilioti commented May 15, 2017

Pedir para vc baixar a versão atual 2.3.0 pode não ser o ideal pressuposto que vc já deve ter personalizado bastante sua versão aí, certo?
Então faz o seguinte: pega apenas os arquivos class-contact-form.php e a pasta abstracts aqui do repositório oficial e substitui pelos que estão aí no seu tema. Sugiro fazer um backup destes arquivos antes de salvar os novos em seu tema.

Pegando esses arquivos vc pega as correções implementadas na pr #432

@rafaelreis96
Copy link

rafaelreis96 commented Jun 29, 2017

Descobri o Odin por acaso e gostei muito, e no meu projeto apareceu o mesmo erro já com a versão 2.3.0,
então fiz uma pequena alteração linha 105.

de:
$label = isset( $field['label'] ) ? $field['label'] : $id;
para:
$label = !isset( $field['label'] ) ? $field['label'] : $id;

Dai funcionou perfeitamente.

@mariovalney
Copy link
Contributor

mariovalney commented Jun 29, 2017

Ué... mas @rafael-reis se o field não estiver "setado" porque vai atribuí-lo a $label? Aí sim é que vai dar erro...

@rafaelreis96
Copy link

sim, ficou estranho e desnecessário atribuir o valor do else desse jeito, mas já evita o erro de índice do array e consegue o enviar o email.

@mariovalney
Copy link
Contributor

Não. O erro deve ser em outro lugar...

@rafaelreis96
Copy link

rafaelreis96 commented Jun 30, 2017

O valor de $field['label'] é outro array, então por isso dava erro, já que o índice só pode ser string ou int e não um array, então minha solução ficou assim:

isset($field['label'] ) ? $field['label']['text'] : $id;

não vai ter erros, e vai imprimi no corpo do E-mail os labels e values do form corretamente.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

No branches or pull requests

5 participants