WordPress funziona senza un tema?
WordPress funziona senza un tema? Se sì, come funziona? Per favore, spiega brevemente.
Se WordPress sta visualizzando contenuti senza un tema, cosa controlla l'output?

Credo ci sia una canzone per questo:
"Immagina non ci sia un tema. Non è difficile provarci. Niente inferno sotto di noi. Solo cielo sopra di noi..." ;-)
Quindi in questo sogno immaginario:
puoi ancora recuperare i feed RSS dal tuo sito:
example.com/feed/
puoi ancora accedere al backend:
example.com/wp-login.php
puoi ancora accedere al backend e lavorarci (quasi) come al solito:
example.com/wp-admin/
la pianificazione degli articoli non funzionerà, quindi riceverai il messaggio Missed schedule.
wp-cron
non sarà affidabile.puoi ancora accedere a
/wp-admin/admin-ajax.php
puoi usare gli hook
template_redirect
etempate_include
per controllare l'output. Prova ad esempio questo piccolo plugin:<?php /** Plugin Name: No-Theme-Day **/ add_action( 'template_redirect', function() { wp_die( __( "Ehi! Oggi è il No-Theme-Day!" ) ); } );
...
ps: Perdonate la mia risposta da venerdì - "Ma non sono il solo" ;-)

Bella canzone e un'implementazione ancora più bella. John Lennon sarebbe orgoglioso. +1

Decisamente un voto positivo per la citazione di Imagine :) peccato non poterti darne un altro per la risposta.

Sono completamente d'accordo con @ialocin Purtroppo posso dare solo un upvote per risposta.

Mi sono appena imbattuto nell'exit mancante nell'hook del template redirect, una coincidenza da venerdì ;-) @PieterGoosen

Hahaha, ti stavo prendendo in giro, ho visto la modifica. Ma comunque, non male come fine settimana. John Lennon è sempre apprezzato :-)

Dato che utilizzare WordPress senza un tema è piuttosto raro, gli aspetti tecnici di questa configurazione non ricevono molta attenzione.
Innanzitutto bisogna comprendere che ci sono diversi "endpoint" nel core di WordPress che gestiscono le richieste.
- Il lato amministrativo ha i suoi (numerosi) endpoint, come
wp-admin/index.php
. - Il frontend passa quasi universalmente attraverso
index.php
nella root, ma di solito è "nascosto" dai permalink ottimizzati
Se dai un'occhiata a quest'ultimo file, troverai questa riga:
define('WP_USE_THEMES', true);
Quindi tipicamente WordPress si aspetta che il frontend abbia sempre un tema e configura l'ambiente di runtime di conseguenza. Questa costante non controlla molto, solo se i template del tema verranno caricati in template-loader.php
.
Nota che non impedisce ai temi genitore/figlio (se presenti) di essere caricati durante il processo di avvio del core.
Quindi per impostazione predefinita WordPress si aspetta che sia presente almeno un tema, che sia abilitato e che abbia template da utilizzare per la visualizzazione del frontend.
Tuttavia, questa è solo una questione di impostazioni predefinite e può essere completamente configurata diversamente. In tal caso WordPress continuerà a funzionare pienamente sul lato amministrativo, mentre sul frontend tutte le richieste che dipendono dai template del tema cesseranno di visualizzare qualsiasi contenuto.
