2
respostas

Arquivo php estático para uma página especifica.

Vou descrever uma situação de exemplo para o problema que imaginei:

Preciso criar um formulário de contato e este formulário irá enviar e-mails, não usarei nenhum plugin para isso. Eu iria criar uma nova página no painel do wordpress, entretanto no editor (até onde eu sei) não tem como colocar formulários. E no formulário, o que eu colocaria no action? No action eu precisaria colocar o script que envia o e-mail, onde eu colocaria esse script?

Existe alguma forma de o wordpress ao invés de buscar o arquivo page.php, busque o arquivo específico para aquela página? O instrutor mostrou a função "is_page()" que eu poderia utilizar para colocar código da página especifica dentro do page.php, mas aí todas as páginas teriam aquele código sem necessidade.

Que eu saiba é possível ter um arquivo single.php específico para um PostType.

E códigos que não são páginas, como um script de e-mail ou um script que cadastra o usuário na newsletter, eu não sei muito bem onde que eles entram.

2 respostas

Você pode fazer isso criando um template.

Basta criar um arquivo php dentro da pasta do seu tema, e colocar no começo o seguinte:

<?php
/*
Template Name: Nome do meu template
*/

//Programacao do seu arquivo
?>

No admin, quando você cria uma página, do lado direito tem uma caixa de seleção chamada "atributos da página". Lá tem um campo chamado "Modelo". Neste campo vai aparecer o nome do arquivo template que você criou.

Dentro deste arquivo template você pode colocar a programação para puxar o título , conteúdo e imagem digitadas no admin, da mesma forma que é feito em outras páginas. Exemplo:

<?php the_title();?>
        <?php 
        if (have_posts()) {
          while (have_posts()) {
            the_post_thumbnail(); 
            the_post();
            the_content(); 
          }
        } ?>

Desta forma você pode criar uma página com conteúdo diferente das demais.

Entendi, eu desconhecia esse recurso de modelo. No action do formulário o que eu colocaria?

action="<?= get_template_directory_uri() ?>/mail.php"

???

Quer mergulhar em tecnologia e aprendizagem?

Receba a newsletter que o nosso CEO escreve pessoalmente, com insights do mercado de trabalho, ciência e desenvolvimento de software