Qual é a constante WP_USE_THEMES?

35

Em relação à WP_USE_THEMESconstante, o Codex declara :

Se você estiver usando o Loop dentro de seu próprio design (e seu próprio design não é um modelo), defina WP_USE_THEMES como false.

Mas qual é o efeito real no WordPress de WP_USE_THEMESser definido como verdadeiro ou falso? Gostaria de saber como é usado pelo WP.

mikkelbreum
fonte

Respostas:

35

Isso é usado apenas template-loader.phppara determinar se ele deve carregar um arquivo de tema ou não. A "sequência de inicialização" normal do WordPress (iniciada em wp-blog-header.php) carrega os plugins, analisa a URL, executa uma consulta pós-baseada na URL e chama o tema. Esta consulta principal é normalmente usada em "The Loop". Portanto, se você deseja todas as vantagens da análise de URL, mas não a exibe usando o tema do site, pode definir WP_USE_THEMEScomo falsee ele não executará a etapa final.

Jan Fabry
fonte
Obrigado Jan, estudarei esses arquivos ainda mais para obtê-lo completamente.
Mikkelbreum
11
Apenas para esclarecer, o functions.phparquivo do tema ativo ainda será carregado. Somente os modelos de tema não são carregados.
JD
3
Qual seria um exemplo prático de uma situação em que isso é usado? Por que alguém iria querer impedir o carregamento do tema?
Alexander Rechsteiner
2
@AlexanderRechsteiner: Talvez você tenha implementado uma ação de back-end, que não deve retornar uma resposta HTML completa. Semelhante a como o cron é implementado ou uma API que retorna os dados em outro formato?
Jan Fabry
Apenas para adicionar à resposta nos comentários: presumivelmente, isso entraria em jogo se o WordPress fosse usado sem cabeça (por exemplo, via wp-cli).
Loren Rosen
0

Com base nessa linha da documentação do The Loop:

<?php define( 'WP_USE_THEMES', false ); get_header(); ?>

eu assumiria que o objetivo WP_USE_THEMESdeste exemplo é executar manipuladores de ações registrados no get_headergancho, mas na verdade não executar o arquivo de modelo de cabeçalho.

Kevin Wheeler
fonte