Как узнать шаблон сайта


разбираем чужие сайты вручную и онлайн

Ручной метод определить шаблон на чужом сайте через стили

Этот метод легок в применении, любой современный браузер имеет встроенный визуальный редактор исходного кода, он нам поможет. Заходим на главную страницу, нажимаем в любом месте правую кнопку мыши, выбираем Просмотреть код.

Просмотр кода

Откроется окно, нужно найти место где подключается файл style.css на чужом блоге. Ищем путь такого типа wp-content/themes/название темы/style.css?ver=и тут номер версии. В нашем случаем искомая строчка выглядит так.

В данном примере нам уж известно название темплейта WordPress это twentysixteen, но многие веб–мастера специально переименовывают папки, идем дальше.

Подключение style.css

Нажимаем правой кнопкой мыши на ссылке, выбираем Copy link adress.

Копируем ссылку в буфер обмена

Открываем новую вкладу, в адресную строку вставляем скопированный URL документа стилей и смотрим, что отобразится на экране. Напротив названия Theme Name увидите имя шаблона.

Находим строчку Theme Name

Бывает что используются дочерние темы вордпресс, но узнать родительскую можно, проделываем тот же путь, в style.css ищем другую строчку.

Строка Templete

Если не получилось использовать этот метод, то переходим к обзору других вариантов.

Как узнать тему в WordPress с помощью онлайн сервисов

Узнать тему чужого ресурса WordPress можно другим способом с помощью онлайн инструментов. Поискав в Google нашел только четыре варианта, справляющихся со своей задачей.

Wpdetect

Online ресурс разработан нашей командой WPCourses и WPShop, полностью на русском языке, адаптивен, построен по современным алгоритмам. Заходим на wpdetect, вводим URL домена и находим Запустить проверку.

WPDetect

На следующей странице видим прогресс работы, он ищет не только какая тема установлена, но и плагины.

Отчет wpdetect

Видим что wpdetect нашел еще два плагина, установленные на сайте. Это не говорит, что их там больше нет, просто только их следы он увидел в коде страницы. Для лучшего понимания материала вставлю видео инструкцию.

Isitwp

Отличный быстрый интернет сервис Isitwp предлагает посетителям на главной странице сразу ввести адрес ресурса на котором надо определить. Вводим домен, жмем Enter.

Isitwp

Программа запускает процесс сканирования, через несколько секунд выдаст результат.

Результат анализа

Используется Twenty Sixteen, понимаю, что узнать можно чисто визуально, но моя задача дать именно инструмент.

Рекомендую к прочтению:

Wpthemedetector

Быстрый и симпатичный wpthemedetector, понравился что находит мгновенно, без зависаний. Принцип аналогичный, вводим URL, смотрим какая тема используется в WordPress.

Wpthemedetector

What wp theme is that

Никогда не понимал зачем писать длинные урл домена без разделителей, whatwpthemeisthat именно такой. Но как и предыдущие справляются со своей задачей. По аналогии заносим URL, смотрим результат анализа.

Whatwpthemeisthat

Используя данные приемы вы можете определить шаблон на любом блоге WordPress. Но если не получается узнать, то скорее всего у хозяина блога самописная тема и увидеть имя невозможно, точнее найдете, но название особого значения не сыграет.

Пожалуйста, оцените материал: Мне нравится7Не нравится

как найти тему / шаблон, используемый сайтом, созданным с помощью Joomla

Переполнение стека
  1. Около
  2. Товары
  3. Для команд
  1. Переполнение стека Общественные вопросы и ответы
  2. Переполнение стека для команд Где разработчики и технологи делятся частными знаниями с коллегами
.

html - Как узнать, кто размещает мой сайт на Wordpress?

Переполнение стека
  1. Около
  2. Товары
  3. Для команд
  1. Переполнение стека Общественные вопросы и ответы
  2. Переполнение стека для команд Где разработчики и технологи делятся частными знаниями с коллегами
  3. Вакансии Программирование и связанные с ним технические возможности карьерного роста
  4. Талант Нанимайте технических специалистов и создавайте свой бренд работодателя
.

Как найти файлы для редактирования в теме WordPress

Недавно один из наших читателей спросил, как вы находите, какие файлы редактировать в их теме WordPress? Если вы новичок в разработке тем WordPress и хотите настроить свою тему, вам необходимо узнать, какие файлы шаблонов в вашей теме вам нужно отредактировать. В этой статье мы покажем вам, как легко найти файлы для редактирования в теме WordPress.

файлов шаблонов в темах WordPress
Темы

WordPress определяют, как ваш сайт будет выглядеть для пользователей.Каждая тема содержит несколько файлов шаблонов, которые управляют внешним видом определенного раздела или страницы в вашей теме WordPress.

Например, файл single.php управляет появлением отдельных сообщений на вашем веб-сайте. Это не единственный файл для этого.

Если в вашей теме нет файла single.php, WordPress будет искать альтернативные шаблоны, такие как index.php, для отображения страницы.

Большинство новичков не знакомы с иерархией шаблонов в WordPress.Из-за этого им сложнее понять, какие файлы редактировать, когда они хотят настроить свои темы.

Сказав это, давайте посмотрим, как легко узнать, какие файлы редактировать в вашей теме WordPress.

Поиск файлов шаблонов в темах WordPress

Первое, что вам нужно сделать, это установить и активировать плагин What The File. Для получения дополнительной информации см. Наше пошаговое руководство по установке плагина WordPress.

Плагин работает "из коробки", и вам не нужно его настраивать.

После активации вам нужно посетить свой веб-сайт, и вы увидите новое меню «Что за файл» в панели администратора WordPress.

Теперь вам нужно просто навести указатель мыши на пункт меню, и он отобразит раскрывающееся меню со списком файлов шаблонов, используемых для отображения этой страницы.

Нажав на имя файла, вы попадете в редактор файлов WordPress по умолчанию, где вы можете редактировать этот конкретный файл.

Тем не менее, мы не рекомендуем использовать редактор файлов WordPress для редактирования файлов темы, потому что здесь нет возможности отмены.Если вы случайно заблокируете доступ к своему веб-сайту, вам придется использовать FTP-клиент. Вот почему мы всегда используем FTP-клиент и текстовый редактор для редактирования ваших файлов.

Вносить прямые изменения в тему WordPress - тоже плохая идея. Эти изменения исчезнут, когда вы обновите свою тему.

Если вы просто добавляете CSS, вы можете добавить его как собственный CSS в WordPress. Для всех остальных изменений вы должны создать дочернюю тему.

Плагин

«What The File» может помочь вам найти файлы темы, которые вам нужно скопировать и отредактировать в дочерней теме.

Примечание: Пункт меню, добавленный плагином на панели администратора, будет виден всем зарегистрированным пользователям, и у него есть ссылка на внешний сайт. Вы должны использовать этот плагин только в среде разработки.

Мы надеемся, что эта статья помогла вам узнать, как найти файлы для редактирования в темах WordPress. Вы также можете ознакомиться с нашим руководством о том, как проверить свою тему WordPress на соответствие последним стандартам

.

Если вам понравилась эта статья, то подпишитесь на наш канал YouTube для видеоуроков по WordPress.Вы также можете найти нас в Twitter и Facebook.

.

Django Tutorial Часть 5: Создание нашей домашней страницы - Изучите веб-разработку

Теперь мы готовы добавить код, который отображает нашу первую полную страницу - домашнюю страницу для веб-сайта LocalLibrary. На домашней странице будет показано количество записей, которые у нас есть для каждого типа модели, и будут предоставлены навигационные ссылки на боковой панели на другие наши страницы. Попутно мы получим практический опыт написания базовых карт URL и представлений, получения записей из базы данных и использования шаблонов.

Обзор

После того, как мы определили наши модели и создали некоторые начальные записи библиотеки для работы, пришло время написать код, который представляет эту информацию пользователям.Первое, что нам нужно сделать, это определить, какую информацию мы хотим отображать на наших страницах, и определить URL-адреса, которые будут использоваться для возврата этих ресурсов. Затем мы создадим преобразователь URL-адресов, представления и шаблоны для отображения страниц.

На следующей схеме описывается основной поток данных и компоненты, необходимые для обработки HTTP-запросов и ответов. Поскольку мы уже реализовали модель, мы создадим следующие основные компоненты:

Как вы увидите в следующем разделе, у нас есть 5 страниц для отображения, а это слишком много информации для документирования в одной статье. Поэтому в этой статье мы сосредоточимся на том, как реализовать домашнюю страницу, а остальные страницы мы рассмотрим в следующей статье.Это должно дать вам хорошее полное представление о том, как на практике работают сопоставители URL-адресов, представления и модели.

Определение URL-адресов ресурсов

Поскольку эта версия LocalLibrary предназначена только для чтения для конечных пользователей, нам просто нужно предоставить целевую страницу для сайта (домашнюю страницу) и страницы, которые отображают список и подробные представления для книг и авторов.

URL-адреса, которые нам понадобятся для наших страниц:

Первые три URL-адреса вернут индексную страницу, список книг и список авторов. Эти URL-адреса не кодируют никакой дополнительной информации, и запросы, извлекающие данные из базы данных, всегда будут одинаковыми. Однако результаты, возвращаемые запросами, будут зависеть от содержимого базы данных.

Напротив, последние два URL-адреса будут отображать подробную информацию о конкретной книге или авторе.Эти URL-адреса кодируют идентификатор отображаемого элемента (представленный как выше). Устройство отображения URL-адресов извлечет закодированную информацию и передаст ее представлению, а представление будет динамически определять, какую информацию получить из базы данных. Кодируя информацию в URL-адресе, мы будем использовать единый набор сопоставления URL-адресов, представления и шаблона для обработки всех книг (или авторов).

Примечание : С Django вы можете создавать свои URL-адреса, как вам нужно - вы можете закодировать информацию в теле URL-адреса, как показано выше, или включить в URL-адрес GET параметры, например / book /? Id = 6 .Какой бы подход вы ни использовали, URL-адреса должны быть чистыми, логичными и удобочитаемыми, как рекомендовано W3C.
Документация Django рекомендует кодировать информацию в теле URL, чтобы добиться лучшего дизайна URL.

Как упоминалось в обзоре, остальная часть этой статьи описывает, как создать страницу индекса.

Создание индексной страницы

Первая страница, которую мы создадим, - это индексная страница (каталог /). Страница индекса будет включать некоторый статический HTML вместе с сгенерированными «счетчиками» различных записей в базе данных.Чтобы это работало, мы создадим сопоставление URL-адресов, представление и шаблон.

Примечание : В этом разделе стоит уделить немного больше внимания. Большая часть информации также применима к другим страницам, которые мы создадим.

Отображение URL-адресов

Когда мы создавали каркас веб-сайта, мы обновили файл locallibrary / urls.py , чтобы каждый раз при получении URL-адреса, который начинается с каталога /, приходил каталог модуля URLConf .urls обработает оставшуюся подстроку.

Следующий фрагмент кода из locallibrary / urls.py включает модуль catalog.urls :

 шаблонов URL + = [ путь ('catalog /', include ('catalog.urls')), ] 

Примечание : всякий раз, когда Django встречает функцию импорта django.urls.include () , он разбивает строку URL-адреса по указанному конечному символу и отправляет оставшуюся подстроку во включенный модуль URLconf для дальнейшей обработки.

Мы также создали файл-заполнитель для модуля URLConf с именем /catalog/urls.py . Добавьте в этот файл следующие строки:

 urlpatterns = [  путь ('', views.index, name = 'index'),  ] 

Функция path () определяет следующее:

Функция path () также определяет параметр name , который является уникальным идентификатором для этого конкретного сопоставления URL-адресов . Вы можете использовать имя, чтобы «перевернуть» преобразователь, то есть динамически создать URL-адрес, указывающий на ресурс, для обработки которого предназначен преобразователь. Например, мы можем использовать параметр name для ссылки на нашу домашнюю страницу с любой другой страницы, добавив следующую ссылку в шаблон:

  Главная страница .

Примечание : мы можем жестко закодировать ссылку, как в ( Home ), но если мы изменим шаблон для нашей домашней страницы, например, на / catalog / index ) шаблоны больше не будут правильно ссылаться. Использование обратного сопоставления URL-адресов более надежно.

Просмотр (на основе функций)

Представление - это функция, которая обрабатывает HTTP-запрос, извлекает необходимые данные из базы данных, отображает данные на HTML-странице с использованием HTML-шаблона, а затем возвращает сгенерированный HTML-код в HTTP-ответе для отображения страницы пользователю.Индексное представление следует этой модели - оно извлекает информацию о количестве Book , BookInstance , доступных BookInstance и Author записей, которые у нас есть в базе данных, и передает эту информацию в шаблон для отображения.

Откройте каталог catalog / views.py и обратите внимание, что файл уже импортирует функцию ярлыка render () для создания файла HTML с использованием шаблона и данных:

 из django.shortcuts import render # Создайте здесь свои просмотры.

Вставьте следующие строки в конец файла:

 из каталога. Модели import Book, Author, BookInstance, Genre def index (запрос): "" "Функция просмотра домашней страницы сайта." "" # Сгенерировать количество некоторых основных объектов num_books = Book.objects.all (). count () num_instances = BookInstance.objects.all (). count () # Доступные книги (status = 'a') num_instances_available = BookInstance.objects.filter (status__exact = 'a'). count () # По умолчанию подразумевается 'all ()'.num_authors = Автор.objects.count () context = { 'num_books': num_books, 'num_instances': num_instances, 'num_instances_available': num_instances_available, 'num_authors': num_authors, } # Визуализировать HTML-шаблон index.html с данными в переменной контекста возврат рендеринга (запрос, 'index.html', context = context) 

Первая строка импортирует классы модели, которые мы будем использовать для доступа к данным во всех наших представлениях.

Первая часть функции просмотра выбирает количество записей, используя объекты .all () в классах модели. Он также получает список объектов BookInstance , для которых в поле статуса указано значение «a» (доступно). Вы можете найти дополнительную информацию о том, как получить доступ к данным модели, в нашем предыдущем руководстве. Учебник по Django, часть 3: Использование моделей> Поиск записей.

В конце функции просмотра мы вызываем функцию render () , чтобы создать HTML-страницу и вернуть страницу в качестве ответа. Эта функция быстрого доступа включает ряд других функций, чтобы упростить очень распространенный вариант использования.Функция render () принимает следующие параметры:

Подробнее о шаблонах и переменной context мы поговорим в следующем разделе. Давайте приступим к созданию нашего шаблона, чтобы мы действительно могли что-то показать пользователю!

Шаблон

Шаблон - это текстовый файл, который определяет структуру или макет файла (например, HTML-страницы), он использует заполнители для представления фактического содержимого.

Django автоматически ищет шаблоны в каталоге с именем « templates » в вашем приложении. Например, в только что добавленном представлении индекса функция render () ожидает найти файл index.html в / locallibrary / catalog / templates / и вызовет ошибку, если файла нет.

Вы можете проверить это, сохранив предыдущие изменения и открыв 127.0.0.1:8000 в вашем браузере - появится довольно интуитивное сообщение об ошибке: « TemplateDoesNotExist at / catalog / » и другие детали.

Примечание : На основе файла настроек вашего проекта Django будет искать шаблоны в нескольких местах, по умолчанию ища в установленных приложениях. Вы можете узнать больше о том, как Django находит шаблоны и какие форматы шаблонов он поддерживает, в разделе «Шаблоны» документации Django.

Расширение шаблонов

Для шаблона индекса потребуется стандартная разметка HTML для заголовка и тела, а также разделы навигации для ссылки на другие страницы сайта (которые мы еще не создали) и на разделы, отображающие вводный текст и данные книги.

Большая часть HTML и структуры навигации будет одинаковой на всех страницах нашего сайта. Вместо того, чтобы дублировать шаблонный код на каждой странице, вы можете использовать язык шаблонов Django для объявления базового шаблона, а затем расширить его, заменив только те биты, которые различны для каждой конкретной страницы.

Следующий фрагмент кода представляет собой образец базового шаблона из файла base_generic.html . Вскоре мы создадим шаблон для LocalLibrary. Пример ниже включает общий HTML-код с разделами для заголовка, боковой панели и основного содержимого, отмеченных именованными тегами шаблона block и endblock , выделенными жирным шрифтом.Вы можете оставить блоки пустыми или включить содержимое по умолчанию для использования при рендеринге страниц, полученных из шаблона.

Примечание : Теги шаблона - это функции, которые можно использовать в шаблоне для циклического просмотра списков, выполнения условных операций на основе значения переменной и т. Д. Помимо тегов шаблона, синтаксис шаблона позволяет вам ссылаться на переменные, которые передаются в шаблон из представления, и использовать фильтры шаблона для переменных формата (например, для преобразования строки в нижний регистр).

     {% block title%}   Локальная библиотека   {% endblock%}     {% block sidebar%}    {% endblock%}   {% block content%}    {% endblock%}    

При определении шаблона для конкретного представления мы сначала указываем базовый шаблон с помощью тега шаблона extends - см. Пример кода ниже.Затем мы объявляем, какие разделы из шаблона мы хотим заменить (если есть), используя block / endblock разделов, как в базовом шаблоне.

Например, фрагмент кода ниже показывает, как использовать тег шаблона extends и переопределить блок содержимого . Сгенерированный HTML-код будет включать код и структуру, определенные в базовом шаблоне, включая содержимое по умолчанию, которое вы определили в блоке title , но новый блок содержимого вместо блока по умолчанию.

 {% extends "base_generic.html"%} {% блокировать содержание%} 

Домашняя страница местной библиотеки

Добро пожаловать на LocalLibrary, веб-сайт, разработанный Mozilla Developer Network !

{% endblock%}
Базовый шаблон LocalLibrary

Мы будем использовать следующий фрагмент кода в качестве базового шаблона для веб-сайта LocalLibrary . Как видите, он содержит некоторый HTML-код и определяет блоки для заголовка , боковой панели и содержимого .У нас есть заголовок по умолчанию и боковая панель по умолчанию со ссылками на списки всех книг и авторов, которые заключены в блоки, чтобы их можно было легко изменить в будущем.

Примечание : Мы также вводим два дополнительных тега шаблона: url и load static . Эти теги будут объяснены в следующих разделах.

Создайте новый файл base_generic.html в / locallibrary / catalog / templates / и вставьте в файл следующий код:

    {% block title%}  Локальная библиотека  {% endblock%}     {% load static%}    
{% block sidebar%} {% endblock%}
{% содержимого блока%} {% endblock%}

Шаблон включает CSS из Bootstrap для улучшения макета и представления HTML-страницы.Использование Bootstrap (или другой клиентской веб-платформы) - это быстрый способ создать привлекательную страницу, которая будет хорошо отображаться на экранах разных размеров.

Базовый шаблон также ссылается на локальный файл css ( styles.css ), который обеспечивает дополнительные стили. Создайте файл styles.css в / locallibrary / catalog / static / css / и вставьте в файл следующий код:

 .sidebar-nav { маржа сверху: 20 пикселей; отступ: 0; стиль списка: нет; } 
Шаблон указателя

Создайте новый файл HTML index.html в / locallibrary / catalog / templates / и вставьте следующий код в файл. Этот код расширяет наш базовый шаблон в первой строке, а затем заменяет блок содержимого по умолчанию для шаблона.

 {% extends "base_generic.html"%} {% блокировать содержание%} 

Домашняя страница местной библиотеки

Добро пожаловать на LocalLibrary, веб-сайт, разработанный Mozilla Developer Network !

Динамический контент

В библиотеке имеется следующее количество записей:

{% endblock%}

В разделе Динамическое содержимое мы объявляем заполнители ( переменных шаблона ) для информации из представления, которое мы хотим включить.Переменные заключаются в двойные скобки (ручки), как показано жирным шрифтом в примере кода.

Примечание. Вы можете легко распознать переменные шаблона и теги (функции) шаблона - переменные заключаются в двойные фигурные скобки ( {{num_books}} ), а теги заключаются в одинарные фигурные скобки со знаками процента ( {% extends " base_generic.html "%} ).

Здесь важно отметить, что переменные именуются с ключами , которые мы передаем в словарь контекста в функции render () нашего представления (см. Пример ниже).Переменные будут заменены соответствующими значениями при визуализации шаблона.

 context = { ' num_books ': num_books, ' num_instances ': num_instances, ' num_instances_available ': num_instances_available, ' num_authors ': num_authors, } возврат рендеринга (запрос, 'index.html', context = context) 
Ссылки на статические файлы в шаблонах

Ваш проект, скорее всего, будет использовать статические ресурсы, включая JavaScript, CSS и изображения.Поскольку расположение этих файлов может быть неизвестно (или может измениться), Django позволяет вам указывать расположение в ваших шаблонах относительно глобального параметра STATIC_URL . Каркас веб-сайта по умолчанию устанавливает значение STATIC_URL на « / static / », но вы можете разместить их в сети доставки контента или в другом месте.

В шаблоне вы сначала вызываете тег шаблона load с указанием «static» для добавления библиотеки шаблонов, как показано в примере кода ниже.Затем вы можете использовать тег шаблона static и указать относительный URL-адрес необходимого файла.

  {% load static%}  

Аналогичным образом можно добавить изображение на страницу, например:

 {% статической нагрузки%} Диаграмма UML 

Примечание : В примерах выше указано, где расположены файлы, но Django не обслуживает их по умолчанию.Мы настроили веб-сервер разработки для обслуживания файлов, изменив глобальный сопоставитель URL-адресов ( /locallibrary/locallibrary/urls.py ) при создании скелета веб-сайта, но все же необходимо включить обслуживание файлов в производственной среде. Мы рассмотрим это позже.

Для получения дополнительной информации о работе со статическими файлами см. Управление статическими файлами в документации Django.

Ссылки на URL-адреса

Базовый шаблон выше представил тег шаблона url .

 
  • Главная страница
  • Этот тег принимает имя функции path () , вызываемой в ваших URL-адресах .py и значения для любых аргументов, которые связанное представление получит от этой функции, и возвращает URL-адрес, который вы можете использовать для ссылки на ресурс.

    Настройка поиска шаблонов

    Вам нужно указать Django для поиска ваших шаблонов в папке шаблонов. Для этого добавьте каталог шаблонов в объект TEMPLATES, отредактировав файл settings.py , как показано жирным шрифтом в следующем примере кода:

     ШАБЛОНОВ = [ { 'НАЗАД': 'django.template.backends.django.DjangoTemplates ', "DIRS": [  os.path.join (BASE_DIR, 'шаблоны'), ], "APP_DIRS": верно, 'ПАРАМЕТРЫ': { 'context_processors': [ 'django.template.context_processors.debug', 'django.template.context_processors.request', 'django.contrib.auth.context_processors.auth', 'django.contrib.messages.context_processors.messages', ], }, }, ] 

    Как это выглядит?

    На этом этапе мы создали все необходимые ресурсы для отображения страницы индекса.Запустите сервер ( python3 manage.py runserver ) и откройте в браузере http://127.0.0.1:8000/. Если все настроено правильно, ваш сайт должен выглядеть как на следующем снимке экрана.

    Примечание: The Все книги и Ссылки всех авторов еще не будут работать, потому что пути, представления и шаблоны для этих страниц не определены. Мы просто вставили заполнители для этих ссылок в шаблон base_generic.html .

    Испытайте себя

    Вот несколько задач, чтобы проверить ваше знакомство с модельными запросами, представлениями и шаблонами.

    1. Базовый шаблон LocalLibrary включает в себя блок заголовка . Переопределите этот блок в шаблоне индекса и создайте новый заголовок для страницы.

      Подсказка: В разделе Расширение шаблонов объясняется, как создавать блоки и расширять блок в другом шаблоне.

    2. Измените представление, чтобы сгенерировать счетчики для жанров и книг , которые содержат определенное слово (без учета регистра), и передать результаты в контекст . Вы делаете это аналогично созданию и использованию num_books и num_instances_available . Затем обновите шаблон индекса, чтобы включить эти переменные.

    Сводка

    Мы только что создали домашнюю страницу для нашего сайта - страницу HTML, которая отображает ряд записей из базы данных и ссылки на другие страницы, которые еще предстоит создать. Попутно мы узнали фундаментальную информацию о преобразователях URL-адресов, представлениях, запросах к базе данных с моделями, передаче информации в шаблон из представления, а также создании и расширении шаблонов.

    В следующей статье мы будем использовать эти знания для создания оставшихся четырех страниц нашего веб-сайта.

    См. Также

    В этом модуле

    .

    Смотрите также