Preciso criar um plug-in que disponibilize modelos de página personalizados no wp-admin. Gostaria de saber se alguém já resolveu isso, já que parece um processo bastante típico?
plugins
templates
page-template
jnthnclrk
fonte
fonte
Respostas:
Como Rarst respondeu, você pode realmente fazer isso sem editar os arquivos principais ou remover o metabox dos atributos da página e criar seu código usando o mesmo código com algumas modificações. o código abaixo é o código para o /admin/include/meta-boxes.php e adicionei um comentário para mostrar onde suas opções extras de modelo de página seriam:
Não sei se isso é uma correção no seu caso, mas eu tive um caso smiler quando precisei exibir o tipo de postagem em um tema embutido de plug-in e, para isso, usei
add_filter('the_content', 'my-function');
e minha função criou a saída a ser exibida.Outra opção seria fazer o seu plugin criar o arquivo de modelo no diretório de temas atual, algo como isto:
e você pode executar isso depois de verificar primeiro se o arquivo existe
Espero que isso ajude.
fonte
Não sei ao certo o que você está tentando alcançar, pelo menos por que você deseja que um plug-in faça isso.
O procedimento normal para criar modelos de página diferentes é:
Crie um novo modelo de página no diretório de temas ATIVO (faça uma cópia do page.php).
Mude o nome do modelo (dentro do arquivo).
/ * Nome do modelo: página de largura total * /
Mude o código da página para o que você está tentando alcançar.
Agora você pode criar uma nova página e escolher qual "Modelo" usar.
...
Espero que seja isso que você está tentando alcançar?
Documentação oficial aqui: http://codex.wordpress.org/Pages#Creating_Your_Own_Page_Templates
fonte
Isso parece ser bastante difícil de alcançar.
get_page_templates()
A função descarta ativamente qualquer coisa que não esteja localizada nos diretórios raiz pai e filho. Também não armazena na variável global ou permite filtrar a lista de modelos gerada.Acho que a meta-caixa de atributos da página precisará ser bifurcada e completamente substituída para isso. E não tenho certeza se será possível mesmo assim.
Concordo que isso parece algo que faz sentido, mas o código do WordPress é muito preciso, pois quer que os modelos nomeados venham apenas do diretório do tema.
fonte
Não está fazendo isso uma das razões que
register_theme_directory()
foram introduzidas?http://core.trac.wordpress.org/ticket/10467
Na época, era um problema relacionado ao BuddyPress, que queria lançar modelos extras aqui e ali.
Entendo que eles não estão listados corretamente como modelos de página:
http://core.trac.wordpress.org/ticket/15803
fonte