Меню

Настройка плагина wp content



Папка wp-content — руководство для начинающих по наиболее важному каталогу WordPress

Доброго времени суток!

Сегодня я бы хотел рассказать вам о самом главном каталоге в установке WordPress — wp-content.

Что такое wp-content? Это может быть ваша первая реакция в качестве новичка WordPress или если вы в основном работаете с WordPress через бэкэнд. Ведь среднестатистический владелец сайта большую часть времени проводит в личном кабинете.

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

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

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

Одна из самых центральных его частей — папка wp-content. По этой причине, в этой статье я хочу подробно рассмотреть именно это. Мы поговорим о том, где находится wp-content, его назначение, что в нем содержится и что она позволяет делать.

Готовы окунуться в эту часть WordPress? Тогда поехали.

Как получить доступ к wp-content

Если вы не внесли существенных изменений в свою файловую структуру или не переименовали wp-content во что-то еще (подробнее об этом ниже), вы должны найти его в середине вашей установки WordPress.

Как и wp-admin и wp-includes, wp-content является частью каждой стандартной установки WordPress и будет создаваться автоматически при каждой установке CMS на сервер.

Таким образом, чтобы получить к нему доступ, все, что вам нужно сделать, это войти на свой FTP-сервер (например, через FileZilla). В зависимости от настроек вашего хоста, вам может потребоваться перейти в другую папку, например public_html, чтобы попасть на ваш сайт, однако, как только вы там окажетесь, именно там вы найдете каталог wp-content.

Какова цель wp-content?

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

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

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

Сначала загрузите последнюю версию WordPress. Затем зайдите в главный каталог вашего тестового сайта. Здесь отметьте каждый файл и каталог, за исключением wp-content и wp-config.php (если он виден, вы также можете захотеть оставить файл .htaccess).

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

Чтобы исправить ситуацию, перейдите на свежую версию WordPress, которую вы только что загрузили. Распакуйте архив и получите доступ к каталогу.

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

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

Благодаря папке wp-content и базе данных WordPress ничего особенного для вашего сайта не было потеряно. Аккуратно, правда?

Итак, что же тогда находится внутри wp-content?

Почему вышеуказанный эксперимент работает? Поскольку, как уже упоминалось, wp-content содержит все пользовательские данные, которые не хранятся в базе данных. Это становится еще более очевидным, когда вы открываете каталог.

Стандартные каталоги в папке wp-content

Как правило, wp-content будет содержать как минимум три каталога: плагины (plugins), темы (themes) и загрузки (uploads). Вот для чего они используются:

  • Плагины. Как видно из названия, именно здесь WordPress хранит плагины. При установке плагина через меню в панели инструментов, он будет в конечном итоге здесь. И наоборот, можно также установить плагины вручную, извлекая и копируя их в этот каталог. Это сделает их доступными для активации в панели управления WordPress.
  • Темы — аналогично папке плагинов, но для тем. Установите тему из бэкэнда и потом вы найдете ее в этом каталоге. Или скопируйте темы в эту папку, чтобы сделать их доступными в бэкэнде. Это также папка, в которой вы будете тратить много времени на создание или изменение собственной темы или дочерней темы.
  • Загрузка — здесь WordPress хранит все ваши медиафайлы, такие как изображения, видео или другие файлы, которые вы загружаете на свой сайт. По умолчанию медиафайлы упорядочены в подпапках, обозначая год и месяц их добавления на сайт. Однако также возможно отключить эту опцию, и все файлы окажутся в одном каталоге.
Читайте также:  Установка и настройка подкасты

Итак, это стандартная настройка WordPress. Однако, особенно на более авторитетных сайтах, вы часто найдете дополнительные папки внутри каталога wp-content.

Другие общие папки

В зависимости от плагинов, тем и других вещей, присутствующих на вашем сайте, вы также можете найти это внутри wp-content:

  • Mu-plugins — это сокращение от обязательных плагинов. Плагины для обязательного использования поставляются с некоторыми темами и имеют решающее значение для работы вашей темы и сайта. Если они существуют, вы найдете их в этой папке.
  • Languages (языки) — если ваш сайт не использует английский, но является одним из многих других языков, на которых доступна CMS, WordPress сохранит языковые файлы в этом каталоге.
  • Upgrade (обновление) — это временная папка, созданная WordPress при обновлении сайта до новой версии.

Помимо этого, другие плагины могут иногда создавать свои собственные каталоги внутри wp-content. Например, W3 Total Cache и WP Super Cache могут хранить здесь некоторые файлы.

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

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

Когда использовать wp-content

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

Исправление важных ошибок

Содержание wp-content иногда может быть причиной распространенных ошибок WordPress. В частности, те, которые вызваны плагинами и темами.

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

Переименовать wp-content

Несмотря на свою жизненно важную функцию, название wp-content не высечено на камне. Вполне возможно изменить его на что-то другое (как, кстати, с папками внутри wp-content).

Зачем вам это может понадобиться? Короче говоря, безопасность.

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

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

О wp-content в двух словах

Папка wp-content является неотъемлемой частью любой установки WordPress, поэтому вы найдете ее в главном каталоге любого сайта, построенного на платформе WordPress.

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

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

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

У вас есть еще вопросы по wp-content? Если это так, пожалуйста, сообщите мне об этом в комментариях ниже.

Источник

Папка wp-content

WordPress состоит из 3 папок wp-includes , wp-admin , wp-content и из нескольких файлов рядом с этими папками. Все файлы и две папки, кроме wp-content — это и есть сам WordPress, движок.

Т.е. каталоги: wp-includes и wp-admin — это ядро WordPress, а wp-content — это все остальное — все пользовательские данные.

В директории wp-content хранятся практически все пользовательские файлы, кроме файла конфигурации wp-config.php , который является неотъемлемой частью ядра/движка. Здесь находятся плагины, темы, файлы плагинов, тем и содержимого сайта. Тут же принято хранить все файлы связанные с расширением возможностей WordPress.

В дистрибутиве WordPres wp-content содержит один файл index.php и 3 папки: plugins , themes , languages .

файл index.php должен находиться в wp-content всегда. Вот его содержимое:

Зачем же он нужен? Он запрещает видеть список файлов в папке. Если index.php не существует, а ваш веб-сервер позволяет смотреть файлы в директориях, то пройдя по ссылке http://example.com/wp-content , можно увидеть все файлы и папки в этой директории. Это могут использовать хакеры, чтобы получить доступ к файлам ключей, что позволит взломать сайт. Например, если у вас установлен уязвимый плагин, то сайт можно будет легко проверить на наличие этого уязвимого плагина, а дальше атакующий быстро сможет взломать сайт.

Читайте также:  Настройка двух сетевых адаптеров

При обновлении WordPress вручную, никогда не трогайте папку wp-content и ничего в ней. Она к обновлению WordPress никакого отношения не имеет.

Список того, что может находиться в каталоге wp-content :

/mu-plugins — обязательные плагины

В WordPress есть «Обязательные плагины», они находится в директории wp-content/mu-plugins . О них я писал отдельно, обязательно ознакомьтесь!

Коротко об обязательных плагинах: Обязательные к использованию плагины (Must-use plugins), известные также под названием mu-plugins — это плагины, которые устанавливаются в специальную папку mu-plugins в каталоге контента wp-content и активируются автоматически (всегда активны) для сайта и сайтов сети. Эти плагины не видно среди обычных плагинов. В админ-панели они отображаются в верхней информационной строке и их невозможно отключить, кроме как удалить файл плагина из каталога wp-content/mu-plugins .

Плагины находятся в директории wp-content/plugins . Плагин может представлять собой один или несколько файлов внутри папки. Любые файлы в директории /plugins сканируются WordPress, чтобы определить, является ли файл файлом плагина. Если файл определяется как плагин, он появляется в админ-панели в разделе «Плагины» и готов к активации.

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

Темы хранятся в директории wp-content/themes . Каждая тема должна находиться в собственной папке и содержать правильно оформленный файл style.css , чтобы WordPress распознал ее как тему, пригодную для использования. В директории темы должны находиться как минимум 2 файла: index.php и style.css .

WordPress может хранить в этой директории сколько угодно тем. Вы можете легко посмотреть любую имеющуюся тему или активировать её во вкладке Внешний вид ► Темы в админ-панели.

/uploads — медиафайлы и загрузки

WordPress хранит загруженные файлы в папке wp-content/uploads . Эта директория не существует в дистрибутиве WordPress по умолчанию. Она создается при первой загрузке файла в WordPress. Отдельное создание необходимо, потому что эта папка может быть перемещена в другое место (см. ниже)

По умолчанию WordPress хранит загрузки в папке по месяцам и годам:

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

Директория uploads должна иметь все права, чтобы в ней можно было свободно создавать и удалять файлы, обычно это права 777 .

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

uploads в Multisite

В Multisite установке для основного сайта фалы загружаются как обычно. А для всех дополнительных сайтов, создается папка /wp-content/uploads/sites/2 , где 2 — это ID сайта сети.

Так для каждого сайта создается папка с его ID в папке /wp-content/uploads/sites . Далее файлы также располагаются в папках по году и месяцу.

Такой подход позволяет разделить загрузки для каждого сайта и упрощает их обслуживание.

До версии WP 3.5 файлы дополнительных сайтов располагались не в /wp-content/uploads/sites , а в /wp-content/blogs.dir .

Так например, директория для сайта с ID 3 выглядит так:

  • WP 3.5 и выше: /wp-content/uploads/sites/3
  • WP 3.4 и ниже: /wp-content/blogs.dir/3
Перемещение папки uploads

Чтобы переместить папку uploads нужно определить константу UPLOADS в wp-config.php так:

Или можно изменить опции: ‘upload_path’ и ‘upload_url_path’ в таблице опций (см. update_option()).

Перемещать папку uploads не рекомендуется, об этом я писал в статье: Баг с перемещением папки uploads.

Директория wp-content/upgrade создается WordPress автоматически при обновлении WordPress. Эта папка используется для хранения новой версии WordPress, скачанной с WordPress.org. Перед обновлением, WordPress скачивает архив и извлекает его содержимое в эту папку. Чтобы процесс автоматического обновления протекал успешно, рекомендуется не трогать эту папку. Если данная директория удалена, WordPress создаст её при следующем обновлении.

Каталог wp-content/languages присутствует только в том случае, если вы устанавливаете не английскую версию WordPress. В нем содержаться все файлы локализации (перевода) WordPress. Такие файлы имеют расширения:

  • .mo — сжатая версия аналогичного .po файла, которая используется при переводе;
  • .po — исходный файл перевода. Этот файл можно использовать для редактирования перевода. После редактирования его нужно скомпилировать в сжатую версию с расширением .mo .

Также в languages могут находиться специальные поддиректории:

/pliugns — содержит переводы плагинов. Файл перевода должен иметь формат: название плагина-локаль.mo , например: akismet-ru_RU.mo . Перед загрузкой своего файла перевода, плагин проверяет наличие файла перевода в этой папке и если он там есть, то используется этот файл перевода, а не родной перевод плагина.

Читайте также:  Настройка сайта для смартфонов
  • /themes — содержит переводы тем. Файл перевода должен иметь формат: название темы-локаль.mo , например: twentyfifteen-ru_RU.mo . Также как и с плагинами — эти файлы имеют больший приоритет перед родными файлами перевода темы.
  • меню

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

    Например плагин WP Super Cache создает директорию /wp-content/cache для хранения кэшированных страниц сайта. Кэшированная страница — это сгенерированная страница сайта, сохраненная как статический файл HTML. При обращении к такой странице она не генерируется повторно, а отдается статический файл. Это и есть страничный кэш, который уменьшает нагрузку сервера в десятки раз, поскольку страницы не генерируются при каждом просмотре, а создаются только когда кэш перезаписывается.

    Плагин WP Super Cache также добавляет два файла в директорию wp-content: advanced-cache.php (специальный) и wp-cache-config.php. Они нужны для работы WP Super Cache.

    Другой пример, популярный плагин для галерей — NextGen Gallery — создает директорию /wp-content/gallery для хранения изображений, загруженных в галереи. Каждая созданная галерея представляет собой поддиректорию /gallery .

    Еще пример, мой плагин Kama Thumbnail, который также создает папку /wp-content/cache/thumb и записывает в нее созданные файлы миниатюр.

    Вызывается на самом раннем этапе загрузки WordPress, в файле wp-settings.php , если константа WP_CACHE включена. Вот так выглядит вызов:

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

    Вызывается из функции wp_start_object_cache(), которая в свою очередь вызывается из файла wp-settings.php чуть позднее advanced-cache.php . В отличии от advanced-cache.php , object-cache.php срабатывает всегда, если он существует. Он нужен, чтобы переопределить работу базового кэширования объектов WordPress.

    На основе этого файла работают такие кэши объектов как: Memcache, Memcached, APC, XCache.

    Вызов выглядит так:

    wp-content/maintenance.php отвечает за вывод страницы-заглушки, которая показывается в момент автообновления WoordPress. Такая страница определена по умолчанию и за её вывод отвечает функция wp_maintenance(). Но если создать файл maintenance.php в wp-content , то за вывод страницы-заглушки будет отвечать содержимое этого файла.

    В maintenance.php нужно описать страницу-заглушку по всем правилам HTML.

    Подробнее читайте в описании функции wp_maintenance()

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

    Если файл существует в папке wp-content — wp-content/db-error.php , тогда вместо дефолтного сообщения WordPress об ошибки соединения с базой данных будет загружен этот файл. В файле нужно создать HTML код страницы об ошибке!

    Страница об ошибке подключения должна устанавливать статус ответа 500, чтобы поисковики не обрабатывали контент.

    Файл db-error.php вызывается функцией dead_db(), а функция в свою очередь вызывается при ошибке подключения к БД.

    Пример такой страницы смотрите здесь.

    Загружается только для мультисайтовой сборки, т.е. когда срабатывает условие is_multisite() и при этом определена константа ‘SUNRISE’ (её нужно определить в файле wp-config.php ).

    Файл wp-content/sunrise.php позволяет на раннем этапе изменить логику работы сайта в сети мультисайт. Например, тут можно установить глобальные переменные $current_site ,
    $current_blog определяющие текущий сайт сети. Или можно изменить префикс таблиц БД — переменная $table_prefix .

    Также в файле sunrise.php можно изменить константы отвечающие за то, где находится каталоги MU плагинов или обычных плагинов. см. wp_plugin_directory_constants()
    .

    sunrise.php подключается еще до константы SHORTINIT.

    sunrise.php подключается в файле wp-includes/ms-settings.php, который в свою очередь подключается в основном загрузочном файле wp-settings.php.

    Позволяет переписать движок работы с БД. Если файл существует в папке wp-content , то он будет вызван до создания подключения к БД. Далее, если в этом файле определить переменную $wpdb , то именно она будет использоваться, как глобальная переменная для работы с БД.

    Благодаря такой логике, можно, например, расширить базовый класс wpdb<> или полностью его заменить.

    Пример расширения базового класса wpdb<> :

    Переименование или перемещение папки wp-content

    В некоторых случаях, например, для уникализации многих URL на всем сайте или для объединения структуры сайта с другим скриптом, или по каким-то еще причинам, нужно чтобы каталог wp-content назвался по-другому или чтобы он находился в другой директории.

    Переместить или переименовать wp-content очень просто. Для этого нужно открыть конфигурационный файл wp-config.php , который лежит в корне вашего сайта и определить в нем две константы:

    • WP_CONTENT_DIR — путь до каталога контента;
    • WP_CONTENT_URL — URL на каталог контента.

    Данный код переименовывает wp-content в data .

    Источник

    Adblock
    detector