Como criar um modelo wordpress sem usar qualquer página

Não tenho certeza de que o WordPress foi criado para isso, mas é isso que eu estou tentando alcançar:

  • Eu quero fazer um URL específico dentro do WordPress acessível, por exemplo www.example.com/some-template .
  • Este URL específico deve ser editável a partir de um arquivo php, parte de um tema WordPress existente em que estou trabalhando, algo como some-template.php )
  • Esta é a parte complicada: eu não quero que os usuários de wordpress possam ver ou usar este modelo no menu suspenso de modelos personalizados ao editar uma página. Eu não quero que exista uma página específica para que isso funcione. Este modelo deve funcionar sem qualquer página (não estou interessado em criar uma página e escondê-la, ou esconder o modelo).

A razão pela qual eu estou tentando fazer isso, é que eu quero ter um modelo específico que junte algumas páginas e menus da wordpress e crie algum tipo de “visão personalizada” que é puxada a cada poucas horas para outro site. Tudo faz parte de uma imagem maior (os detalhes não são tão importantes).

Durante a pesquisa, eu só descobri que é possível criar modelos personalizados para pelo menos uma página, mas essa página deve existir no wordpress para que o modelo funcione.

Alguém tem uma idéia de como conseguir isso?

Solutions Collecting From Web of "Como criar um modelo wordpress sem usar qualquer página"

Você pode usar a ação template_redirect :

 add_action( 'template_redirect', 'wpse131387_template_redirect' ); function wpse131387_template_redirect( ){ if ($_SERVER['REQUEST_URI'] == '/some-template') { global $wp_query; $wp_query->is_404 = false; status_header(200); include(dirname(__FILE__) . '/some-template.php'); exit(); } } 

Você poderia fazê-lo da maneira muito simples, colocando seu arquivo some-template.php no diretório raiz da sua instalação do WordPress.

Adicionando isso ao seu .htaccess , usará o some-template.php para a URL www.mysite.com/some-template

 RewriteRule ^some-template$ ./some-template.php$1 

Em seu some-template.php você carrega WordPress, incluindo wp-load.php

 include('wp-load.php'); //all your custom goodies 

Agora você tem access a todas as funções do WordPress e não precisa ter uma página no database.

Esteja ciente de que, se alguém criar uma página de some-template , você pode obter um erro, pois a página não está visível devido ao seu arquivo personalizado.