A cosa serve la costante WP_USE_THEMES?


35

Per quanto riguarda la WP_USE_THEMEScostante, il Codice afferma :

Se stai usando The Loop all'interno del tuo design (e il tuo design non è un modello), imposta WP_USE_THEMES su false.

Ma qual è l'effetto reale su WordPress WP_USE_THEMESdall'essere impostato su vero o falso? Vorrei sapere come viene utilizzato da WP.

Risposte:


35

Viene utilizzato solo in template-loader.php, per determinare se caricare o meno un file di temi. La normale "sequenza di avvio" di WordPress (avviata in wp-blog-header.php) carica i plugin, analizza l'URL, esegue una query post basata sull'URL e chiama il tema. Questa query principale post viene in genere utilizzata in "The Loop". Quindi, se desideri tutti i vantaggi dell'analisi degli URL ma non visualizzarli utilizzando il tema del sito, puoi impostare WP_USE_THEMESsu falsee non eseguirà il passaggio finale.


Grazie Jan, studierò ulteriormente questi file per ottenerlo completamente.
mikkelbreum,

1
Solo per chiarire, il functions.phpfile del tema attivo verrà comunque caricato. Sono solo i modelli di tema che non sono caricati.
JD

3
Quale sarebbe un esempio pratico di una situazione in cui questo viene utilizzato? Perché qualcuno dovrebbe voler impedire il caricamento del tema?
Alexander Rechsteiner,

2
@AlexanderRechsteiner: forse hai implementato un'azione back-end, che non dovrebbe restituire una risposta HTML completa. Simile a come viene implementato cron o un'API che restituisce i dati in un altro formato?
Jan Fabry,

Solo per aggiungere alla risposta nei commenti: presumibilmente, ciò entrerebbe in gioco se WordPress fosse usato senza testa (ad es. Tramite wp-cli).
Loren Rosen,

0

Sulla base di questa riga nella documentazione di The Loop:

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

suppongo che WP_USE_THEMESin questo esempio lo scopo sia quello di eseguire gestori di azioni registrati get_headerall'hook, ma in realtà non eseguire il file modello di intestazione.

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.