WordPress fonctionne-t-il sans thème?

17

WordPress fonctionne-t-il sans thème? Si oui, alors comment ça marche? Veuillez expliquer en bref.

Si WordPress affiche du contenu sans thème, qu'est-ce qui contrôle la sortie?

    
posée chsuthar 05.09.2014 - 11:05

2 réponses

28

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 en dessous de nous.   Au-dessus de nous, seul 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
  • programmations ne fonctionneront pas, vous obtiendrez le message Programmation manquée .

  • wp-cron ne sera pas fiable.

  • vous pouvez toujours accéder à /wp-admin/admin-ajax.php

  • vous pouvez utiliser les hooks 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 ma réponse vendredi - " mais je suis pas le seul "; -)

    
réponse donnée birgire 05.09.2014 - 11:55
11

Etant donné que l’utilisation de WordPress sans thème est assez rare, ses détails techniques ne retiennent guère l’attention.

Vous devez d’abord comprendre qu’il existe de nombreux "points de terminaison" dans le noyau de WordPress traitant des demandes.

  • Le côté administrateur a ses propres (et nombreux), tels que wp-admin/index.php .
  • le côté avant passe presque universellement par index.php à la racine même, mais il est généralement "caché" par de jolis liens permanents

Si vous consultez le dernier fichier , sa ligne est la suivante:

define('WP_USE_THEMES', true);

Donc, typiquement , WordPress s'attend à ce que l'interface frontale 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ème 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.

Par conséquent, 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 ne s'agit que d'une question de paramètres par défaut et peut être complètement configuré à distance. 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.

    
réponse donnée Rarst 05.09.2014 - 15:58

Lire d'autres questions sur les étiquettes