Структура вордпресс. Понимание внутреннего функционирования WordPress

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

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

Подключения файлов темы (теория)

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

Например, мы заходим на страницу рубрики «Плагины» с ярлыком plugins и id 25 - http://example.com/category/plugins . Тогда для генерации кода этой страницы WordPress будет по очереди проверять наличие следующих файлов (проверка прервется на первом существующем файле):

  • category-plugins.php
  • category-25.php
  • category.php
  • archive.php
  • index.php

Полная схема для всех видов страниц и их файлов выглядит так:

Еще одна схема, возможно она понятнее (старая):

Типы страниц и названия файлов

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

Ниже указана страница сайта и соответствующий ей список PHP файлов. Такие файлы должны находится в корневой папке темы.

Записи

Страница (запись page)

  • {любое_название}.php (когда используется шаблон страницы)
  • page-{ярлык_записи}.php
  • page-{ID_записи}.php
  • page.php
  • singular.php
  • index.php

Запись (запись post)

  • single-post-{ярлык_записи}.php
  • single-post.php
  • single.php
  • singular.php
  • index.php

Произвольный тип записи

  • {любое_название}.php (для древовидного типа с поддержкой шаблонов . С WP 4.7)
  • single-{post_type}-{ярлык_записи}.php
  • single-{post_type}.php
  • single.php
  • singular.php
  • index.php

Вложение

  • {начало_MIME_типа}.php
  • {конец_MIME_типа}.php
  • {начало_MIME_типа}-{конец_MIME_типа}.php
  • attachment.php
  • single-attachment-{ярлык_вложения}.php (позволяет указать шаблон для отдельной картинки)
  • single-attachment.php (тоже что и attachment.php)
  • single.php
  • singular.php
  • index.php

Под началом и концом MIME типа, имеется виду первая и последняя часть MIME типа, разделенная / . Например, MIME-тип текстового файла: "text/plain" и значит будет проверяться наличие файл text.php , затем plain.php , затем text-plain.php .

Архивы

404 страница

  • 404.php
  • index.php

Страница поиска

  • search.php
  • index.php

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

  • front-page.php
  • (логика постоянных страниц, если для главной выбрана страница)
  • home.php
  • index.php

Страница блога

Страница блога появляется, когда для главной выбрана постоянная страница

  • home.php
  • index.php

Встраивания (embeds)

Шаблоны встраивания используются когда запрашивается запись через REST API. Встраивания появились в версии 4.5 и позволяют встраивать ваши записи в чужие сайты. См. get_post_embed_url()

  • embed-{post-type}-{post_format}.php
  • embed-{post-type}.php
  • embed.php

Чтобы изменить только контент встраивания, можно в теме создать файл embed-content.php и описать там HTML. Оригинальный HTML находится в файле движка /wp-includes/theme-compat/embed-content.php

Как это работает

За всю логику: какой файл подключать, отвечает файл ядра wp-includes/template-loader.php . Если разобраться, в нем все описано. Но, это занятие не особо интересное, поэтому я его распишу.

Прежде всего. template-loader.php подключается после того как загрузится вся среда WordPress. После того, как отработает файл wp-load.php и обработается основной запрос - функция wp() . Т.е. template-loader.php подключается в самом-самом конце PHP скрипта...

Сначала срабатывает хук template_redirect . В этом хуке можно произвести какие-то проверки и если надо перенаправить на другой URL. В нем нужно обрывать работу скрипта через die() . Т.е. если этот хук что-то меняет, то на этом работа файла template-loader.php должна закончиться и мы «улетаем» на какую-то другую страницу.

Сайты, созданные на движке WordPress, имеют особенную структуру, отличающуюся от структуры

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

Структура размещения материалов на движке WordPress, используемом для создания большинства , не иерархическая, а сетевая, поэтому с первого взгляда непонятна. Это может, в какой-то степени, отпугнуть начинающего веб-мастера от использования CMS WordPress.

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

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

Уникальный сайт с нуля

В структуре любого сайта можно выделить три основных направления:

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

Итак, каков внешний вид сайта на WordPress?

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

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

Под шапкой, а иногда под ней, чаще всего находится основное меню.

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

В средней части страницы находится лента записей и боковая колонка (sidebar) .

Записи (post) – главная часть сайта на WordPress. Именно в них находится основной контент, то, о чем хотел рассказать создатель сайта его посетителям.

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

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

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

Например, шаблон Admired , примененный на данном сайте, позволяет использовать следующие варианты расположения сайдбара:

Сайдбар состоит из отдельных блоков-виджетов (widget) . Их количество и расположение определяется администратором сайта и достаточно легко модифицируется.

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

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

Для навигации по записям используется другая система, основанная на понятиях «рубрика» и «метка».

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

Кроме этого, каждой статье присваиваются метки – слова, характеризующие данную запись. Этих меток может быть тоже несколько, и можно выбирать записи по меткам. Метки видны обычно в конце каждой статьи. Кроме этого, часто в сайдбаре размещают виджет «Облако меток», который показывает все метки и позволяет выбирать статьи, щелкая по этим ключевым словам.

Внешняя структура страницы и структура размещения материалов сайта важны для , а вот файловая структура им не видна. Она, в основном, интересует разработчиков сайта.

Коротко об этой структуре. Как и любой сайт, сайт на WordPress состоит из множества файлов. Рассмотрим самое важное.

Во-первых, весь контент хранится отдельно на сервере в базе данных MySQL.

Во-вторых, в отдельных папках находятся файлы изображений.

И, в-третьих, сами страницы формируются из отдельных php-файлов. Количество этих файлов может быть различным, это тоже зависит от выбора шаблона, но есть основные, обязательные файлы.

Чтобы увидеть эти файлы, нужно в консоли управления WordPress выбрать Внешний вид? Редакто р. С правой стороны откроется список всех файлов WP. Например:

  • Архивы
    (archive.php)

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

Информацию перенес из записи "WordPress заметки, хитрости и хаки ", которая настолько разрослась, что ее нужно уже дробить.

  • Администратор (Administrator) - абсолютный доступ к управлению темами, пользователями, плагинами, настройками, страницами, записями, категориями, комментариями, экспорт-импорт контента.
  • Редактор (Editor) - редактирование, создание, удаление своего и чужого контента, модерация комментариев, редактирование категорий, удаление, редактирование, публикация своих и чужих страниц, записей, загрузка файлов.
  • Автор (Author) - создание, редактирование, публикация и удаление только своего контента - записей. Не может создавать страницы. Имеет права на загрузку изображений, файлов и любых материалов.
  • Участник (Contributor) - может добавлять новый контент - запись, без права публикации. Может редактировать и удалять свои черновики. Не может добавлять изображения к записи, только через использование HTML кода, в котором будет ссылка на изображение. Участники могут также видеть записи в консоли.
  • Подписчик(Subscriber) - можно разрешить подписчикам видеть приватные записи и страницы без дополнительных плагинов или кода.

Структура таблиц в базе данных wordpress:

  • wp_commentmeta – для метаданных комментариев
  • wp_comments – комментарии
  • wp_links – устарела; хранит информацию, введенную в раздел ссылок WordPress
  • wp_options – все, что находится в разделе Параметры панели администратора, хранится в этой таблице, настройки сайта
  • wp_postmeta – метаданные записей
  • wp_posts – записи, страниц, их ревизии и навигационные пункты
    • id - записи, страницы, ревизии
    • post_author - id пользователя - автора.
    • post_date - дата поста
    • post_date_gmt - дата поста в GMT
    • post_content - содержимое поста
    • post_title - title поста
    • post_excerpt – описание поста
    • post_status – статус поста: publish, draft, auto-draft, inherit
    • comment_status – "open" если комментирование поста разрешено и "closed" если запрещено.
    • ping_status
    • post_password - пароль для чтения поста, если он защищен паролем
    • post_name - алиас поста, который будет использоваться в ЧПУ ссылках.
    • to_ping
    • pinged
    • post_modified - дата последней модификации поста
    • post_modified_gmt - дата последней модификации поста в GMT
    • post_content_filtered
    • post_parent - id родительской записи поста, если родителя нет, то значение 0
    • guid – URL записи в виде http://сайт/?p=id для постов или http://сайт/category/test/name - для страниц
    • menu_order – ноль для поста, порядковый номер страницы, используется для определения порядка вывода страниц
    • post_type - тип записи, может быть: post - запись, page - страница, revision - сохраненная версия страницы или записи, attachment - медиа, например страница изображения
    • post_mime_type
    • comment_count - количество комментариев к посту
  • wp_terms – в основном содержит информацию по термам/таксономиям (рубрика, рубрика ссылок, метка, меню)
    • term_id - id терма (например категории)
    • name - имя терма
    • slug - как терм будет писаться в ссылке
  • wp_term_relationships – отношения между записями и рубриками, метками и прочими таксономиями
    • object_id - id записи, ссылки
    • term_taxonomy_id - id рубрики или другого какого-либо терма таксономии (рубрика, рубрика ссылок, метка)
    • term_order - используется для сортировки
  • wp_term_taxonomy – описывает какого типа тот или иной терм
    • term_taxonomy_id - id таксономии
    • term_id - id терма
    • taxonomy - тип таксономии: category, link_category, post_tag, nav_menu
    • parent - родительский терм, если например категория вложена в категорию
    • count - количество объектов (записей, ссылок) связанных с таксономией
  • wp_usermeta – права пользователей и дополнительная информация о зарегистрированных пользователях
  • wp_users – все пользователи

Структура файлов Wordpress

Корневой каталог содержит следующие папки и файлы папки:

  • wp-config.php - в этом php файле прописаны имя и пароль базы данных, кодировка, префикс таблиц, язык, размер кеша, в файл можно добавить много других параметров.
  • Файл.htaccess - файл дополнительной конфигурации веб-сервера Apache, а также подобных ему серверов. Позволяет задавать большое количество дополнительных параметров и разрешений для работы веб-сервера в отдельных каталогах.
  • wp-includes - ядро wordpress. При каждом обновлении папка перезаписывается.
  • wp-admin - CSS, JavaScript и PHP файлы, которые обеспечивают работу админ-консоли. При каждом обновлении папка перезаписывается.
  • wp-content - содержит пользовательские папки и состоит из папок:
    • languages - содержит файлы перевода движка в формате.mo и.po
    • plugins - установленные плагины
    • themes - установленные шаблоны, должен быть установлен хотя-бы один шаблон. Может содержать следующие папки и файлы:
      • index.php - шаблон главной страницы сайта, также подгружает файл сайдбара. Обязательный файл, в корне папки шаблона
      • style.css - обязательный файл, отвечает за css-стили шаблона, в корне папки шаблона
      • header.php – файл, отвечающий за вывод данных в разделе и верхнего меню
      • sidebar.php – файл отвечает за генерацию боковых (дополнительных) колонок. В основном тут виводятся рубрики, теги, банеры.
      • footer.php – файл отвечает за вывод подвала, нижнего меню, копирайтов и закривает HTML-теги
      • single.php – отвечает за отображение отдельных постов.
      • page.php – отвечает за отображение отдельных страниц (например, «Контактв», «Про нас» и т.д.)
      • archive.php – отвечает за вывод страницы архива записпей
      • category.php – формирует страницы, которая выводит публикации по категориям
      • tag.php – шаблон страницы, которая выводит список публикаций по тегам
      • comments.php – файл описывает отображение комментариев
      • functions.php – дополнительный файл с PHP-кодом, благодаря которому можно включать или отключать, добавлять или убирать определенный функционал. В этот файл часто добавляется пользовательский код, если нужно что-то усовершенствовать.
      • /css/ - в этой папке могут находится дополнительные css-файлы
      • /js/ – папка с файлами JavaScript
      • /images/ - папка содержит встроенные в шаблон изображения
      • /languages/ - папка содержит файлы переводов темы
    • uploads - медиа-файлы: изображения, музка, документы и тд.

Теги шаблонов в WordPress

Теги шаблонов - это PHP-функции в WordPress для вывода информации или для настройки блога, например wp_list_pages() - выводит список страниц в виде ссылок.

В самом wordpress теги шаблонов описаны в следующих файлах:

  • wp-includes/author-template.php - теги шаблонов, связанные с автором
  • wp-includes/bookmark-template.php - теги шаблонов, связанные с закладками
  • wp-includes/category-template.php - теги шаблонов обо всех условиях и таксономии, в том числе категориях и тегах
  • wp-includes/comment-template.php - файл для тегов шаблонов отдела комментариев
  • wp-includes/link-template.php - теги шаблонов для ссылок (постоянные ссылки, ссылки прикрепления, архивные ссылки и т.д.)
  • wp-includes/nav-menu-template.php - теги шаблонов для меню навигации
  • wp-includes/post-template.php - теги шаблонов, связанные с постами
  • wp-includes/post-thumbnail-template.php - файл для тегов шаблонов, связанных с миниатюрами записей
  • wp-includes/general-template.php - файл для других тегов шаблонов, которые могут использоваться где угодно

Хотите больше узнать о файловой структуре 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 канал, находите меня в ВКонтакте и в Твиттере.

Добрый вечер, друзья-товарищи!

Готовил к публикации статью на другую тему, но столкнулся с тем, что описываемые изменения опять затрагивали файл в папке wp-includes . Напомню, что в статье мы уже редактировали файл из этой папки – /wp_includes/taxonomy.php . Тогда меня смутил этот момент и, вот, опять я пришел к этому. Поэтому, прежде, чем двигаться дальше – решил окончательно разобраться можно ли вносить изменения в файлы папки wp-includes ?

Поиск дал однозначный ответ: Редактировать файлы в папке wp-includes НЕЛЬЗЯ!

В wp-includes расположены файлы ядра WordPress и при обновлении могут быть обновлены или удалены, в зависимости от изменений, в очередной версии WP.

Конечно, вы можете внести изменения в системные файлы (код же открытый), но тогда у вас есть два варианта:

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

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

Вывод – нужно бросать эту вредную привычку раз и навсегда!

Каким образом? Повышать свой уровень знаний WordPress. Система создана таким образом, что всегда можно найти вариант изменений без вмешательства в ядро.

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

function my_category_order($orderby, $args) { if($args["orderby"] == "sort") return "t.sort"; else return $orderby; } add_filter("get_terms_orderby", "my_category_order", 10, 2);

function my_category_order ($ orderby , $ args )

if ($ args [ "orderby" ] == "sort" )

return "t.sort" ;

else

return $ orderby ;

add_filter ("get_terms_orderby" , "my_category_order" , 10 , 2 ) ;

Функция get_terms_orderby передает поле для условия ORDER BY sql-запроса. А мы добавили дополнительный код к этой функции, в котором фигурирует наше поле для сортировки – sort .

В пунктах 1 и 3 остаётся все без изменений, и таким образом, мы реализовали пользовательскую сортировку категорий без использования плагина. Но, теперь наш код не боится обновлений WordPress. Сортировка будет работать для текущего шаблона, если захотите перенести в другой шаблон – нужно повторять пункты 2 и 3 для новой темы.

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

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

Успехов в изучении WordPress! Берегите себя и клиентов от стрессов! =)