splash_page_template_chooser

Quer um formulário de contato fácil e rápido para o seu blog WordPress? Basta criar um template para fazer isso sem precisar de plugins.

Salve o código com qualquer nome, por exemplo contato.php, e envie para a pasta do seu tema. Depois basta criar a página onde quer o formulário e selecionar o template Contato na lateral da página.

Lembre de inserir as divs necessárias para que o código se adapte ao layout do seu site.

<?php
/*
Template Name: Contato
*/
?>

<?php
if(isset($_POST['submitted'])) {
if(trim($_POST['contactName']) === '') {
$nameError = 'Digite o seu nome.';
$hasError = true;
} else {
$name = trim($_POST['contactName']);
}

if(trim($_POST['email']) === '') {
$emailError = 'Digite o seu email.';
$hasError = true;
} else if (!preg_match("/^[[:alnum:]][a-z0-9_.-]*@[a-z0-9.-]+.[a-z]{2,4}$/i", trim($_POST['email']))) {
$emailError = 'Digite um email válido.';
$hasError = true;
} else {
$email = trim($_POST['email']);
}

if(trim($_POST['comments']) === '') {
$commentError = 'Digite um comentário.';
$hasError = true;
} else {
if(function_exists('stripslashes')) {
$comments = stripslashes(trim($_POST['comments']));
} else {
$comments = trim($_POST['comments']);
}
}

if(!isset($hasError)) {
$emailTo = get_option('tz_email');
if (!isset($emailTo) || ($emailTo == '') ){
$emailTo = get_option('admin_email');
}
$subject = 'Mensagem de '.$name;
$body = "Nome: $name nnEmail: $email nComentário: $comments";
$headers = 'From: '.$name.' <'.$emailTo.'>' . "rn" . 'Reply-To: ' . $email;

wp_mail($emailTo, $subject, $body, $headers);
$emailSent = true;
}

} ?>
<?php get_header(); ?>
<?php if (have_posts()) : while (have_posts()) : the_post(); ?>
<h1 class="entry-title"><?php the_title(); ?></h1>
<?php if(isset($emailSent) && $emailSent == true) { ?>
<p>Email enviado com sucesso.</p>
<?php } else { ?>
<?php the_content(); ?>
<?php if(isset($hasError) || isset($captchaError)) { ?>
<p class="error">Ocorreu um erro.<p>
<?php } ?>
<form action="<?php the_permalink(); ?>" id="contactForm" method="post">
<label for="contactName">Nome:</label>
<input type="text" name="contactName" id="contactName" value="<?php if(isset($_POST['contactName'])) echo $_POST['contactName'];?>" />
<?php if($nameError != '') { ?>
<span class="error"><?=$nameError;?></span>
<?php } ?>
<label for="email">Email</label>
<input type="text" name="email" id="email" value="<?php if(isset($_POST['email'])) echo $_POST['email'];?>" />
<?php if($emailError != '') { ?>
<span class="error"><?=$emailError;?></span>
<?php } ?>
<label for="commentsText">Mensagem:</label>
<textarea name="comments" id="commentsText" rows="20" cols="30"><?php if(isset($_POST['comments'])) { if(function_exists('stripslashes')) { echo stripslashes($_POST['comments']); } else { echo $_POST['comments']; } } ?></textarea>
<?php if($commentError != '') { ?>
<span class="error"><?=$commentError;?></span>
<?php } ?>
<input type="submit" value="Enviar mensagem">
<input type="hidden" name="submitted" id="submitted" value="true" />
</form>
<?php } ?>
<?php endwhile; endif; ?>
<?php get_sidebar(); ?>
<?php get_footer(); ?>

Dica vinda do Cats Who Code

Quer mais conteúdo como este?

Dicas para blog, SEO, marketing, redes sociais e mutio mais...

Invalid email address
Sem spam e você cancela quando quiser.

Este artigo tem 7 comentários

  1. Moises Responder

    Ola
    tem um problema aqui
    $headers = ‘From: ‘.$name.’ ‘ . “rn” . ‘Reply-To: ‘ . $email;

    quando vamos retornar o email fica tudo (todos os email’s) misturado no campo para

    Obrigado

  2. Marcos Lingner Responder

    Olá! Como eu faço para enviar os email para todos os administradores? tentei criar mais um usuário do tipo administrador e não foi.. Obrigado

  3. Marcelo Araujo Responder

    Em primeiro lugar, obrigado por disponibilizar o conhecimento.

    Amigo, temo como adicionar uma opção de departamentos, por exemplo, selecionar enviar para Financeiro, Suporte, Outros assuntos

    Valeu!

  4. Marcus Responder

    Se alguém puder me ajudar tenho um contato em meu site no WordPress porém na hospedagem onde desenvolvo o contato funciona e entrega o e-mail mas na Locaweb que é a hospedagem do cliente não funciona já entrei em contato com eles muitas vezes e nada. Fico no aguardo

Comente

O seu endereço de e-mail não será publicado. Campos obrigatórios são marcados com *