Quando você ativa um tema wordpress, é sempre um aborrecimento descobrir qual arquivo deve ser alterado. Alguma idéia de como simplificar as coisas?
Mas, por outro lado, considerando a funcionalidade get_template_part, isso pode ser impossível. O que você disse?
Respostas:
Conecte-se a
template_include
, defina um global para observar o modelo definido pelo tema e, em seguida, leia esse valor novamente no rodapé ou cabeçalho para ver qual modelo está sendo chamado para uma determinada visualização.Eu falei sobre esse gancho de filtro antes em Obter o nome do arquivo de modelo atual , mas pegue uma cópia desse código e digite-o no
functions.php
arquivo do seu tema .Em seguida, abra o tema
header.php
oufooter.php
(ou onde quiser) e use algo como o seguinte para imprimir o modelo atual.Se você quiser usar isso em um site de produção e manter essas informações longe dos usuários não administradores, adicione um pouco de lógica condicional.
Agora você pode acompanhar quais visualizações estão usando qual modelo, mantendo essas informações longe dos visitantes.
fonte
get_page_template
Bem, se tudo o que você deseja é verificar qual arquivo de modelo foi usado para gerar a página atual, não será necessário sujar as mãos com código;)
Existe um plugin útil chamado Barra de Depuração . É um grande auxiliar em muitas situações, incluindo a sua. Você definitivamente deveria dar uma olhada - para mim e para muitos outros, é um companheiro indispensável para qualquer desenvolvimento de WP.
Anexei uma captura de tela que pode fazer você se apaixonar ...
Para que a Barra de Depuração funcione , é necessário ativar
wp_debug
ewp_savequeries
opções. Essas opções estão no estado desativado por padrão.Antes de fazer alterações, porém, há alguns pontos a serem lembrados:
Para fazer as alterações:
wp_config.php
arquivo através de um cliente ftp.wp_debug
opção Edite paradefine( 'WP_DEBUG', true );
. Se a linha não estiver presente, adicione-a ao arquivo.define( 'SAVEQUERIES', true );
ao arquivo.Mais informação: Codex
fonte
WP_DEBUG
eSAVEQUERIES
, embora seja aprimorado por eles.Eu uso essa função útil que exibe o modelo atual apenas para superadministradores:
Espero que ajude. :)
fonte
Adicione o seguinte código logo após a linha get_header em cada arquivo de modelo relevante:
No seu navegador> visualize a fonte e o nome do modelo será exibido como um comentário no seu código html, por exemplo,
fonte
A maneira mais fácil que encontrei é incluir a função WordPress na etiqueta do corpo. Ele adicionará várias classes, dependendo da página que você está visualizando (página inicial, página por página, etc.).
Confira aqui: http://codex.wordpress.org/Function_Reference/body_class
Além disso, é útil para segmentar elementos com CSS nessas páginas.
Conhecer a Hierarquia de modelos (http://codex.wordpress.org/Template_Hierarchy) como David R mencionou também é uma boa idéia.
fonte
Há outro plug-in mais básico especificamente para esse fim. Estou inclinado a instalar a barra de depuração, porque esses outros recursos parecem úteis, mas esse é mais básico e específico para esse fim: http://wordpress.org/extend/plugins/what-the-file/
fonte
Uma coisa muito simples que faço é inserir um comentário HTML identificando o arquivo de modelo em cada arquivo relevante do tema, por exemplo, na parte superior do index.php.
e no topo do front-page.php
Mas, obviamente, isso requer a modificação do tema. Eu suspeito que você poderia adicionar uma função personalizada no arquivo footer.php ou header.php que informaria qual arquivo estava sendo usado. O método acima e o quadro de referência http://codex.wordpress.org/Template_Hierarchy são os que eu costumo usar.
fonte
Existe um plugin chamado Theme Check que faz exatamente isso. Ele exibe o nome do arquivo de modelo atual em uso como um comentário HTML.
fonte
Aqui está:
Uma lista HTML com todos os arquivos de modelo em uso na página de destino atual, incluindo todas as partes do modelo de plug-ins, tema filho e / ou combinações de tema pai , tudo em uma linha de código:
Você pode precisar verificar se o servidor não retorna barras duplas em nenhum caminho . Lembre-se de colocá-lo depois que todos os arquivos de modelo foram realmente usados, como no footer.php, mas antes da barra de administração renderizar .
se o
admin-bar stuff
caminho estiver aparecendo na parte superior ou em qualquer outro arquivo, altere o nome do arquivotemplate-loader.php
nesta linha de código para: qualquer nome de arquivo do qual você precise interromper. Frequentemente:class-wp-admin-bar.php
se você precisar disso na barra de administração, use a prioridade certa (antes) para garantir que nenhum arquivo seja inserido no final desta lista. Por exemplo:
prioridade
-5
faça com que ele carregue primeiro. A chave é ligarget_included_files()
no momento certo, caso contrário, é necessário algum pop-array!Para terminar:
Você não pode coletar todos os arquivos de modelo incluídos sem o retorno do PHP. Superglobais dentro
template_include
não vão colecioná-los todos . A outra maneira é "colocar um marcador" em cada arquivo de modelo, mas se você precisar interagir primeiro com os arquivos, discordará do tempo e de toda a idéia.1) Precisamos verificar dentro de todos os arquivos que foram usados pela solicitação atual do Wordpress. E eles são muitos! Não se surpreenda se você estiver usando 300 arquivos antes que o seu functions.php seja registrado.
Estamos usando o get_included_files () nativo do PHP, convertendo barras invertidas em barras invertidas para corresponder à maioria dos caminhos de retorno do Wordpress.
2) Estamos cortando essa matriz de onde o template-loader.php está registrado. Depois disso, os get_included_files () preenchidos devem ter apenas arquivos de modelo preenchidos.
3) Diminua os resultados, não precisamos do caminho até que a pasta de temas ou a pasta de plugins, como modelos em uso, possam ser misturados a partir de plugins, pastas de temas ou de temas filhos.
4) Finalmente, converta da matriz para uma boa lista HTML
Uma última modificação pode ser necessária em part3) -replacement , se você não deseja incluir os plugins. Eles podem ligar
class-files
tarde e "interceptar" durante o processamento da saída do modelo.No entanto, achei razoável deixá-los visíveis, pois a idéia é rastrear o que foi carregado , mesmo que não seja um "modelo" que renderize a saída nesse estágio.
fonte