Как изменить файловую структуру вордпресс. Иерархия файлов темы (шаблона) Wp includes что в этой папке

💖 Нравится? Поделись с друзьями ссылкой

Файлы шаблонов это основной строительный материал вашего сайта на WordPress. Они соединяются вместе как кусочки пазла для формирования web-страниц на вашем сайте. Некоторые шаблоны, например, заголовок (header) и "подвал" (footer) обычно используются на всех web-страницах сайта, в то время как остальные могут использоваться только при некоторых условиях.

Традиционная web-страница состоит из двух файлов:

  • содержит структуру и контент страницы
  • содержит параметры внешнего вида страницы.

В WordPress присутствует структура (X)HTML и стили CSS, но контент формируется "за кулисами" различными . Файлы шаблона и таблицы стилей хранятся вместе с . Чтобы узнать больше про создание тем, прочтите статью .

Структура страницы WordPress

Простая web-страница WordPress сделана из трех основных блоков: заголовок (header), контент и подвал (footer). Каждый из этих блоков формируется на основе файла шаблона текущей темы WordPress.

Заголовок

  • Заголовок содержит всю информацию, которая должна быть наверху — т.е. внутри тега — вашей XHTML web-страницы, так же, как и теги , и ссылки на таблицы стилей. Он также включает открытый тег и видимый вашего блога (который обычно содержит название вашего сайта, а также может содержать навигационное меню, логотип, описание сайта и т.д.).
  • Блок контента содержит записи и страницы вашего блога, т.е. "основу" сайта.
  • Подвал содержит информацию, которая находится в самом низу страницы, например ссылки на остальные или категории вашего сайта в , авторские права, контактную информацию и т.п.

Основные файлы шаблона

Чтобы сформировать структуру , начните с файла шаблона index.php в папке вашей темы. У этого файла две основные функции:

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

В нашей упрощенной структуре нам достаточно включить два других файла шаблона: заголовок и подвал . Они должны быть названы header.php и footer.php . , которые включают их, выглядят так:

Если нужно показать записи и страницы вашего блога (и настроить их внешний вид), файл index.php должен запустить между вызовами файлов заголовка и подвала.

Более сложные структуры страниц

Заголовок

Боковая панель

Множество тем WordPress используют одну или несколько , которые содержат и дополнительную информацию о вашем сайте. Боковая панель формируется с помощью файла шаблона sidebar.php . Он может быть включен в файл шаблона index.php с помощью следующей строки ():

А где все остальное?

Заметьте, что мы не включили шаблонный тег для "получения" контента нашей web-страницы. Это потому, что контент формируется в , внутри index.php .

Файлы шаблонов внутри файлов шаблонов

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

Например, sidebar.php может содержать файл шаблона, который формирует строку поиска — searchform.php . Т.к. это не один из стандартных файлов шаблона WordPress, код для включения будет немного отличаться:

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

Заголовок

Форма комментариев

Боковая панель

Форма поиска

Множество тем WordPress включают в себя различные файлы шаблона для формирования web-страниц на сайте. Ниже приведен список типичных файлов для основного шаблона (index.php) сайта на WordPress:

  • header.php
    • theloop.php (контент)
    • wp-comments.php
  • sidebar.php
    • searchform.php
  • footer.php

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

Специальные файлы шаблона

В WordPress существуют два основных вида страниц на сайте. Вид одиночной записи используется, когда web-страница показывает одну запись из блога. Вид нескольких записей выводит список множества записей блога или сводку записей, и применяется к архивам категорий, архивам дат, архивам автора и (обычно) к "нормальному" виду домашней страницы блога. Вы можете использовать файл шаблона index.php для формирования всех этих типов страниц или положиться на для выбора других файлов шаблона в зависимости от ситуации.

Иерархия шаблонов WordPress отвечает на следующий вопрос:

Какой файл шаблона будет использовать WordPress при формировании определенного типа страниц?

WordPress автоматически распознает файлы шаблона с определенными стандартными именами и использует их для определенного типа страниц. Например, когда пользователь кликает на заголовок записи блога, WordPress знает, что тот хочет увидеть именно эту статью на своей собственной странице. WordPress будет использовать файл шаблона single.php вместо index.php для формирования страницы — если в вашей теме есть файл single.php . Так же, если пользователь кликнет на ссылку для конкретной категории, WordPress будет использовать шаблон category.php , если найдет его; если нет, он будет искать archive.php , а если и этот шаблон не существует, WordPress будет использовать основной шаблон index.php . Вы можете сделать специальный шаблон для конкретной категории (см. ), или даже шаблоны .

Здесь приведены несколько советов по созданию файлов шаблонов:

Отслеживайте открывающие и закрывающие теги Файлы шаблона подразумевают использование тегов и ссылок на . Элементы HTML и ссылки на CSS могут "пересекать" файлы шаблона, т.е. начинаться в одном файле и заканчиваться в другом. Например, HTML элементы html и body обычно начинаются в header.php и заканчиваются в footer.php . Большинство тем WordPress используют HTML элементы div , которые также могут охватывать несколько файлов. Например, основной div для контента страницы может начаться в header.php и закончиться либо в index.php , либо в single.php . Отслеживание начала и конца элементов HTML может быть довольно сложным в процессе . Используйте

Если вы хотите использовать весь потенциал WordPress, то вам непременно нужно узнать больше о шаблонах. Когда WordPress отображает страницу, он использует шаблоны, чтобы определить, как всё должно выглядеть. Более того, CMS придерживается строгой иерархии, благодаря которой всё выглядит организованно и слаженно. Зная, что такое иерархия шаблонов WordPress и как она работает, вы сможете более точно настроить тему своего сайта.

Иерархия шаблонов WordPress состоит из семи основных категорий:

  1. Главная страница сайта
  2. Одиночная запись
  3. Статическая страница
  4. Страница категорий и тегов
  5. Пользовательские типы записей
  6. Страница результатов поиска
  7. Страница 404 (ничего не найдено)

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

Введение в файлы шаблонов (и как они соотносятся с темами WordPress)

Когда вы создаёте простой статический веб-сайт, вы обычно просто используете HTML и CSS для рендеринга и настройки его внешнего вида. WordPress, с другой стороны, намного мощнее. Платформа построена на языке PHP , и она использует несколько специальных файлов.php для определения того, как формируются отдельные части ваших страниц сайта.

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

Боковые панели – это, конечно, только одна из частей полной страницы. Для большинства страниц WordPress требуется несколько файлов шаблонов для работы, в том числе:

  • index.php
  • header.php
  • sidebar.php
  • footer.php
  • functions.php
  • single.php
  • comments.php

Надо отметить, что это не все файлы-шаблоны, которые вы можете найти в WordPress. header.php , sidebar.php и footer.php , особенно важны, поскольку они известны как ‘часть шаблона’ («template partials’). Это означает, что они могут быть встроены в другие шаблоны.

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

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

Теперь, когда вы понимаете, как WordPress отображает ваши страницы, становиться понятно, что темы – это, в основном, коллекция файлов-шаблонов. На практике для темы требуется только один файл шаблона, и это – index.php . Тем не менее, большинство тем включает в себя гораздо больше шаблонов. Для тех моментов, которые не описаны в выбранной теме, WordPress возвращается к другим файлам в своей иерархии, чтобы заполнить эти пробелы.

Как работает иерархия шаблонов WordPress

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

Например, если вы попытаетесь загрузить страницу для абстрактной категории хостинга , то вот что будет происходить в фоновом режиме:

  1. WordPress будет искать файл шаблона под названием category-hosting.php в каталоге текущей темы.
  2. Если файл category-hosting.php не будет найден, WordPress будет искать тот, который использует идентификатор категории, например, category-2.php .
  3. Если WordPress не найдёт ни одного из этих параметров, он будет искать общий файл category.php .
  4. Если же и файл с именем category.php не будет найден, WordPress откатится назад и будет искать шаблон archive.php .
  5. Наконец, если все остальные действия закончатся безуспешно, платформа загрузит файл index.php вашей темы и будет использовать его в качестве шаблона страницы.

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

Объяснение иерархии шаблонов WordPress (7 категорий)

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

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

Прежде всего, давайте поговорим о первой (главной, домашней) странице вашего сайта. Когда WordPress загружает главную или домашнюю страницу, первое, что он будет искать, это файл front-page.php . Если этот файл недоступен, платформа вернётся к home.php . Если оба файла будут отсутствовать, WordPress обратится к неизменно надёжному файлу index.php , который всегда есть (иначе ваша тема не будет работать).

Иными словами, данная иерархия подразделяется так:

  1. front-page.php
  2. home.php
  3. index.php

Даже если эти три файла будут одинаковыми, WordPress по-прежнему будет следовать своей внутренней логике. Конечно, эта конкретная иерархия довольно проста. Перейдём к категории страниц, которая немного сложнее.

2. Одиночная запись

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

Вот как работает иерархия одиночных записей:

  1. single-{post-type}.php
  2. single.php
  3. singular.php
  4. index.php

Вероятно, вы не узнаете некоторые из этих файлов шаблонов, поэтому давайте дадим им некоторый контекст. Вначале списка single-{post-type}-{slug}.php . Более понятным примером может быть single-product-ca-12.php , в случае интернет-магазина. Иными словами, WordPress будет искать уникальный файл шаблонов для каждого загружаемого вами сообщения в пределах своей конкретной категории. Если платформа не может найти подходящий шаблон, она вернётся на шаг назад к single-{post-type}.php и так далее, пока неминуемо снова не достигнет index.php .

На практике этот подход позволяет создавать пользовательские шаблоны для отдельных записей или продуктов. Однако, если вы предпочитаете использовать один шаблон WordPress для всех своих публикаций, для этого нужен single.php .

3. Статическая страница

Статически страницы попадают в отдельную категорию в WordPress. Например, возьмите сайт Hostinger в целом. https://www.сайт – это наша главная страница, и при обращении к ней загружается шаблон front-page.php . Другие разделы сайта, такие как https://www.сайт/kupit-hosting-sajtov, относятся к категории статических страниц.

Статические страницы реализуют такую иерархию:

  1. Пользовательский файл шаблона
  2. page {slug}.php
  3. page-{id}.php
  4. page.php
  5. singular.php
  6. index.php

Обратите вимание, что первый пункт в списке не является именем файла. Это потому, что WordPress может распознавать несколько типов контента как статические страницы. Например, если вы имеете дело с записью, WordPress по умолчанию будет использовать иерархию, о которой мы говорили ранее. Статические страницы, с другой стороны (такие как, /kupit-hosting-sajtov), будут перемещаться прямо на page-slug.php . В нашем примере это будет page-kupit-hosting-sajtov.php (если такой файл существует).

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

4. Страницы категорий и тегов

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

  1. category {slug}.php
  2. category-{id}.php
  3. category.php
  4. archive.php
  5. index.php

Эта иерархия работает так же, как для одиночных записей и статических страниц. WordPress будет искать шаблон, который является уникальным для категории, которую вы хотите загрузить, сначала по имени файла, которое включает его специальную часть адреса (slug), а затем, перейдёт к его идентификатору. Если этот подход завершится безуспешно, он будет работать с category.php , а затем archive.php . В конце концов, ваш архив WordPress должен включать сообщения из всех ваших категорий, поэтому имеет смысл включить его в эту конкретную иерархию.

В этом разделе мы также упоминаем теги WordPress, потому что и категории и теги являются таксономическими элементами. Кроме того, их иерархии в точности совпадают, за исключением того, что вы заменяете все экземпляры категории ‘category’ на тег ‘tag’, и тогда – category-{slug}.php становится tag-{slug}.php и т.д.

5. Произвольные (пользовательские) типы записей

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

Однако создание произвольных типов записей является темой другого руководства. На данный момент достаточно сказать, что у этих типов контента есть своя иерархия:

  1. archive-{post_type}.php
  2. archive.php
  3. index.php

Как вы можете видеть, данная иерархия формируется не так чётко, как некоторые другие. Тем не менее, по прежнему есть несколько уровней шаблонов, прежде чем перейти к index.php , чего достаточно для создания сложных страниц.

6. Страницы результатов поиска

  1. search.php
  2. index.php

В этом случае WordPress сразу перейдёт к index.php , если не может найти настраиваемый шаблон для вашей страницы результатов поиска. Тем не менее, большинство современных тем будут включать в себя некоторую настройку для вашей страницы поиска.

7. Страница 404 (ничего не найдено)

Страница 404 – это страница ошибки. Обычно вы надеетесь, что ваши пользователи никогда не увидят эти страницы, но позаботиться о них всё же важно на всякий случай. Изначально WordPress не включает настраиваемые страницы ошибок, но их достаточно легко установить.

Если вы создадите собственную страницу ошибок, WordPress будет искать её сначала, как показано в этой иерархии:

  1. 404.php
  2. index.php

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

Иерархия шаблонов WordPress в действии

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

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

  • index.php
  • home.php
  • page.php
  • archive.php
  • category.php

Это небольшая и аккуратная коллекция файлов шаблонов, но её более чем достаточно для работы сайта. В этом случае, если бы вы посетили домашнюю страницу, WordPress загрузил бы шаблон home.php .

Ниже приведены примеры других страниц, которые вы можете посетить, и файлы шаблонов, которые они будут использовать:

  • Случайная запись загрузила бы index.php в качестве файла шаблона, потому что в рассматриваемой иерархии нет других шаблонов.
  • Любая посещаемая категория будет использовать файл шаблона category.php , поскольку такой шаблон WordPress есть в наличии. Если бы его не было, WordPress вместо него загрузил бы archive.php .
  • Ваши статические страницы будут использовать page.php , но они будут по умолчанию переходить к index.php , если первый файл не будет доступен.
  • Поскольку среди шаблонов нет страницы с ошибкой, WordPress будет использовать index.php в качестве шаблона в этой ситуации.

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

Заключение

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

У вас есть вопросы об иерархия шаблонов WordPress и их работе на вашем сайте? Задайте вопрос в разделе комментариев ниже!

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

Внутреннее устройство WordPress

Мы все знаем, как работать с WordPress. Все начинается с входа в панель управления, после чего следует публикация, изменение или загрузка контента, установка или обновление необходимых плагинов, резервное копирование и так далее. Но задумывались ли вы о том, как все это работает?

Базовая основа всех сайтов - HTML (от англ. HyperText Markup Language - «язык гипертекстовой разметки»).

Конечной целью WordPress является генерация HTML-страниц, которая происходит динамически.

Ключевой термин для понимания здесь - «динамически». Термины «HTML-страница» и «веб-страница» являются синонимами. На самом базовом уровне WordPress использует PHP и базу данных SQL для хранения всех своих данных.

Таким образом, у нас есть два объекта:

  • PHP-код, который составляет ядро WordPress
  • и база данных, которая является памятью WordPress.

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

Сюда входят:

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

А вот изображения, документы и другие загружаемые файлы не хранятся в базе данных WordPress. Они лежат в папке « wp_content ». Давайте остановимся на этом более подробно.

Все изображения (и другие медиафайлы), которые загружаются на сайт, хранятся в каталоге « uploads ». Они распределенные по годам, месяцам и дням. Эта папка может считаться базой данных для всех нетекстовых данных - изображений, PDF-файлов, видео, MP3 и другого. Доступ к этой папке и вложенным также должен быть ограничен. Это можно сделать путем изменения файла.htaccess , который находится в каталоге wp_content .

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

Анатомия запросов в WordPress

Или, как мне нравится это называть,

Что происходит, когда кто-то просматривает ваш сайт?

Когда кто-то посещает ваш сайт, WordPress динамически генерирует HTML-код (в соответствии с CSS и JS), который отображается в виде странички сайта. Вы не увидите расширение.html после URL-адреса (как вы могли видеть на некоторых старых веб-сайтах), так как это содержимое генерируется динамически.

Вот что происходит при запросе веб-страницы:

  1. Браузер посетителя запрашивает веб-страницу.
  2. Ядро WordPress (может считаться мозгом WordPress) вызывает требуемые PHP-скрипты, начиная с index.php .
  3. Затем ядро ​​WP соединяется со своей базой данных и извлекает данные (записи, страницы, комментарии и другую информацию).
  4. Затем он объединяет извлеченные данные, данные из активных в настоящее время плагинов и текущую активную тему и генерирует HTML-код «на лету» то есть «динамически».
  5. Затем он обслуживает этот динамически сгенерированный HTML-код в браузере посетителя.

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

Структура директорий WordPress

Файловая структура WordPress очень проста. У вас есть папка public_html , где находятся как правило три ключевые папки, а так же множество других важных файлов, включая wp-config.php и .htaccess

Чтоб получить доступ к файлам и папкам, вы можете использовать файловый менеджер cPanel от вашего хостинг-сервиса или любой обычный

Для этого обзора мы будем использовать самый популярный ftp-клиент — FileZilla. Вот как должна выглядеть папка public_html внутри:

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

# BEGIN WordPress RewriteEngine On RewriteBase / RewriteRule ^index\.php$ - [L] RewriteCond %{REQUEST_FILENAME} !-f RewriteCond %{REQUEST_FILENAME} !-d RewriteRule . /index.php [L] # END WordPress

Затем, есть файл , который по умолчанию представляет вашу домашнюю страницу, если, конечно, он не замещен страницами типа front-page.php или home.php :

Еще один необходимый файл в этой директории – это wp-config.php . Данный файл позволяет задать базовую конфигурацию WordPress, включая настройки для базы данных MySQL , секретные ключи, и информацию о префиксе базы данных. Вот как должны выглядеть настройки вашей базы данных:

// ** MySQL settings - You can get this info from your web host ** // /** The name of the database for WordPress */ define("DB_NAME", "notarealname"); /** MySQL database username */ define("DB_USER", "notarealuser"); /** MySQL database password */ define("DB_PASSWORD", "notarealpassword"); /** MySQL hostname */ define("DB_HOST", "localhost");

Другие примечательные файлы в этой директории – это wp-activate.php , и wp-signup.php , которые все вместе отвечают за регистрацию, авторизацию и процесс подтверждения пользовательской регистрации. Файл wp-comments-post.php отвечает за функцию комментирования и предотвращение дупликации контента, в то время как wp-settings.php отвечает за установку некоторых WordPress-переменных.

Как понятно из названия папки, здесь лежит инструментарий админа. Например, admin.php (сердце данной папки) позволяет вам связать инсталляцию с базой данных, отображает панель управления WordPress и предлагает прочие ключевые функции, такие как, например, проверка того, является ли данный пользователь администратором. Если пользователь является админом, то включается использование файла wp-load.php , который в свою очередь загружает файл wp-config.php :

/** * In WordPress Administration Screens * * @since 2.3.2 */ if (! defined("WP_ADMIN")) { define("WP_ADMIN", true); } if (! defined("WP_NETWORK_ADMIN")) define("WP_NETWORK_ADMIN", false); if (! defined("WP_USER_ADMIN")) define("WP_USER_ADMIN", false); if (! WP_NETWORK_ADMIN && ! WP_USER_ADMIN) { define("WP_BLOG_ADMIN", true); } if (isset($_GET["import"]) && !defined("WP_LOAD_IMPORTERS")) define("WP_LOAD_IMPORTERS", true); require_once(dirname(dirname(__FILE__)) . "/wp-load.php");

Если вы обратите внимание на названия данных файлов, то поймете, что большинство из них говорят пользователю о выполняемых ими функциях, которые вам знакомы по админке WordPress. Например, profile.php выводит экран администрирования пользовательского профиля, theme-install.php контролирует панель установки тем, а plugin-install.php делает тоже самое для панели установки плагинов.

Что касается других важных папок внутри wp-admin , то images заполнены картинками, которые используются в административной панели WordPress, css и js – это «дома» для CSS-кода и JavaScript-скриптов, а network включает PHP-файлы, необходимые для работы мультисайтовости WordPress

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

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

Если у вас возникли какие-то , то следует воспользоваться FTP-доступом для отключения расширений. Сделать это можно удалив или просто временно переименовав папку с конфликтным плагином.

Так же, как и в случае с плагинами, каждая тема имеет собственные подпапки. Если мы откроем папку с любой темой, то увидим там множество PHP-файлов, которые все вместе создают внешний вид и структуру вашей темы. Возьмем знаменитую тему Divi от Elegant Themes в качестве примера, в главной папке которой мы найдем файлы , a functions.php , a sidebar.php , и style.css , среди остальных. Divi также имеет отдельные папки для css, картинок и js темы, что весьма стандартно для большинства качественных тем. Но, как бы то ни было, некоторые другие папки достаточно уникальны, к примеру, epanel и et-pagebuilder :

Еще одна папка – это wp-includes , и она довольно большая. wp-includes содержит все те файлы, которые не вошли в описанные ранее папки. Условно говоря, именно благодаря этой папке сайт работает как часы.

Папка так важна, потому что здесь находится большинство файлов WordPress-ядра. Новая инсталляция WordPress содержит 140 различных файлов в главной директории и 14 разных папок (на момент написания статьи), включая сертификаты, шрифты, js и виджеты.

Но эти подпапки не так важны, как файлы, которые находятся в главной директории, например, functions.php . Этот маленький файл является важной частью ядра WordPress, так как он содержит множество самых разных функций, которые и позволяют WordPress стабильно работать. Например, данные строчки кода – это первое, что вы увидите, если откроете этот файл, и эта функция нужна, чтоб трансформировать данные в другие форматы.

/** * Convert given date string into a different format. * * $format should be either a PHP date format string, e.g. "U" for a Unix * timestamp, or "G" for a Unix timestamp assuming that $date is GMT. * * If $translate is true then the given date and format string will * be passed to date_i18n() for translation. * * @since 0.71 * * @param string $format Format of the date to return. * @param string $date Date string to convert. * @param bool $translate Whether the return date should be translated. Default true. * @return string|int|bool Formatted date string or Unix timestamp. False if $date is empty. */ function mysql2date($format, $date, $translate = true) { if (empty($date)) return false; if ("G" == $format) return strtotime($date . " +0000"); $i = strtotime($date); if ("U" == $format) return $i; if ($translate) return date_i18n($format, $i); else return date($format, $i); }

Другие ключевые файлы – это cache.php (управляет процессом добавления и удаления данных из кеша, а также за отвечает за его закрытие или перезапуск), links.php (функциональность, которая отвечает за ссылки WordPress) и version.php (отвечает за версию WordPress).

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

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

Зачем нужно знать файловую структуру WordPress?

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

В этой статье вы узнаете:

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

А теперь давайте перейдем непосредственно к изучению файловой структуры WordPress.

Доступ к файлам и каталогам WordPress

Для начала зайдите в WordPress сервер через FTP-клиент. Для более подробной информации читайте инструкцию, как использовать FTP для загрузки файлов WordPress (в процессе написания). Более простая альтернатива FTP – это File Manager (веб-приложение со встроенной панелью администрирования cPanel). Как только вы зайдете в WordPress через FTP или File Manager, вы увидите структуру файлов и каталогов примерно таким образом:

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

Вот список этих файлов и папок в корневом каталоге:

  • wp-admin
  • wp-includes
  • wp-activate.php
  • wp-blog-header.php
  • wp-comments-post.php
  • wp-config-sample.php
  • wp-cron.php
  • wp-links-opml.php
  • wp-load.php
  • wp-login.php
  • wp-mail.php
  • wp-settings.php
  • wp-signup.php
  • wp-trackback.php

Файлы конфигурации

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

  • .htaccess– файл конфигурации сервера, WordPress использует его для управления постоянными ссылками и .
  • wp-config.php– сообщает WordPress, как подключиться к базе данных. Он также устанавливает некоторые важные настройки.
  • index.php – индексный файл, который в основном загружает и инициализирует все WordPress файлы при запросе страницы пользователем.

Иногда возникает необходимость редактирования wp-config.php или.htaccess файлов. Будьте при этом предельно внимательны и осторожны. Любая незначительная ошибка может сделать ваш сайт недоступным. Именно поэтому перед тем как что-либо здесь менять обязательно сделайте резервные копии этих файлов. Если в корневом каталоге вы не видите файл.htaccess, то прочтите инструкцию, почему в корневом каталоге не виден файл.htaccess (в стадии написания).

В зависимости от установки WordPress в корневом каталоге у вас могут быть или не быть следующие файлы:

  • robots.txt – содержит все инструкции для ползающих поисковых ботов
  • Favicon.ico – файл favicon иногда генерируется самими хостерами.

В папке wp-content вордпресс хранит все загрузки, плагины и темы.

Давайте заглянем внутрь папки wp-content, чтобы понять, как она работает и что здесь можно делать.

  • themes
  • plugins
  • uploads

WordPress хранит темы сайта в папке /wp-content/themes/. Вы можете редактировать файл темы, однако в основном это не рекомендуется делать. Как только вы обновите версию темы сайта, все ваши изменения будут прописаны во время этого обновления. Именно поэтому рекомендуется для настройки основной темы.

Все загруженные и установленные плагины WordPress хранит в папке / wp - content / plugins / . Не рекомендуется редактировать файлы плагина, если вы только сами не создали плагин для нужд сайта.

Во многих WordPress инструкциях можно увидеть коды, которые вставляются на сайт. Лучше всего их добавлять в файл дочерней темы functions.php или в плагин site-specific.

WordPress хранит все изображения и медиа загрузки в папке / wp - content / uploads / . По умолчанию они хранятся в папках по принципу / year / month / . Каждый раз при бэкапе сайта, не забывайте об этой папке.

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

В каталоге wp-content хранятся также другие стандартные папки, как например:

  • languages – в этой папке хранятся все языковые файлы не англоязычных сайтов.
  • upgrade – это временная папка, создаваемая WordPress при обновлении версии сайта.

В wp-content также хранятся папки, которые создаются плагинами. Например, на скриншоте выше представлена папка галереи, созданная плагином . В некоторых из этих папок могут храниться очень важные файлы. Например, в папке «gallery» хранятся все изображения. Всегда делайте резервные копии подобных папок, чтобы избежать потери важных данных.

Другие папки содержат файлы, которые можно смело удалять. Например, W3 Total Cache или WP Super Cache в своих папках могут хранить кэшированные файлы.

Вот и все. Надеюсь, эта статья помогла вам разобраться в файловой структуре WordPress.

Не забывайте подписываться на мой YouTube канал, находите меня в ВКонтакте и в Твиттере.



Рассказать друзьям