WordPress funziona senza un tema?

5 set 2014, 12:05:10
Visualizzazioni: 28.8K
Voti: 18

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?

4
Commenti

Penso che dovrebbe mostrare una pagina vuota se non c'è un tema nella cartella dei temi.

Robert hue Robert hue
5 set 2014 12:07:42

Per quanto ne so, è necessario avere un tema perché WordPress funzioni. Cosa stai cercando di ottenere, ovvero perché fai questa domanda?

stemie stemie
5 set 2014 12:24:14

No, non è necessario un tema perché WordPress funzioni. Il tema serve principalmente per visualizzare i contenuti e se non è un tuo requisito (magari per un progetto speciale) allora WordPress funzionerà perfettamente così, tranne per wp-cron. Per quello puoi usare un cron esterno. Inoltre la risposta sotto riassume bene la situazione.

Robert hue Robert hue
5 set 2014 13:03:48

Fai come ho fatto io, usa il concetto descritto qui, poi costruisci il tuo.

eyoung100 eyoung100
5 set 2014 22:10:08
Tutte le risposte alla domanda 2
8
29

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 e tempate_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" ;-)

5 set 2014 12:55:11
Commenti

In realtà è la risposta perfetta.

Robert hue Robert hue
5 set 2014 12:58:15

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

Pieter Goosen Pieter Goosen
5 set 2014 13:04:05

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

Nicolai Grossherr Nicolai Grossherr
5 set 2014 13:04:33

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

Pieter Goosen Pieter Goosen
5 set 2014 13:09:46

Oggi si gioca al rewind del venerdì :-)

Pieter Goosen Pieter Goosen
13 feb 2015 14:48:19

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

birgire birgire
13 feb 2015 17:00:45

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

Pieter Goosen Pieter Goosen
13 feb 2015 17:07:12

I venerdì sono meravigliosi ;-)

birgire birgire
13 feb 2015 17:22:50
Mostra i restanti 3 commenti
0
13

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.

5 set 2014 16:58:43