WordPress fonctionne-t-il sans thème? Si oui, alors comment ça marche? S'il vous plaît expliquer en bref.
Si WordPress affiche du contenu sans thème, qu'est-ce qui contrôle la sortie?
Je pense qu'il y a une chanson pour ça:
"Imaginez qu'il n'y ait pas de thème. C'est facile si vous essayez. Aucun enfer au-dessous de nous. Au-dessus de nous, rien que le ciel ..." ;-)
Donc, dans ce rêve imaginaire:
vous pouvez toujours récupérer les flux RSS de votre site:
example.com/feed/
vous pouvez toujours vous connecter à votre backend:
example.com/wp-login.php
vous pouvez toujours accéder au backend et y travailler (presque) comme d'habitude:
example.com/wp-admin/
Les messages planification ne fonctionneront pas, vous recevrez donc le message programme manqué.
wp-cron
ne sera pas fiable.
vous pouvez toujours accéder à /wp-admin/admin-ajax.php
vous pouvez utiliser les crochets template_redirect
et tempate_include
pour contrôler la sortie. Essayez par exemple ce petit plugin:
<?php
/** Plugin Name: No-Theme-Day **/
add_action( 'template_redirect',
function()
{
wp_die( __( "Jibby! It's the No-Theme-Day today!" ) );
}
);
...
ps: Pardonnez mon vendredi réponse - " Mais je ne suis pas le seul " ;-)
Étant donné que l’utilisation de WordPress sans thème est assez rare, ses détails techniques n’attirent pas beaucoup d’attention.
Vous devez d’abord comprendre qu’il existe de nombreux "points de terminaison" dans le noyau WordPress traitant des demandes.
wp-admin/index.php
.index.php
à la racine même, mais elle est généralement "cachée" par de jolis permaliensSi vous regardez le dernier fichier il a la ligne suivante:
define('WP_USE_THEMES', true);
Donc généralement / WordPress s'attend à ce que front-end ait toujours un thème et configure l'environnement d'exécution en conséquence. Cette constante ne contrôle pas beaucoup, seulement si les modèles de thèmes vont être chargés dans template-loader.php
.
Notez que cela n'empêche pas les thèmes parent/enfant (s'ils sont présents) d'être chargés pendant le processus de démarrage principal.
Donc par défaut WordPress s'attend à ce qu'au moins un thème soit présent, activé et que des modèles soient utilisés à des fins d'affichage frontal.
Cependant, il s’agit simplement d’une question de valeurs par défaut et peut être complètement configuré. Dans ce cas, WordPress continuera de fonctionner pleinement du côté de l’administrateur, tandis que du côté frontal, toutes les demandes qui dépendent du modèle de thème cesseront d’afficher quoi que ce soit.