Che cos'è la costante WP_USE_THEMES?
Per quanto riguarda la costante WP_USE_THEMES, il Codex afferma:
Se stai utilizzando The Loop all'interno del tuo design personalizzato (e il tuo design non è un template), imposta WP_USE_THEMES su false.
Ma qual è l'effetto reale su WordPress quando WP_USE_THEMES viene impostato su true o false? Vorrei sapere come viene utilizzato da WP.
Questo viene utilizzato solo in template-loader.php, per determinare se dovrebbe caricare un file del tema o meno. La normale "sequenza di avvio" di WordPress (avviata in wp-blog-header.php) carica i plugin, analizza l'URL, esegue una query di post basata sull'URL e chiama il tema. Questa query principale di post è tipicamente utilizzata nel "The Loop". Quindi, se vuoi tutti i vantaggi dell'analisi dell'URL ma non visualizzarli utilizzando il tema del sito, puoi impostare WP_USE_THEMES su false e non eseguirà quel passaggio finale.
Grazie Jan, studierò ulteriormente quei file per comprenderli appieno.
mikkelbreum
Giusto per chiarire, il file functions.php del tema attivo verrà comunque caricato. Sono solo i template del tema che non vengono caricati.
J.D.
Quale sarebbe un esempio pratico di una situazione in cui questo viene utilizzato? Perché qualcuno vorrebbe impedire il caricamento del tema?
Alexander Rechsteiner
@AlexanderRechsteiner: Forse hai implementato un'azione backend 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
Basandosi su questa riga nella documentazione di The Loop:
<?php define( 'WP_USE_THEMES', false ); get_header(); ?>
Si può dedurre che lo scopo di WP_USE_THEMES in questo esempio sia quello di eseguire i gestori di azione registrati all'hook get_header, ma senza effettivamente eseguire il file del template dell'header.