Eu quero criar uma página personalizada para o meu blog WordPress que executará meu código PHP nele, permanecendo parte do CSS / tema / design geral do site.
O código PHP fará uso de APIs de terceiros (então eu preciso incluir outros arquivos PHP).
Como eu faço isso?
NB: Não tenho uma necessidade específica de interagir com a API do WordPress. Além de incluir outras bibliotecas PHP, não preciso ter outras dependências no código PHP que quero incluir em uma página do WordPress. Portanto, obviamente, qualquer solução que não exija o aprendizado da API do WordPress seria a melhor.
Respostas:
Você não precisa interagir com a API ou usar um plug-in.
Primeiro, duplique
post.php
oupage.php
na pasta do tema (em/wp-content/themes/themename/
).Renomeie o novo arquivo como
templatename.php
(onde nome do modelo é como você deseja chamar seu novo modelo). Para adicionar seu novo modelo à lista de modelos disponíveis, digite o seguinte na parte superior do novo arquivo:Você pode modificar este arquivo (usando PHP) para incluir outros arquivos ou o que você precisar.
Em seguida, crie uma nova página no seu blog WordPress e, na tela de edição da página, você verá um menu suspenso Modelo no widget Atributos à direita. Selecione seu novo modelo e publique a página.
Sua nova página usará o código PHP definido em
templatename.php
Fonte: Criando modelos de página personalizados para uso global
fonte
Se você deseja criar seu próprio arquivo .php e interagir com o WordPress sem 404 cabeçalhos e manter sua estrutura atual de link permanente, não há necessidade de um arquivo de modelo para essa página.
Eu descobri que essa abordagem funciona melhor no seu arquivo .php:
Depois, você pode simplesmente executar quaisquer funções do WordPress após isso. Além disso, isso pressupõe que seu arquivo .php esteja dentro da raiz do seu site WordPress, onde
wp-config.php
está localizado.Esta, para mim, é uma descoberta inestimável, já que eu estava usando
require_once(dirname(__FILE__) . '/wp-blog-header.php');
por mais tempo, pois o WordPress até diz que essa é a abordagem que você deve usar para integrar as funções do WordPress, exceto que causa 404 cabeçalhos, o que é estranho que eles gostariam você usar essa abordagem. Integrando o WordPress ao seu siteEu sei que muitas pessoas responderam a essa pergunta, e ela já tem uma resposta aceita, mas aqui está uma boa abordagem para um arquivo .php na raiz do seu site WordPress (ou tecnicamente em qualquer lugar que você quiser no seu site), no qual você pode navegar e carregar sem 404 cabeçalhos!
Atualização: existe uma maneira de usar
wp-blog-header.php
sem 404 cabeçalhos, mas isso requer que você os adicione manualmente. Algo assim funcionará na raiz da sua instalação do WordPress:Apenas para atualizar todos vocês sobre isso, é necessário um pouco menos de código para essa abordagem, mas cabe a você escolher qual deles usar.
fonte
wp-activate.php
precisa desativar o cabeçalho 404, configurando$wp_query->is_404 = false
ao ativar novos multisites usandorequire( dirname( __FILE__ ) . '/wp-blog-header.php' );
na parte superior desta página.wp-blog-header.php
abordagem definida em codex.wordpress.org/Integrating_WordPress_with_Your_Website do que ver o cabeçalho 404 nas ferramentas do inspetor de navegador.Se você é como eu, às vezes deseja fazer referência a funções do WordPress em uma página que não existe no CMS. Dessa forma, ele permanece específico do back-end e não pode ser excluído acidentalmente pelo cliente.
Isso é realmente simples de fazer, incluindo o
wp-blog-header.php
arquivo usando um PHPrequire()
.Aqui está um exemplo que usa uma string de consulta para gerar dados do Facebook Open Graph (OG) para qualquer postagem.
Tomemos o exemplo de um link como
http://example.com/yourfilename.php?1
onde1
está o ID de uma postagem para a qual queremos gerar dados OG:Agora, cujo conteúdo
yourfilename.php
, para nossa conveniência, está localizado no diretório raiz do WordPress:Aí está: modelos de compartilhamento gerados para qualquer publicação usando a imagem, o trecho e o título reais da publicação!
Poderíamos ter criado um modelo especial e editado a estrutura do permalink para fazer isso, mas como é necessário apenas para uma página e porque não queremos que o cliente a exclua do CMS, essa parece ser a opção mais limpa.
EDIT 2017: observe que essa abordagem agora está obsoleta
Para instalações do WordPress a partir de 2016 ou superior, consulte Como posso adicionar uma página PHP ao WordPress? para incluir parâmetros extras antes de enviar os dados da página para o navegador.
fonte
Criar a página do modelo é a resposta correta. Para isso, basta adicioná-lo à página criada dentro da pasta do tema:
Para executar esse código, você precisa selecionar "mytemplate" como modelo da página no back-end.
Consulte este link para obter os detalhes corretos https://developer.wordpress.org/themes/template-files-section/page-template-files/ .
fonte
Qualquer resposta não cobre se você precisa adicionar uma página PHP fora do Tema WordPress. Este é o caminho.
Você precisa incluir o wp-load.php.
Em seguida, você pode usar qualquer função do WordPress nessa página.
fonte
require_once('wp-load.php');
corretoCrie uma página chamada my-page.php e salve-a no diretório de temas. Agora, edite esse arquivo php e escreva a seguinte linha no topo da página
Escreva seu código PHP na linha de definição de página personalizada, você pode chamar seu outro modelo WP, funções dentro deste arquivo.
Comece como
<?php require_once("header.php");?>
OUde qualquer maneira que você esteja integrando seu cabeçalho e rodapé para manter o layout consistente.
Como esta é uma página minha, você precisa criar uma página no painel de administração do WordPress. Vá para Admin => Páginas => Adicionar novo
Adicione um título de página, dependendo de como você codificou a página personalizada, você também pode adicionar o corpo da página (descrição). Você pode pular completamente a descrição se ela estiver escrita na página php personalizada.
No lado direito, selecione Modelo. Escolha Minha página personalizada no menu suspenso. Estás pronto! Vá para a lesma (permalink) criada por [wordpress] [1] e veja a página.
fonte
A melhor maneira de adicionar páginas PHP em WordPress para
Page Template
nachild-theme
pasta.Como criar
Page Template
no WordPress.Crie um arquivo nomeado
template-custom.php
e coloque-o/wp-content/theme/my-theme/
.Para mais detalhes
fonte
Você vai querer dar uma olhada na API de plug-ins do WordPress.
Isso explica como "conectar" e "filtrar" as diferentes partes da mecânica do WordPress, para que você possa executar o código PHP personalizado praticamente em qualquer lugar a qualquer momento. Essa criação de código de conexão, filtragem e código personalizado pode ocorrer no seu arquivo functions.php em qualquer um dos seus temas. Feliz codificação :)
fonte
Se você não quiser lidar com a API do WordPress, a resposta de Adam é realmente a melhor.
Se você estava disposto a lidar com a API, sugeriria que se ligasse ao gancho "redirecionamento de modelo", o que permitiria apontar uma URL ou página específica para um arquivo PHP arbitrário enquanto ainda tivesse acesso ao WordPress.
fonte
A resposta amplamente aceita por Adam Hopkinson não é um método totalmente automatizado de criar uma página! Requer que o usuário crie manualmente uma página no back-end do WordPress (no painel wp-admin). O problema é que um bom plugin deve ter uma configuração totalmente automatizada. Não deve exigir que os clientes criem páginas manualmente.
Além disso, algumas das outras respostas amplamente aceitas aqui envolvem a criação de uma página estática fora do WordPress, que inclui apenas algumas das funcionalidades do WordPress para atingir o cabeçalho e rodapé com temas. Embora esse método possa funcionar em alguns casos, isso pode dificultar muito a integração dessas páginas com o WordPress sem incluir toda a sua funcionalidade.
Eu acho que a melhor abordagem, totalmente automatizada, seria criar uma página usando
wp_insert_post
e residindo no banco de dados. Um exemplo e uma ótima discussão sobre isso, e como evitar a exclusão acidental da página por um usuário, podem ser encontrados aqui: wordpress-automaticamente-Creating-pageSinceramente, estou surpreso que essa abordagem ainda não tenha sido mencionada como resposta a essa pergunta popular (ela foi publicada por 7 anos).
fonte
Tente o seguinte:
fonte
Além de criar um arquivo de modelo personalizado e atribuir esse modelo a uma página (como no exemplo da resposta aceita), também existe uma maneira com a convenção de nomenclatura de modelos que o WordPress usa para carregar modelos (hierarquia de modelos).
Crie uma nova página e use o slug dessa página para o nome do arquivo do modelo (crie um arquivo de modelo chamado page- {slug} .php ). O WordPress carregará automaticamente o modelo que se encaixa nessa regra.
fonte
Basta criar um
page-mytitle.php
arquivo para a pasta do tema atual e, no painel, uma página "mytitle" .Então, quando você invocar a página pelo URL, verá o page-mytitle.php. Você deve adicionar HTML, CSS, JavaScript, wp-loop, etc. a este arquivo PHP (
page-mytitle.php
).fonte
fonte
fonte
Você pode nomear seu arquivo "newpage.php" - coloque-o no diretório de temas em
wp-content
. Você pode torná-lo um modelo de página (consulte http://codex.wordpress.org/Pages ... ) Ou pode incluí-lo em um dos arquivos PHP em seu tema, como header.php ou single.php.Melhor ainda, crie um tema filho e coloque-o lá, para que você deixe o código do tema em paz e seja mais fácil atualizar.
http://codex.wordpress.org/Pages#Creating_Your_Own_Page_Templates
fonte
Você também pode usar diretamente a página PHP, como criar a página PHP e executar com o caminho completo.
Como, http: //localhost/path/filename.php
fonte