0
Como colocar um formulário de contato no wordpress sem o uso de plugin
Posted by Neusa Rodrigues
on
06:30
in
Formulário de Contato
Nada contra plugins, são muito bons, mas em determinadas situação é bom evitar, na minha opinião formulário de contato é uma delas, pois evita de ficar carregando o script do formulário em todas as página, desta forma que vou mostrar o script só carrega na própria página de contato. E para isso acontecer vamos criar um template especifico para página de contato.
Todos templates do wordpress tem o arquivo “page.php”, ele é o arquivo responsável em exibir todas páginas separadas, sabendo disto vamos fazer o seguinte: Entre na pasta do template, faça uma copia do “page.php” e romei-a para “contato.php” e abra a mesma em seu editor.
No topo dela vai ter o seguinte comentário.
/**2.* The template for displaying all pages.3.* ...4.*/
Mude para:
1./**2.* The template name: Contato3.* ...4.*/Este “The template name: Contato” é a linha que vai fazer toda a diferença, com isso este template vai aparecer na lista de “modelos” de página para selecionar.
< ?php02.function h($str) {03.return htmlentities($str);04.}05. 06.function noempty($str) {07.if (preg_match('/[a-z]/', $str))08.return true;09.else10.return false;11.}12. 13.if (isset($_POST['enviar'])) {14.if (!noempty($_POST['nome']) or !noempty($_POST['assunto']) or!is_email($_POST['email']) or !noempty($_POST['msg'])) {15.$_SESSION['info'] = 'Preencha todos campos corretamente.';16.}17. 18.else {19.$headers = 'From: ' . $_POST['email'] . "\r\n" .20.'Reply-To: ' . $_POST['email'] . "\r\n" .21.'X-Mailer: PHP/' . phpversion();22. 23.if(@mail(get_bloginfo('admin_email'), $_POST['assunto'], $_POST['msg'],$headers)) {24.$_SESSION['info'] = 'E-mail enviado com sucesso.';25.header('Location: http://' . $_SERVER['SERVER_NAME'] .$_SERVER['REQUEST_URI']);26.exit;27.} else {28.$_SESSION['info'] = 'Erro no servidor.';29.}30.}31.}32.?>01.<form method="post" action="" class="contato">02.< ?php03.if (isset($_SESSION['info'])) {04.echo '<div class="info">' . $_SESSION['info'] . '';05.unset($_SESSION['info']);06.}07.?>08.<div>09.<label for="nome">* Nome</label><br />10.<input type="text" name="nome" value="<?php echo h(@$_POST['nome']) ?/>" id="nome" />11.</div>12.<div>13.<label for="email">* E-mail</label><br />14.<input type="text" name="email" value="<?php echo h(@$_POST['email']) ?/>" id="email" />15.</div>16.<div>17.<label for="assunto">* Assunto</label><br />18.<input type="text" name="assunto" value="<?php echo h(@$_POST['assunto']) ?/>" id="assunto" />19.</div>20.<div>21.<label for="msg">* Mensagem</label><br />22.<textarea name="msg">< ?php echo h(@$_POST['msg']) ?></textarea>23.</div>24.<div>25.<input type="submit" name="enviar" value="Enviar" />26.</div>27.</form>
E está pronto, é só editar ou criar a página de contato e na hora de salvar selecionar o modelo “contato” nas opções “Atributos de Página”. Este é só um exemplo você pode faze o formulário como desejar.
[update]: Formulário de contato melhorado.
referência: http://www.pinceladasdaweb.com.br/blog/2010/10/15/como-colocar-um-formulario-de-contato-no-wordpress-sem-o-uso-de-plugin/

Postar um comentário