Un client m'a envoyé un lien le mois dernier avec une ligne de brief : " ; faire ressembler le nôtre à ceci." ; Aucun nom de thème, aucun contact avec le développeur, aucun budget pour une reconstruction Avant de pouvoir dire si c'était une quinzaine de travail ou un après-midi de CSS, j'avais besoin de savoir ce que le site fonctionnait réellement - et la réponse honnête la plus rapide vient de la page elle-même, pas de demander.
WordPress est inhabituellement généreux à ce sujet Il publie sa propre structure dans chaque page qu'il sert, ce qui signifie qu'un site vous indique quel thème le rend, que quelqu'un soit ou non censé. Ce guide explique où vivent ces informations, comment les lire à la main et pourquoi la réponse manque parfois sans que le site soit moins WordPress. Le Détecteur de thème WordPress fait la même lecture dans une demande.
tl;dr : Ouvrez la source de la page et recherchez une feuille de style chargée à partir de
/wp-content/themes/<slug>/. Ce slug est le dossier thématique. Récupérer/wp-content/themes/<slug>/style.csset le bloc d'en-tête en haut nomme le thème, sa version, son auteur et - s'il s'agit d'un thème enfant - le parent qu'il étend dans unTemplate:ligne. Si rien ne charge/wp-content/(en), le site peut toujours être WordPress : un hôte géré ou un plugin d'optimisation peut avoir réécrit les chemins.
Où une page WordPress nomme-t-elle son propre thème ?
Chaque thème doit charger sa feuille de style à partir de son propre dossier, et WordPress sert des fichiers de thème à partir d'un emplacement fixe : /wp-content/themes/<slug>/. Donc, la première chose à faire avec n'importe quelle page est d'afficher la source et de rechercher wp-content/themes. Ce qui revient ressemble à ceci :
<link rel="stylesheet" id="astra-theme-css"
href="https://example.com/wp-content/themes/astra/assets/css/minified/main.min.css?ver=4.6.2" />
Le nom du dossier entre themes/ et la prochaine barre oblique est la réponse : astra. C'est un fait concernant la réponse, et non une estimation de l'apparence de la page.
Trois autres signaux se trouvent à côté et valent la peine d'être connus, car c'est ce qui vous indique que le site est WordPress lorsque le thème est caché :
| Signal | Où il apparaît | Ce que ça prouve |
|---|---|---|
/wp-content/themes/<slug>/ |
URL de feuille de style et de script | le dossier them' ;s actif |
/wp-includes/ |
URL de script de base comme wp-emoji-release.min.js |
Le noyau WordPress dessert la page |
<link rel="https://api.w.org/"> |
<head>& a Link: en-tête réponse |
L'API REST est activée |
<meta name="generator" content="WordPress 6.7"> |
<head> |
la version de base, lorsqu'elle n'a pas été dépouillée |
La balise du générateur est celle qui est la plus souvent supprimée De nombreux plugins de sécurité la dépouillent, et une ligne dans un thème' ; s functions.php fait de même, car il annonce une version exacte à toute personne recherchant des problèmes connus Son absence ne dit rien sur le fait que le site soit WordPress.
Comment obtenez-vous le thème & #39 ; son vrai nom et sa version ?
Un dossier slug n'est pas un nom. astra est reconnaissable, twentytwentyfour c'est évident, mais beaucoup de slugs sont des abréviations que personne en dehors de l'agence ne connaîtrait. Le nom vit une demande plus loin.
Chaque thème est livré par a style.css dans sa racine, et WordPress nécessite que ce fichier commence par un bloc de commentaires se déclarant. Récupérer https://example.com/wp-content/themes/astra/style.css et le haut du fichier se lit comme suit
/*
Theme Name: Astra
Theme URI: https://wpastra.com/
Author: Brainstorm Force
Version: 4.6.2
Template: astra
Text Domain: astra
*/
Ces champs d'en-tête ne sont pas une convention que quelqu'un a choisi de suivre. Le Manuel thématique fait Theme Name obligatoire pour tout thème WordPress acceptera, c'est pourquoi cela fonctionne sur des thèmes sur mesure qui n'ont jamais été publiés nulle part.
Une mise en garde sur la version, et elle compte plus que ce à quoi les gens s'attendent. Version: c'est ce que l'auteur du thème a écrit pour cette version Il est précis sur un thème intact et peu fiable au moment où quelqu'un édite les fichiers sans cogner le numéro, ce qui se produit constamment sur les sites qui ont été " ; juste rapidement réparé" ; quelques fois. Lisez-le comme le thème' ; sa propre affirmation sur lui-même.
Qu'est-ce que cela signifie lorsque deux thèmes apparaissent ?
Une page qui charge des feuilles de style à partir de deux dossiers thématiques exécute presque toujours un thème enfant.
Un thème enfant est un petit dossier qui remplace une partie d'un parent plutôt que de le copier L'enfant' ; s style.css nomme son parent dans un Template: line et WordPress chargent les deux dossiers. Cette relation est tout l'intérêt : le parent peut être mis à jour sans détruire les personnalisations, qui sont les façon recommandée pour modifier n'importe quel thème que vous n'avez pas écrit.
Alors quand vous voyez les deux astra et astra-child1, le thème actif est astra-child et le parent l'est astra. le Template: field est ce qui le règle, plutôt que de deviner à partir des noms de dossiers - de nombreux thèmes enfants ne portent pas du tout le nom de leur parent.
C'est également là que les réponses automatisées tournent mal d'une manière spécifique et reproductible. Une recherche de catalogue qui correspond à un slug à un thème publié reconnaîtra volontiers le parent, parce que le parent est celui publié, et rapportez cela comme réponse La page est la meilleure autorité ici : la feuille de style qu'elle charge est ce qui la rend, point final.
Pourquoi un site ne montre-t-il aucun thème ?
C'est le cas qui mérite d'être compris, car c'est là qu'un outil confiant vous incombe.
Plusieurs configurations ordinaires effacent le dossier thème de la page :
- Un plugin de mise en cache ou d'optimisation qui concatène chaque feuille de style en un seul fichier combiné ci-dessous
/wp-content/cache/. Le fichier fusionné contient le thème & #39 ; s CSS ; le nom du dossier theme' ; s est parti du balisage. - Un hôte ou un CDN qui dessert les actifs à partir d'un chemin réécrit, donc
/wp-content/themes/astra/...arrive comme/assets/a1b2c3.css. - Une configuration sans tête, où WordPress est l'administrateur et l'API mais quelque chose d'autre rend le front-end Il n'y a pas de thème au sens habituel du terme.
- Un site qui n'est tout simplement pas WordPress.
Ces quatre-là semblent identiques de l'extérieur si tout ce que vous vérifiez est " ; ai-je trouvé un dossier de thème" ;. Ce ne sont pas la même réponse, et signaler les trois premiers comme " ; pas WordPress" ; est faux dans la direction confiante Vérifiez les autres signaux - /wp-includes/[traduction], le lien de l'API REST, le wp-json itinéraire - avant de conclure quoi que ce soit Un site ne peut servir aucun de ses chemins thématiques et quand même répondre https://example.com/wp-json/ avec un indice JSON, qui le règle.
L'analyse d'une page intérieure plutôt que de la page d'accueil aide également plus que ce à quoi les gens s'attendent. Les pages d'accueil sont la page la plus mise en cache et la plus optimisée de manière agressive sur la plupart des sites ; un article de blog ou une page de contact charge fréquemment le thème & #39 ; ses propres fichiers sont intacts.
Est-ce légal, et le propriétaire du site le découvre-t-il ?
La lecture d'une page publique est une demande normale Votre navigateur fait la même chose à chaque visite, et le journal d'accès site' ; s l'enregistre de la même manière qu'il enregistre tous les autres visiteurs Rien dans la vérification d'un thème ne touche la zone d'administration, soumet un formulaire ou tente une connexion.
Ce que vous faites avec la réponse est la partie avec des règles Un thème' ; son nom et sa version sont des faits ; le code theme' ; s est sous licence, et la plupart des thèmes WordPress sont GPL, ce qui vous accorde beaucoup mais n'est pas la même chose que " ; tout va" ; avec quelqu'un' ; sa marque, ses images, ou son contenu Identifier un thème pour pouvoir acheter le même est l'utilisation normale La copie d'un site n'est pas une question thématique.
Comment vérifiez-vous rapidement, sans lire la source ?
À la main, la séquence est : voir la source, rechercher wp-content/themes, prenez le slug, récupérez ce dossier's style.css[traduction], lisez l'en-tête Depuis un terminal, ce sont deux commandes :
curl -s https://example.com | grep -o 'wp-content/themes/[^/]*' | head -1
curl -s https://example.com/wp-content/themes/astra/style.css | head -20
le Détecteur de thème WordPress exécute exactement cela, suit le lien enfant-parent et répertorie les signaux qu'il a utilisés afin que vous puissiez vérifier le raisonnement plutôt que de faire confiance à un verdict. Il sépare également les trois résultats qui comptent : le thème trouvé, WordPress mais le thème n'a pas pu être lu et aucun signal WordPress du tout.
Les plugins sont une question distincte avec des preuves distinctes et une mise en garde beaucoup plus grande, c'est pourquoi ils constituent un outil distinct : le Détecteur de plugin WordPress lit la même page pour ce qui est en train de charger dessus Et si vous êtes de l'autre côté de ceci, publiez un thème ou un plugin de votre propre, le générateur readme écrit le readme.txt le répertoire WordPress.org analyse.



