Клиент прислал мне ссылку в прошлом месяце с одной строкой краткого изложения: & quot;сделайте так, чтобы наши выглядели вот так.& quot; Ни названия темы, ни контакта с разработчиком, ни бюджета на перестройку. прежде чем я мог сказать, были ли это две недели работы или день CSS, мне нужно было знать, что на самом деле работает сайт - и самый быстрый честный ответ приходит от самой страницы, а не от вопроса.
WordPress необычайно щедр в этом отношении. Он публикует свою собственную структуру на каждой странице, которую обслуживает, а это означает, что сайт сообщает вам, какая тема отображает его, хочет ли кто-нибудь это сделать. В этом руководстве объясняется, где живет эта информация, как ее читать вручную и почему ответ иногда отсутствует, а сайт не меньше WordPress. Детектор тем WordPress выполняет то же чтение в одном запросе.
TL;DR: Откройте исходный код страницы и найдите таблицу стилей, загруженную с сайта
/wp-content/themes/<slug>/. Это slug папка темы. Получить/wp-content/themes/<slug>/style.cssа блок заголовка вверху называет тему, ее версию, ее автора и - если это дочерняя тема - родителя, которого она расширяет в aTemplate:линия. Если ничего не загружается/wp-content/, сайт все еще может быть WordPress: управляемый хост или плагин оптимизации могли переписать пути.
Где страница WordPress называет свою собственную тему?
Каждая тема должна загружать свою таблицу стилей из собственной папки, а WordPress обслуживает файлы тем из фиксированного места: /wp-content/themes/<slug>/. Итак, первое, что нужно сделать с любой страницей, - это просмотреть источник и выполнить поиск wp-content/themes. Возвращение выглядит следующим образом:
<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" />
Имя папки между themes/ и следующий слэш - это ответ: astra. Это факт ответа, а не предположение о том, как выглядит страница.
Рядом с ним сидят еще три сигнала, и их стоит знать, потому что именно они говорят вам, что сайт вообще является WordPress, когда тема скрыта:
| Сигнал | Где появляется | Что доказывает |
|---|---|---|
/wp-content/themes/<slug>/ |
URL-адреса таблиц стилей и сценариев | активная тема's папка |
/wp-includes/ |
URL-адреса основных сценариев нравятся wp-emoji-release.min.js |
Ядро WordPress обслуживает страницу |
<link rel="https://api.w.org/"> |
<head>и а Link: заголовок ответа |
API REST включен |
<meta name="generator" content="WordPress 6.7"> |
<head> |
основная версия, если она не была удалена |
Тег генератора - тот, который удаляется чаще всего Множество плагинов безопасности его убирают, и строка в теме's functions.php делает то же самое, потому что рекламирует точную версию любому, кто сканирует известные проблемы. Его отсутствие ничего не говорит о том, является ли сайт WordPress.
Как получить тему 's настоящее имя и версию?
Папка slug - это не имя. astra узнаваемо, twentytwentyfour очевидно, но многие slugs - это сокращения, которые никто за пределами агентства не знает. Имя живет еще на один запрос дальше.
Каждая тема соответствует a style.css в своем корне, и WordPress требует, чтобы этот файл начинался с блока комментариев объявляющего себя. извлекать https://example.com/wp-content/themes/astra/style.css а верхняя часть файла гласит
/*
Theme Name: Astra
Theme URI: https://wpastra.com/
Author: Brainstorm Force
Version: 4.6.2
Template: astra
Text Domain: astra
*/
Эти поля заголовков не являются соглашением, которому кто-то решил следовать. The Справочник тем делает Theme Name обязателен для любой темы, которую примет WordPress, поэтому он работает на индивидуальные темы, которые никогда и нигде не публиковались.
Одна оговорка к версии, и она имеет большее значение, чем ожидают люди. Version: это то, что автор темы написал для того релиза.Это точно на нетронутой теме и ненадежно в тот момент, когда кто-то редактирует файлы, не набивая номер, что происходит постоянно на сайтах, которые были & quot;просто быстро исправлено & quot; несколько раз. Прочтите это как тему's собственное утверждение о себе.
Что значит, когда появляются две темы?
На странице, загружающей таблицы стилей из двух тематических папок, почти всегда используется дочерняя тема.
Дочерняя тема - это небольшая папка, которая переопределяет часть родителя, а не копирует ее. Ребенок и #39;s style.css называет своего родителя в a Template: строка, и WordPress загружают обе папки.В этом отношении весь смысл: родительский элемент можно обновить, не разрушая настройки, что и есть рекомендуемый способ чтобы изменить любую тему, которую вы не писали.
Итак, когда вы видите оба astra а astra-child, активная тема astra-child и родитель есть astra, йо- выше Template: поле - это то, что решает эту проблему, а не угадывание имен папок: многие дочерние темы вообще не названы в честь их родителя.
Здесь также автоматические ответы ошибаются определенным, повторяемым образом. Поиск в каталоге, который соответствует slug опубликованной теме, с радостью распознает родитель, потому что родитель является опубликованным, и сообщить, что как ответ. страница является лучшим авторитетом здесь: таблица стилей, которую он загружает, это то, что визуализирует, точка.
Почему сайт вообще не показывает темы?
Это тот случай, который стоит понять, потому что именно здесь вам лежит уверенный инструмент.
Несколько обычных настроек стирают папку темы со страницы:
- Плагин кэширования или оптимизации, который объединяет каждую таблицу стилей в один объединенный файл под
/wp-content/cache/. Объединенный файл содержит CSS темы и #39;s; имя папки темы и #39;s исчезло из разметки. - Хост или CDN, который обслуживает активы по переписанному пути, так что
/wp-content/themes/astra/...прибывает как/assets/a1b2c3.css, йо- - Безызглавная настройка, где WordPress - это администратор и API, но что-то еще отображает интерфейс. Темы в обычном смысле нет.
- Сайт, который просто не WordPress.
Эти четыре выглядят идентичными снаружи, если все, что вы проверяете, это & quot;did I finder theme folder& quot;.They's not as every requot, and reporting the first three & quot;not WordPress& quot; is right in the sferentify direction.Check the other signals - /wp-includes/, ссылка REST API, the wp-json маршрут - прежде чем что-либо заключать. Сайт не может обслуживать ни один из своих тематических путей и при этом отвечать https://example.com/wp-json/ с индексом JSON, который его улаживает.
Сканирование внутренней страницы, а не домашней страницы, также помогает больше, чем ожидают люди. Домашние страницы - это наиболее сильно кэшированная и наиболее агрессивно оптимизированная страница на большинстве сайтов; сообщение в блоге или страница контактов часто загружают нетронутые собственные файлы темы и №39;.
Законно ли, и выясняет ли владелец сайта?
Чтение публичной страницы - это обычный запрос Ваш браузер делает один и тот же каждый раз, когда вы посещаете, и журнал доступа сайта & #39;s записывает его так же, как записывает каждого другого посетителя Ничто о проверке темы не касается области администратора, отправляет форму или пытается войти в систему.
Что вы делаете с ответом, так это часть с правилами. Тема's имя и версия - факты; код темы's лицензируется, и большинство тем WordPress - это GPL, которая предоставляет вам много, но не то же самое, что "все идет & quot; с кем-то's бренд, их изображения, или их содержание.Определение темы, чтобы вы могли купить ту же самую, является обычным использованием.Копирование сайта не является вопросом темы.
Как проверить быстро, не читая источник?
От руки последовательность: просмотр источника, поиск wp-content/themes, возьмите slug, возьмите эту папку и #39;s style.css, читать заголовок Из терминала это две команды:
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
выше Детектор тем WordPress запускает именно это, следует по ссылке "ребенок-родитель" и перечисляет используемые им сигналы, чтобы вы могли проверить рассуждения, а не доверять вердикту. Он также разделяет три важных результата: найденная тема, WordPress, но тему невозможно прочитать, и вообще никаких сигналов WordPress.
Плагины - это отдельный вопрос с отдельными доказательствами и гораздо большей оговоркой, поэтому они являются отдельным инструментом - Детектор плагинов WordPress читает ту же страницу, что загружается на нем. И если вы находитесь по другую сторону этого, публикуя собственную тему или плагин, генератор readme пишет the readme.txt в каталоге WordPress.org проводится анализ.



