Роль структуры файлов и каталогов WordPress
Начало разработки WordPress не является сложной задачей. Речь идет о внесении незначительных изменений в тему, установке и настройке существующих плагинов и использовании доступных хуков. По мере того, как вы продвигаетесь вперед, к вам приходят сложные требования с ожиданием перспективных решений.
Попытка создать такие решения без учета будущих версий WordPress, плагинов и тем может привести к кошмару. Привыкание к существующим файлам/каталогам WordPress и знание их роли жизненно важно для разработки поддерживаемых решений. В этой статье мы рассмотрим существующие файлы и каталоги установки WordPress по умолчанию.
Ниже приведен скриншот типичных файлов и каталогов в вашей установке WordPress:
Давайте посмотрим на некоторые из наиболее важных файлов и каталогов внутри WordPress:
• wp-admin: здесь WordPress хранит файлы, связанные с функциями администратора. Файлы в этом каталоге основаны на файле admin.php. Основные функции этих файлов включают проверку разрешений администратора, подключение к базе данных и загрузку функций панели администратора. Этот каталог обновляется с обновлениями версии WordPress, и, следовательно, содержимое этих файлов заменяется.
• wp-content: здесь WordPress хранит загруженные пользователем файлы, такие как плагины, темы и медиафайлы. Мы можем добавить сюда дополнительные файлы/каталоги, не подвергаясь влиянию обновлений версии WordPress. Таким образом, содержимое этого каталога не будет заменено.
• wp-includes: это самый большой каталог в WordPress с более чем 800 файлами для обеспечения возможностей панели администратора, а также функций внешнего интерфейса. Основной файл в этом каталоге — functions.php, который считается основным API WordPress. Этот каталог обновляется с обновлениями версии WordPress, и, следовательно, содержимое этих файлов заменяется.
• .htaccess: в этом файле вы описываете правила конфигурации для вашего сервера Apache. По умолчанию он будет содержать минимум правил. Вы можете вручную добавить правила конфигурации в соответствии с вашими требованиями. Есть плагины, которые автоматически добавляют в этот файл необходимые правила конфигурации. Этот файл используется для настройки постоянных ссылок WordPress. Изменение структуры постоянных ссылок из раздела настроек WordPress — самый простой способ отслеживать изменения правил в этом файле.
• index.php: этот файл отвечает за инициализацию WordPress на основе запросов пользователей и обслуживание ответов.
• wp-config.php: этот файл используется для всех конфигураций вашего сайта, включая базы данных, секретные ключи, плагины и пути к каталогам тем. Поэтому очень важно, чтобы этот файл был как можно более безопасным. Этот файл не заменяется при обновлении версии WordPress, поэтому вы можете использовать свои собственные конфигурации.
Здесь мы рассмотрели наиболее важные файлы и каталоги, задействованные в разработке. Вы также можете проверить комментарии к другим основным файлам, чтобы понять их функциональность.
Как выбрать файлы и каталоги для разработки
Процесс разработки WordPress немного сложнее по сравнению с другими PHP-фреймворками. С любой другой платформой мы выбираем конкретную версию платформы и разрабатываем функции для этой конкретной версии. Совершенно необязательно обновлять будущие версии платформы нашего решения.
Однако с WordPress все наоборот. Мы не можем долго придерживаться определенной версии WordPress, особенно из соображений безопасности. Большинство из вас захочет обновить версию, как только WordPress выпустит новую версию. Поэтому важно разрабатывать решения, которые не ломаются при обновлении версии. По сути, мы должны иметь возможность обновить WordPress, не касаясь нашего кода.
Итак, первое, что вам нужно понять, это то, где вы можете разместить свои файлы кода и как вы можете использовать основные файлы/каталоги WordPress в процессе разработки. Мы обсудили основные файлы и каталоги внутри каталога WordPress в предыдущем разделе. Давайте сузим его до файлов и папок, используемых для пользовательской разработки. По сути, мы должны выбирать файлы и папки, которые не заменяются обновлениями WordPress. Среди файлов и папок, которые мы обсуждали, обновления не затрагивают wp-content, wp-config.php и htaccess. Итак, наша разработка должна быть сосредоточена на этих файлах и папках.
Как мы уже упоминали, wp-content — это каталог, в котором хранятся все загруженные пользователем файлы. Итак, нам нужно добавить файлы нашего кода в этот каталог. Давайте изучим содержимое этого каталога, чтобы понять, где и какие типы файлов могут быть созданы.
Ниже приведен скриншот файлов и папок внутри папки wp-content:
Предыдущий снимок экрана содержит как каталоги по умолчанию, так и пользовательские каталоги, созданные на основе пользовательских требований. Давайте кратко рассмотрим роль каждой папки:
• плагины: здесь WordPress хранит все плагины, необходимые для работы вашего сайта. Вы получите плагины Akismet Anti-Spam и Hello Dolly при первоначальной установке. Впоследствии вы можете использовать этот каталог для добавления своих собственных плагинов, а также для установки существующих плагинов от других разработчиков. Этот каталог можно считать сердцем разработки WordPress.
• темы: здесь WordPress хранит все ваши темы, от которых зависит дизайн и начальная функциональность вашего сайта. Первоначальная установка содержит несколько тем по умолчанию, таких как Twenty Seventeen, Twenty Sixteen и так далее. Впоследствии вы можете использовать этот каталог для добавления своих собственных тем, а также для установки существующих тем от других разработчиков. В отличие от плагинов, вы можете использовать только одну тему из этого каталога в любой момент времени.
• загрузки: здесь будут храниться все загруженные пользователем файлы для сообщений, страниц и плагинов. Этот каталог не будет создан, пока вы не загрузите первый файл. Обычно все медиафайлы для постов и страниц хранятся со структурой подкаталогов в формате год/месяц. Вы можете создавать неограниченное количество подкаталогов для обработки файлов плагинов и тем.
• языки: этот каталог недоступен при начальной установке и создается при изменении языка в WordPress. Так что для задач разработки это не важно.
• mu-plugins: в этом каталоге хранятся обязательные для использования плагины для вашего сайта, и он недоступен при первоначальной установке. Обязательный плагин — это плагин, который является обязательным для запуска сайта и, следовательно, его невозможно деактивировать. Эти плагины автоматически включаются на всех сайтах вашей установки WordPress. Несмотря на то, что эти плагины полезны в некоторых сценариях, их использование не идеально из-за некоторых ограничений при выполнении определенных хуков. Поэтому мы не рассматриваем их для задач развития этой книги.
• upgrade: этот каталог недоступен по умолчанию и используется для хранения временных файлов для обновлений версий WordPress. Так что это важно для наших задач разработки.
• кэш и журналы: это некоторые из настраиваемых каталогов, созданных плагинами или темами для обработки определенных функций. Я использовал их на этом снимке экрана, чтобы объяснить использование пользовательских папок. Вы можете создавать такие пользовательские папки для обработки файлов, связанных с темами или плагинами.
Проведя краткий обзор файлов и каталогов, мы можем прийти к выводу, что наше основное внимание должно быть сосредоточено на каталогах плагинов, тем и загрузок внутри каталога wp-content. Использование кода и мультимедийных файлов в этих каталогах гарантирует, что наши решения не будут удалены при обновлении версии.
Если вам понравилось читать эту статью, вы можете проверить Краткое руководство по разработке WordPress для создания красивых и динамичных веб-сайтов для вашего домена с нуля. WordPress — самая используемая CMS в мире, и это идеальный способ поделиться своими знаниями с большим сообществом, а также построить прибыльный бизнес. Начало работы с разработкой WordPress часто было проблемой для начинающих разработчиков, и Краткое руководство по разработке WordPress поможет найти свой путь.