Где находится файл functions php в вордпресс
Термин «ядро WordPress» (WordPress core) относится ко всем основным файлам, которые необходимы сайту WordPress для работы.
В этой статье мы подробно рассмотрим ядро WordPress. К концу статьи вы, как администратор сайта, будете точно знать, что означает ядро WordPress, что оно делает, как загружается WordPress и многое другое.
Теперь ты знаешь что такое ядро WordPress
Если вы дочитали эту статью до конца, я надеюсь, что теперь у вас есть полное представление о ядре WordPress. Если у вас есть дополнительные вопросы, пишите в комментариях ниже.
Файл functions.php для WordPress неоднократно упоминался в данном блоге при решении тех или иных задач. Однако при этом я говорил о нем вскользь, подразумевая, что вы хорошо знакомы с его работой. Сегодня же наоборот, решил детально рассмотреть все нюансы, которые касаются файла функций functions.php: зачем он вообще нужен, как правильно и безошибочно с ним работать и т.п. Инструмент на самом деле весьма актуальный как при работе с админкой, так и в процессе редактирования темы. Пусть информация и немного теоретическая, почитать будет полезно (особенно новичкам).
Статья имеет 3 подраздела:
Компоненты сайта, не включенные в ядро WordPress
Теперь, давайте рассмотрим то, что не включено в файлы ядра.
База данных WordPress — в базе данных WordPress хранится большая часть контента вашего сайта WordPress.
- Файл .htaccess файл — этот файл управляет поведением веб-сервера apache на вашем сервере.
- Файлы тем (каталог themes) WordPress — файлы тем WordPress отделены от ядра WordPress.
- Файлы плагинов (каталог plugins) WordPress — они также отделены от ядра.
Файл .htaccess
.htaccess означает «hypertext access». Файл .htaccess управляет доступом к файлам и папкам системы. Этот файл также контролирует структуру ваших постоянных ссылок. Сразу отметим, что не все хосты поддерживают файл .htaccess . Он работает только для серверов с Apache.
Основные файлы WordPress (ядро WordPress)
В системе есть два самых важных файла WordPress, это:
wp-config.php — этот файл управляет всеми основными настройками вашего сайта, включая информацию о подключении к базе данных.
functions.php — это один из самых важных рабочих файлов WordPress, он лежит в папке ядра wp-includes .
Важное примечание: ваша тема также имеет файл functions.php , и это файл, который вы можете редактировать. Основной файл, содержащийся в папке wp-includes вашего сайта редактировать нельзя.
В корневой папке WordPress есть много файлов, которые очень важны для работы вашего сайта — это файлы .htaccess и wp-config.php .
В ядре WordPress также есть две важные папки:
wp-content — эта папка содержит ваши плагины (plugins), темы (themes) и файлы мультимедиа (uploads).
wp-admin — эта папка содержит все файлы, которые управляют панелью администратора WordPress.
Важно: не рекомендуется вносить изменения в основные файлы WordPress по двум причинам:
- Любое обновление WordPress перезапишет ваши изменения.
- Основные файлы WordPress предназначены для работы без настройки.
Есть лучшие способы внести изменения в основные функции WordPress — это плагины, настройки и файлы в темах.
Если вы хотите редактировать основные файлы в WordPress, обязательно сделайте резервную копию своего сайта с помощью плагина резервного копирования или вручную.
11. Использование SSL на странице логина и в админке
В документации wp-config.php есть 2 функции, которые позволяют использовать SSL. FORCE_SSL_LOGIN включает использование SSL на страницах авторизации, но не в админке Вордпресс. Это добавляет защиты и не замедляет работу в админке.
FORCE_SSL_ADMIN включает SSL на страницах логина и в админке Вордпресс.
Если вы будете использовать FORCE_SSL_ADMIN , то FORCE_SSL_LOGIN можно удалить из правила.
Что такое дочерняя тема
Дочерняя тема — это отдельная тема, которая зависит и основывается на функционале родительской темы. Дочерняя тема заимствует функционал и внешний вид у родительской темы, и может добавлять новый функционал без редактирования родительской темы.
Платные и бесплатные темы имеют большее или меньшее количество настроек, но если вы хотите добавить собственные изменения в используемую тему, то правильнее добавлять их в дочернюю тему.
Если вы добавите код напрямую в файлы родительской темы, то при следующем обновлении темы ваши изменения будут заменены новыми файлами темы.
Дочерняя тема решает эту проблему, позволяя добавлять изменения в отдельные файлы, которые остаются нетронутыми при обновлении родительской темы.
Когда вы используете дочернюю тему, Вордпресс сначала проверяет дочернюю тему на наличие нужного функционала, и если в дочерней теме этого функционала нет, Вордпресс использует функционал из родительской темы.
Два аргумента для использования дочерней темы: Обновления темы и Порядок в файлах.
Используйте дочернюю тему, даже если вы собираетесь делать небольшие изменения на сайте.
I. Стандартное содержание файла wp-config.php
Если вы устанавливаете Вордпресс через FTP, то Вордпресс просит заполнить эти поля:
Замените префикс таблиц базы данных на какой-нибудь свой, например, az13kn_ .
Если вы заполняете файл вручную, заполните эти строки:
Кодировка нужна для использования Вордпресс на другом языке. Используйте UTF8, потому что эта кодировка поддерживает все языки и имеет специальные символы, например á или ≥ .
Сопоставление определяет как строки сравниваются в базе данных, некоторые сопоставления могут быть чувствительны к реестру. Оставьте как есть.
2. Создайте файл style.css в папке дочерней темы
Внутри папки . /wp-content/themes/twentyseventeen-child создайте файл, назовите его style.css и добавьте в него информацию о дочерней теме:
Строки Theme Name и Template являются обязательными, Theme name сообщает Вордпрессу название темы, и это название отображается во Внешний вид — Темы. Template говорит Вордпрессу, какая тема является родительской для этой темы.
Остальные строки понятны сами по себе, кроме Tags и Text Domain . В Tags содержатся теги, которые используются репозитарием Вордпресс для описания темы. Я скопировал теги темы Twenty Seventeen. Text domain используется для перевода темы и должен быть уникален, вы можете использовать название новой дочерней темы.
Заглянем внутрь Zip-файла ядра WordPress
Все важные файлы ядра WordPress включены в каждую установку и находятся в корневом каталоге сайта после их установки на вашем сервере.
9. Настройки режима отладки
В wp-config.php есть несколько настроек, которые помогают находить ошибки. Основная функция — WP_DEBUG , которая находится в этом файле по умолчанию.
Если вы планируете модифицировать css или js, включите эти режимы:
По умолчанию скрипты объединены в один файл и минифицированы. Файлы объединяются для ускорения загрузки, — один объединенный файл скачается быстрее, чем 20 по отдельности. При минификации из кода страницы убираются пробелы, переносы строк и комментарии. Как это выглядит можно посмотреть здесь. Эти два метода ускоряют загрузку страниц.
Чтобы найти нужный файл, который вызывает проблему, сначала нужно отключить минификацию и объединение. Эта функция включает отладку скриптов и отключает минификацию и объединение.
Иногда ошибки появляются при определенных обстоятельствах, тогда в режиме отладки можно не найти ошибку. В этом случае надо смотреть логи событий. Включите логи событий:
Логи событий будут сохраняться в файл debug.log в папке wp-content .
Также вы можете включить сохранение sql запросов, которые Вордпресс делает к базе данных. Добавьте эту функцию в wp-config.php:
и этот код в футер вашей темы:
Порядок
Когда вы добавляете код в файлы темы, вы добавляете его в файлы, которые содержат сотни или тысячи строк кода. Техподдержка темы, фрилансеры или вы будете тратить время, чтобы найти изменения, которые вы делали в файлах темы.
Так как дочерние темы основываются на родительских темах, то дочерняя тема будет являться набором изменений родительской темы, собранных компактно в одном месте.
Как получить доступ к основным файлам WordPress вашего сайта
Чтобы получить доступ к файлам ядра WordPress вашего сайта, вам необходимо загрузить и установить клиент FTP, такой как FileZilla (совершенно бесплатно и отлично работает во всех операционных системах). Это позволит вам получить прямой доступ к файлам WordPress. Читать: Подробная установка WordPress на сервер хостинга.
Установка wordpress по FTP
Затем вам нужно будет подключиться к серверу вашего сайта через FTP-клиент с учетными данными, которые вам предоставил ваш хост. Если вы не знаете, какие у вас учетные данные, обратитесь к своему хостинг-провайдеру. Для доступа к файлам сайта вы также можете использовать файловый менеджер, предоставленный вашим хостом.
Теперь рассмотрим некоторые файлы ядра более подробно.
3. Добавьте файл functions.php в дочернюю тему
Сейчас дочерняя тема уже может работать. Активируйте новую тему и перезагрузите страницу, вы увидите, что вся информация находится на сайте, но отсутствуют некоторые стили. Вордпресс сначала ищет функционал в дочерней теме, но если он отсутствует, берет этот функционал из родительской темы.
В этом примере Вордпресс использует файл стилей дочерней темы, поэтому некоторые стили родительской темы не загрузились. Чтобы загружать стили родительской темы, нужно добавить код в файл functions.php . Создайте его в . /wp-content/themes/twentyseventeen-child , и добавьте этот код:
Теперь ваш сайт должен выглядеть точно так же, как с родительской темой. Вы можете добавлять свои изменения в файлы style.css (или Внешний вид — Настроить — Дополнительные стили) и functions.php.
База данных WordPress
На WordPress рекомендована база данных MySQL. Данные вашего сайта хранятся в реляционных таблицах, в строках и столбцах. Она является динамической, то есть вы можете добавлять, изменять и удалять содержащуюся в ней информацию (при условии, что у вас есть административный доступ в phpadmin).
Вот некоторые примеры различных типов данных, которые хранятся в базе данных WordPress:
- Статьи, страницы и иной контент;
- Теги, категории и структурная информация;
- Комментарии пользователей и данные профилей;
- Данные, связанные с темой и плагинами.
Легко увидеть, как почти все, что составляет ваш сайт, хранится в базе данных WordPress.
Что такое wp-config.php
WP-config.php — главный файл сайта, который используется для
- настройки соединения с базой данных
- настройки производительности сайта
- усиления безопасности сайта
По умолчанию в свежей установке Вордпресс нет файла wp-config. Вместо него есть пустой шаблон wp-config-sample.php, в котором находятся незаполненные поля установки соединения с базой данных, ключей, префикс БД и так далее.
Актуальную версию файла wp-config-sample.php вы можете посмотреть / скачать из гитхаб репозитория WordPress:
Обычно его не заполняют вручную, Вордпресс делает это автоматически во время установки сайта.
13. Оптимизация базы данных
В Вордпресе 2.9 появилась функция оптимизации и восстановления базы данных. Добавьте:
Если ваша база данных повредилась, и вы не можете войти на сайт, попробуйте восстановить ее этой опцией и зайдите на сайт еще раз. После получения отчета о восстановлении базы данных удалите эту функцию из wp-config, чтобы посторонние не видели информацию с этой страницы, например, не могли узнать префикс базы данных.
Кроме этого способа, вы можете попытаться восстановить базу данных на хостинге в phpMyAdmin, результат будет такой же, потому что они используют одну и ту же функцию.
Заключение
WP-config.php — главный конфигурационный файл сайта, в котором находятся основные настройки сайта.
Для защиты этого файла от хакеров дайте ему права доступа 400. Если сайт стал недоступен, дайте 440. Это зависит от настроек сервера.
Для усиления защиты вы можете перенести wp-config на один уровень вверх. Никаких настроек делать не нужно.
Или вы можете запретить доступ к этому файлу, если добавите это правило в .htaccess:
По этой ссылке находится крутейший генератор снипетов для wp-config.php.
Создание дочерней темы
Многие разработчики тем предлагают уже готовую дочернюю тему на своем сайте. Зайдите на сайт своей темы и попробуйте найти дочернюю тему.
Если темы нет, то создайте собственную дочернюю тему по этой инструкции:
- Создайте папку темы в . /wp-content/themes/
- Создайте файл style.css с информацией о дочерней теме.
- Создайте файл functions.php и добавьте в него код для использования стилей родительской темы.
- По желанию — добавьте картинку темы для отображения во Внешний вид — Темы.
После этого активируйте новую дочернюю тему, — сайт должен выглядеть так же, как с родительской темой, но будет использовать дочернюю тему.
Как изменять другие файлы
Процесс изменения других файлов родительской темы такой: если вы хотите сделать изменения в футере, скопируйте файл footer.php из родительской темы в дочернюю, сделайте изменения и сохраните файл. После этого сделанные изменения должны появиться на сайте.
1. URL сайта
В настройках Вордпресс вы указываете адрес Вордпресс и адрес сайта.
Эти данные хранятся в базе данных, и каждый раз, когда кто-то запрашивает страницу сайта, создается запрос к базе данных. В Вордпресс 2.2 были добавлены функции WP_HOME и WP_SITEURL . Эти функции имеют приоритет перед записями в базе данных.
Если вы добавите этот код в wp-config, это уменьшит количество запросов к базе данных на 1, сайт будет работать немного быстрее. При создании страницы обычно создается несколько десятков запросов к базе данных.
Простой вариант
Есть великолепный плагин под названием «Code Snippets», автор Code Snippets pro.
Установив его на сайт единожды, вы сможете редактировать файла functions.php рабочей темы без выше перечисленных опасений. Как работать с этим плагином читайте в следующей статье.
Где находится файл functions.php?
Файла functions.php (файл функций) находится в папке вашей рабочей темы. Чтобы его найти откройте корневую папку вашего сайта. В нём откройте каталог wp-content , далее каталог themes . Теперь, открыв каталог с названием вашей рабочей темы вы найдёте файл functions . Однако не торопитесь его редактировать. Напрямую лучше этого не делать.
Ещё раз обращу ваше внимание: файл функций есть в любой теме WordPress. Он не является шаблонным. Каждый разработчик специально пишет его для своей темы. Однако вы можете его редактировать добавляя новые и изменяя старые возможности вашей темы (о редактировании чуть ниже).
Заключение
Дочернюю тему можно создать за несколько минут, это даст вам инструмент для увеличения функционала темы без проблем с обновлениями.
Для усиления безопасности функцию редактирования файлов в разделе Внешний вид — Редактор, и Плагины — Редактор можно отключить. Как это сделать.
Файл wp-config.php находится в корневой папке сайта и является главным конфигурационным файлом Вордпресс.
Основной фунционал файла — подключение базы данных, хранение секретных ключей для шифрования информации (ключи и соли), установка префикса базы данных, включение режима debug и указание пути к папке Вордпресс.
Это стандартный функционал файла, но в него можно добавить свои команды для включения дополнительных функций. Например, увеличение лимита памяти, ограничение ревизий постов или автоматическая очистка корзины.
В этой статье вы узнаете о стандартных функциях wp-config.php и о том, какие дополнительные функции можно в него добавить.
10. Настройки cron расписания
Cron — это расписание заданий, которые запускаются в определенное время или с определенной периодичностью. Вордпресс запускает определенные задачи согласно своему расписанию, например, публикует страницы в назначенное время, проверяет обновления, сбрасывает кеш и так далее.
В Вордпрессе некоторые задачи в крон расписании выполняются не в точно назначенное время, а в зависимости от посещений сайта. Например, если какая-то задача назначена на 12.00, то она выполнится когда на сайт зайдет первый посетитель, например, в 12.30.
Если у вас появилась проблема с cron заданиями, например, сайт не проверяет обновления, попробуйте использовать альтернативный крон метод:
Если нужно, вы можете полностью отключить крон:
Или изменить интервал между назначенными работами:
4. Добавьте картинку
Вы можете добавить картинку темы, которая отображается в меню Внешний вид — Темы. Например, сделайте скриншот сайта, сохраните файл с именем screenshot.jpg и положите в папку дочерней темы.
Константы Вордпресс
В файле wp-config можно использовать php константы для выполнения определенных задач. У Вордпресса есть множество констант, которые можно использовать.
В документации PHP константа описывается так:
«Константа — это идентификатор (имя) для простого значения. Как следует из названия, их значение не может измениться в ходе выполнения скрипта (кроме магических констант, которые на самом деле не являются константами). Имена констант по умолчанию чувствительны к регистру. По принятому соглашению, имена констант всегда пишутся в верхнем регистре.»
То есть, вы можете дать имя какому-то параметру. Этот параметр может быть использован глобально на всем сайте нужное количество раз. Константа должна начинаться с буквы, должна быть написана заглавными буквами и может иметь символ подчеркивания.
Константа WP_DEBUG, — начинается с буквы, написана заглавными буквами и имеет символ подчеркивания.
Константы обернуты в функцию define() :
Файл wp-config.php загружается до файлов ядра Вордпресс, то есть если вы измените значение какой-то константы, то изменения коснутся всего сайта. Вы можете включить или выключить какую-то функцию, изменив ее значение с true на false , или наоборот.
Документация по файлу wp-config.php в Кодексе Вордпресс. Большинство функций из документации описаны в этой статье.
Сделайте бэкап wp-config перед изменениями.
Файл admin.php в папке wp-admin
Файл с именем admin.php — это файл в папке корня /wp-admin . Он работает, чтобы включить большое количество наиболее важных функций вашего сайта, в том числе:
- Загрузка панели управления WordPress;
- Подключение к вашей базе данных;
- Кроме того, файл admin.php проверяет учетные данные пользователей и соответствующим образом применяет их роли.
Некоторые другие файлы также заслуживают внимания:
users.php (управляет панелями администрирования пользователей);
update.php (файл обновления);
network.php (отвечает за мультисайтовые функции)
Заключение
В завершении статьи про файл functions.php WordPress, дам две рекомендацию. Никогда не меняйте этот файл напрямую. Всегда имейте его базовую копию, а лучше свежую резервную копию всего сайта.
Вордпресс — очень гибкая система, в которой можно изменить что угодно: цвет, шрифт, ссылку на кнопке WooCommerce и так далее.
Проблема в том, что если вы измените файлы темы, то при следующем обновлении темы файлы с вашими изменениями будут заменены новыми файлами.
Дочерняя тема позволяет решить эту проблему, то есть вы сможете добавлять собственный функционал и обновлять родительскую тему.
В этой статье вы узнаете, как создать дочернюю тему вручную без использования плагинов.
Темы WordPress
Существуют тысячи бесплатных и премиальных тем, которые вы можете загрузить из хранилища WordPress и на независимых сайтах в Интернете. Основная (хотя и не единственная) цель темы — задать стиль и дизайн вашего сайта или блога.
В код каждой темы встроены специальные инструкции, которые задают параметры внешнего вида вашего сайта, включая такие базовые переменные дизайна, как:
- Верстка сайта;
- Расположение шапки и сайдбара;
- Фоновый цвет;
- Размер изображений;
- Размер, цвет и стиль шрифтов.
Файлы темы определяют дизайн и эстетику вашего сайта. В темы также могут быть встроены многие другие специфические функции, такие как то, домашней страница, рубрики, архив, страница 404, взаимодействие с социальными сетями и функциональность электронной коммерции. Читать Как сменить тему WordPress.
1. Ключи и соли
Ключи безопасности — это набор случайных символов, которые используются для шифрования информации, хранящейся в кукис браузера.
Соли — еще один набор случайных символов, которые используются для хеширования паролей.
Вы можете использовать генератор ключей Вордпресс для заполнения этих полей.
Для увеличения безопасности можно 1-2 раза в год менять эти ключи.
Папка wp-admin
Большинство файлов, управляющих административной панелью WordPress, находятся в папке wp-admin. Просматривая файлы внутри папки wp-admin, вы обнаружите 91 файл и 7 каталогов.
Плагины WordPress
Думайте о плагинах WordPRess, как о приложениях на вашем смартфоне. Плагин WordPress — это программа, которую вы загружаете и устанавливаете через панель управления WordPress, они дополняют стандартные функции WordPress. В настоящее время в репозитории WordPress доступно около 60 000 плагинов WordPress.
Однако имейте в виду, что функции плагинов пересекаются. У подавляющего большинства плагинов есть конкуренты.
Например плагины резервного копирования, безопасности и плагины SEO представлены в архиве от разных разработчиков. Вам придется выбрать для себя один плагин из нескольких. Читать: Плагины коробочной версии WordPress.
Как восстановить ядро WordPress?
Самый быстрый, умный и простой способ восстановить файлы ядра — иметь под рукой свежую резервную копию сайта. Основные файлы WordPress могут быть восстановлены из резервных копий, сохраненных до того, как файлы были повреждены.
Как редактировать файл functions.php WordPress?
В Интернет вы легко найдёте куски кодов php , которые нужно добавить в файл функций, чтобы изменить и дополнить функционал темы.
Структура этих кодов узнаваемо проста: в начале идёт function, далее название функции, далее код. В конце кода могут быть: add_action (хук действия) add_filter (хук фильтра).
Однако напрямую вставлять новую функцию в файл функций рабочего проекта я вам не рекомендую, и вот почему.
Во-первых, неправильный код или его неправильная вставка непосредственно в файл функций могут «убить» ваш сайт.
Примечание: Проблемы с доступностью сайта в результате ошибок на WordPress принято называть «Белый экран смерти». Самое простое решение проблемы «белого экрана» наличие резервной копии сайта. Читать: Резервное копирование сайта WordPress. О более сложных решениях поговорим в следующих статьях.
Ещё раз обращу ваше внимание: самая простая ошибка в коде в виде пропущенной точки с запятой, может заставить весь ваш сайт исчезнуть.
Во-вторых, если вставляемый код правильный и начнёт работать, он исчезнет после первого обновления вашей темы.
В-третьих, если вы смените тему все ваши новые добавленные функции перестанут работать.
3. Тема по умолчанию
В Вордпресс тема по умолчанию — 20ХХ. Если что-то случится с вашей активной темой, то загрузится тема по умолчанию. Чтобы сменить тему по умолчанию, добавьте эти строки в wp-config:
Содержание:
6. Увеличение лимита PHP памяти
Вы могли получить ошибку лимита php памяти. Чтобы увеличить лимит памяти, добавьте эту строку:
1. Создайте папку дочерней темы в папке родительской темы
Через ftp или хостинг-панель создайте папку в . /wp-content/themes/ с названием дочерней темы. В этом примере дочерняя тема будет называться twentyseventeen-child , и будет работать на базе родительской темы Twenty Seventeen.
Как обновить ядро WordPress
Администратору сайта рекомендуется (настоятельно) обновляться как можно скорее. Использование устаревших версий ядра, плагинов и тем WordPress — это причина №1 взлома сайтов WordPress. Обязательно прочтите: когда администратор должен обновлять Вордпресс сайт.
Вы можете обновить WordPress вручную или, используя опцию обновления в один клик на панели инструментов. Когда доступна новая версия WordPress, вы увидите ссылку «новая версия» в верхней части области администрирования. Для обновления ядра просто нажмите кнопку «Обновить сейчас» и запустите автоматическое обновление WordPress.
После завершения процесса на вашем сайте будет работать новая версия WordPress. Перед обновлением ядра (смена первой цифры в номере версии) обязательно сделайте полную резервную копию сайта.
12. Автообновление Вордпресс
Начиная с версии Вордпресс 3.7 минорные обновления устанавливаются автоматически. Для безопасности рекомендуется оставить автообновление ядра включенным.
Если вы хотите выключить автообновление, добавьте эту строку:
Или используйте функцию WP_AUTO_UPDATE_CORE :
Файл wp-settings.php
Используется для установки и исправления общих переменных и включения сайта. Содержит библиотеку процедур и классов WordPress.
Пример правки файла functions.php WordPress
Не все темы WordPress в customizer имеют настройки по фильтру рубрик, которые нужно показывать на главной странице последних записей. Это можно сделать с помощью такой функции с хуком фильтра. Вот она:
Итак, функция с хуком фильтра у нас есть. Теперь нужно проверить имеющийся код на синтаксис php (адрес сервиса проверок выше).
Как видим ошибок нет. Далее нужно вставить этот код на сайт при помощи плагина Code Snippets.
После активации сниппета указанные в коде рубрики не будут показаны в блоге последних записей.
Файл wp-config.php
Это файл содержит детали базовой конфигурации для вашего сайта WordPress. Он содержит необходимую информацию для работы вашего сайта WordPress, включая настройки подключения к базе данных MySQL, ключи WordPress, префикс таблицы базы данных WordPress, язык WordPress и ABSPATH (абсолютный путь к каталогу WordPress).
Что такое файл functions.php и зачем он нужен?
Как правило, в данном файле задаются дополнительные функции для шаблона, позволяющие менять внешний вид вашего сайта. Однако на самом деле его возможности значительно шире, поскольку functions.php в WordPress автоматически загружается при инициализации системы. То есть при вызове любой страницы, как фронтенда (сайта), так и бэкенда (админки), соответствующие функции из данного файла будут выполнены.
Следовательно, с помощью файла functions.php вы можете решить целый спектр абсолютно разных задач:
Вообще файл functions.php в WordPress по логике и скорости работы напоминает плагины. Хотя при этом у них есть принципиальные отличия. Модули используются, как правило, для решения каких-то конкретных задач и применяются к любой теме вашего сайта. Плюс для работы их нужно активировать. Что касается файла шаблона functions.php, то он может содержать много разных функций и выполняется только для той темы, в которой определен. То есть при смене шаблона, все ваши текущие наработки будут отключены, а система начнет считывать информацию из другого файла функций (об этом следует помнить).
Плагины иногда входят в ядро WordPress
Интересно, что когда плагин приобретает огромную популярность и получает миллионы установок разработчики WordPress могут добавить этот плагин в ядро стандартной установки WordPress.
Из-за огромной популярности этого плагина его решили добавить непосредственно в ядро WordPress.
8. Отключение редактирования файлов в админке Вордпресс
В обычной или Мультисайт установке можно отключить возможность редактировать файлы тем и плагинов:
Или отключить возможность пользователям устанавливать или обновлять темы и плагины:
Функция DISALLOW_FILE_MODS также отключает редактирование файлов в админке.
2. Изменение файловой структуры Вордпресс
Вы можете изменить стандартное расположение папок wp-content , plugins и uploads и создать новую папку для тем. Это делается для того, чтобы не использовать стандартную структуру папок Вордпресс, информация о которой находится в открытом доступе. Если вы перенесете эти папки в другие места, это повысит безопасность сайта.
Для папок wp-content и plugins нужно указать абсолютный путь и полный URL. Для plugins нужно указать PLUGINDIR , чтобы не было проблем с совместимостью.
Папка uploads всегда привязана к ABSPATH , поэтому слеш перед extensions/uploads не требуется. Эту папку нельзя перенести из папки wp-content (extensions), но можно переименовать. Подробнее читайте в статье про изменение файловой структуры Вордпресс.
Папка themes привязана к папке wp-content , но можно создать еще одну папку для тем. В этом примере папка называется wprs-themes и находится в корневой директории.
Если Вордпресс расположен в папке public_html , то новая структура будет выглядеть так:
Стандартная структура WP слева и структура из примера справа
Кроме этих папок есть еще одна стандартная папка, которая называется mu-plugins, Must Use Plugins, то есть плагины обязательные для использования.
Если у вас есть эта папка, вы можете ее перенести с помощью этого кода:
Замените название папки impmu-plug на свое название.
2. Префикс базы данных
В мастере установки Вордпресс можно изменить префикс базы данных, то же самое можно сделать вручную в wp-config.php.
Замените wp_ на что-нибудь уникальное. После изменения префикса базы данных нужно будет сделать несколько изменений в базе данных.
Четыре части сайта WordPress
Прежде чем мы начнем, давайте рассмотрим некоторые основы. Каждый сайт, работающий на WordPress, состоит из четырех отдельных частей.
Это четыре компонента всех сайтов WP:
- Файлы ядра;
- База данных;
- Файлы темы;
- Файлы плагинов.
Основные файлы WordPress позволяют вам:
-
;
- Добавлять и редактировать статьи и страницы; ; ;
- Удалять контент;
- Добавлять метки и рубрики; ;
- Разрешать пользователям комментировать;
- … и многое другое.
Если вы хотите увидеть, ядро WordPress, вам нужно удалить все темы и удалить плагины со своей панели управления. Теперь у вас есть только ядро. Когда вы ограничите свой сайт только ядром WordPress, вы не можете создавать или просматривать свой сайт. Для этого вам нужно, как минмиум, активировать тему сайта.
Вот почему при первой установке WordPress, система автоматически добавляет несколько коробочных тем, с которыми вы можете начать работать. Однако стандартные темы, включенные в установку WordPress, технически не являются частью его ядра.
Как правильно редактировать файл functions.php?
Есть два правильных варианты редактирования (добавления функций) файла functions.php . Один простой, второй более сложный.
Обновления
Если вы будете делать изменения в главной теме, то в одном из следующих обновлений ваши изменения будут заменены новой версией файлов. Вы можете:
- Перестать обновлять тему, чтобы не потерять изменения при обновлениях,
- Обновлять тему, но рано или поздно файлы с изменениями будут заменены новыми файлами
Если вы перестанете обновлять тему, то это увеличивает шансы хакеров взломать сайт, так как устаревший софт — одна из основных причин взлома сайтов. Всегда обновляйте Вордпресс, темы и плагины.
Во втором случае вы можете копировать добавленные изменения перед обновлением и вставлять их в новые файлы после обновления, но лучше потратить столько же времени один раз на создание дочерней темы, чем тратить его каждый раз на копирование изменений перед обновлениями.
Как работает дочерняя тема
Дочерняя тема работает на уровне файлов. Когда требуется какой-то файл для загрузки темы, Вордпресс проверяет, есть ли нужный файл в дочерней теме. Если есть, используется содержание этого файла, если нет, то используется файл родительской темы.
Это правило работает для всех файлов, кроме functions.php. Загружаются оба файла, из родительской и дочерней тем.
Если бы использовался только файл дочерней темы, то сайт бы работал неправильно или вообще бы не работал. Тогда вам было бы нужно скопировать все содержание файла из родительской темы, но после обновлений функционал родительского functions.php может перестать работать.
Папка wp-includes входит в ядро WordPress
Думайте о папке wp-includes как о папке, где хранятся все «остальные» важные файлы, которые работают на вашем сайте. Другими словами, поскольку wp-admin работает над управлением вашими инструментами администрирования, папка wp-includes делает все остальное.
3. Режим debug
По умолчанию режим debug выключен, оставьте его выключенным:
Если вы работаете над сайтом и ищите ошибку или получили белый экран, включите режим debug, заменив false на true . Выключите режим отладки после того, как закончите работу, потому что некоторая информация о сайте будет отображаться во фронт-энде или сохраняться в файл.
7. Вордпресс Мультисайт
Мультисайт позволяет создавать отдельные сайты, которые используют одну и ту же установку Вордпресс. Это используется, когда владельцы сайтов хотят, чтобы магазин, блог или сайт компании находились на субдоменах или в разных подпапках. Некоторые сайты создают субдомены для каждого пользователя, и так далее.
Чтобы создать мультисайт, добавьте эту константу в wp-config:
После того, как вы добавили этот код, в разделе Инструменты в админке Вордпресс появится новая строка Мультисайт. Следуйте инструкциям на этой странице. Вордпресс попросит добавить настройки в файл wp-config и .htaccess. После этого выйдите из админки и зайдите снова, вы должны увидеть админку мультисайта. Подробнее о Мультисайте читайте в кодексе Вордпресс.
Настройки мультисайт установки позволяют делать редирект пользователей, которые пытаются попасть на несуществующий субдомен. Чтобы перенаправлять этих пользователей на главный сайт, добавьте это правило:
II. Дополнительный функционал wp-config.php
Как и в другие php файлы, вы можете добавить свой код в wp-config. Добавляйте аккуратно, потому что одна ошибка может положить сайт.
Добавляйте свой код до строки:
Где находится functions.php и как его редактировать?
Файл функций расположен в корневой директории темы (вместе с index.php, single.php и другими). То есть вы заходите в папку wp-content/themes/название_темы/, и он будет там. Это не то же самое что одноименный файл ядра, который находится в системной директории /wp-includes/, нужный нам объект — в папке шаблона.
Сейчас в WordPress файл шаблона functions.php можно найти в 99% популярных тем, но раньше он был не везде. Если в вашей теме нет functions.php, то вы спокойно можете его создать.
Есть два способа редактирования файла функций:
- через WP админку;
- с помощью текстового редактора.
Первый вариант достаточно простой и наглядный. Вы заходите в меню «Внешний вид» — «Редактор» и выбираете соответствующий файл для правки.
После внесения изменений нажмите кнопку «Обновить файл» в самом низу. Преимущество данного метода в том, что вам не нужно использовать какие-то дополнительные программы для работы, все происходит внутри панели администрирования. Однако не всегда это возможно сделать.
Если файл functions.php закрыт для записи, то воспользоваться встроенным редактором WordPress у вас не получится. В таком случае запускаете FTP клиент, например, Mozilla и скачиваете файл функций на локальный компьютер.
Для работы с php файлом советую использовать специальные бесплатные редакторы — Notepad++ или Sublime Text. При этом важно чтобы кодировка редактируемого файла была UTF-8 без BOM. Вот как можно ее выбрать в Notepad++:
Если этого не сделать, то из-за BOM может возникнуть глюк в WordPress. Для Sublime Text 2 в меню «File» есть опция «Reopen With Encoding», позволяющая открыть файл в нужной кодировке. Однако при запуске functions.php автоматически срабатывает UTF-8 (т.к. файл сохранен именно в ней), поэтому ничего дополнительно делать не нужно.
Сложный вариант
Для этого создаёте в «дочке» файл functions.php , можно пустой. Далее просто вносите свои новые функции (хуки) в этот файл.
Создать пустой файл просто. В файле должен быть открывающий тег PHP в начале и закрывающий тег PHP в конце. Между ними вы должны вставлять ваши новые функции.
Обратите внимание, что файл functions.php «дочки» не подменяет такой же файл «родительской темы». В «дочке» он будет загружаться как дополнение к файлу функций родителя, но перед ним. Читать: Самый простой способ создать дочернюю тему.
Файл wp-load.php
Файл начальной загрузки сайта для установки константы ABSPATH , поиска и загрузки файла wp-config.php . Если файл wp-config.php найдени загружен, то затем загружается файл wp-settings.php . Он настроит среду WordPress.
Если файл не найдет wp-config.php , а искатьон будет везде, то предложит вам создать файл конфигурации (как вовремя установки).
Что такое ядро WordPress?
Ядром WordPress называют основные файлы системы. Это:
- Файлы wp-config.php и functions.php ;
- Папки wp-admin , wp-content , wp-includes со всем содержимым.
Важные компоненты сайта WordPress, а именно: база данных WordPress, файл .htaccess , темы и плагины WordPress в ядро не включены.
Как вы, вероятно, уже знаете, WordPress как система управления контентом довольно проста в использовании. Практически любой, кто имеет базовое представление о сайтах, может создать и запустить с её помощью успешный сайт.
Однако администратору сайта нужно лучше понимать основные файлы, на которых работает ваш сайт. Знание того, что происходит под капотом вашего сайта WordPress, может помочь вам в устранение ошибок и проблем, помимо решений из панели администратора.
Когда вы ближе познакомитесь с основными файлами WordPress, где их можно найти и что они делают, вы откроете для для себя новый мир возможностей разработки. Вы также узнаете, как быстро устранить проблемы на сайте и в конечном итоге сможете профессионально расширить его функционал.
Вставка сниппетов (примеры кода и типичные ошибки)
Дабы у вас не возникало ошибок при работе с functions.php в WordPress, давайте рассмотрим основные правила вставки кода и возможные ошибки. Первым делом обратите внимание на глобальную структуру любого PHP файла:
Здесь в начале идет специальный открывающий тег и в конце закрывающий. Важно чтобы не было никаких пробелов перед открывающимся и после закрывающегося тегов! Хотя в некоторых случаях вы можете встретить запись, когда последнего тега нет (для PHP это нормально). Давайте рассмотрим парочку примеров.
Ситуация 1
Допустим, вы нашли в интернете готовый сниппет для решения определенной задачи. И в описании сказано, что нужно вставить этот код в файл функций functions.php. В качестве примера выберем код удаления WP версии из wp_head:
Так размещать неправильно:
Возникает ошибка, поскольку система встречает тег открытия из найденного сниппета (так правильно):
Следующий вариант также будет работать (между PHP блоками не должно быть пробелов):
Ситуация 2
Допустим вы хотите обновить jQuery в WordPress для чего нашли соответствующий код:
Неправильный вариант использования:
Нельзя размещать код после закрывающего PHP тега. Вам нужно поставить всю функцию внутрь конструкции:
Кстати, если в functions.php закрывающего тега ?> нет (что допускается), то добавляете нужный сниппет просто в конец файла.
Ситуация 3
Нельзя вставлять сниппет внутрь другой функции. Допустим, в файле шаблона functions.php у вас имеется следующий код:
Неправильный вариант вставки:
Добавить код можно только после закрывающего тега «>» первой функции. Вот так будет правильно:
Ситуация 4
Рассмотрим для ознакомления еще один вариант, когда внутри функции вы можете встретить конструкцию , которая не будет нарушать общий порядок работы самого файла.
Тут нужно учитывать 2 нюанса. Во-первых, не должно быть ошибок в последовательности открывающих и закрывающих PHP тегов — каждый открытый блок должен быть закрыт. Во-вторых, внутри функции пробелы и переносы строк между тегами не критичны. В любом случае нужно быть очень внимательным в процессе редактирования. Плюс редакторов Notepad++ и Sublime Text в том, что они подсвечивают теги/функции, и так проще ориентироваться в коде.
Итого. Надеюсь, данное руководство по WordPress файлу functions.php вам пригодится. Данный инструмент в веб-разработке под WP весьма и весьма полезен. Нужно только внимательно с ним работать, так как ошибки могут привести к проблемам в работе сайта. Дабы ничего не нарушить я предпочитаю редактировать файл через текстовые редакторы, предварительно сохранив оригинальный вариант на всякий случай.
Если у вас остались вопросы по работе с functions.php в вордпресс, пишите их в комментариях.
P.S. Постовой. Продвижение и оптимизация сайта — важные знания для вебмастеров.
А вы знаете самые популярные сайты? — ТОП10 сайтов в мире (по посещаемости).
Понравился пост? Подпишись на обновления блога по RSS, Email или twitter!
Оцените статью:
Категории: Возможности; Хаки и секреты;
Теги: админка wp, вордпресс веб-разработка, новичкам, пишем функцию для wp, правка функций wp, правка шаблона, функции wordpress.
Вступление: Здравствуйте! Один из важнейших файлов вашей рабочей темы является файл functions.php WordPress. Любой администратор сайта обязан знать назначение этого файла и правила работы с ним.
5. Собственные таблицы user и usermeta
По умолчанию Вордпресс сохраняет все данные пользователей в таблицы wp_users и wp_usermeta. Для увеличения безопасности можно использовать таблицы с произвольным именем, вы можете их создать с помощью этого кода:
Измените clients и clientsmeta на свое название. Перед тем как делать изменения, прочитайте описание функций в кодексе Вордпресс.
Папка wp-content и ядро WordPress
В папке wp-content по большей части находятся файлы плагинов и тем, относящиеся к вашему сайту. В ней нет ничего, что напрямую связано с ядром WordPress. По этой причине в этой статье мы сосредоточимся на папке wp-includes .
Что такое файл functions.php WordPress?
Файл functions.php не нужно создавать. Он создан разработчиком темы и включён в каталог темы. Работает файл, как плагин и активируется с активацией выбранной вами темы.
Написан файл functions.php на языке программирования PHP, с использованием функций и тегов разработанных для CMS WordPress.
Файл functions.php
Этот файл лежит внутри /wp-includes и является чрезвычайно важным в ядре. Кроме того, тема, которую вы выбрали для своего сайта, также имеет файл functions.php . Этот файл позволяет добавлять на ваш сайт локальные функции и возможности, в гранцах вашей темы.
Важно отметить, что файл function.php вашей темы работает независимо от своего тезки внутри /wp-includes . Файл functions.php вашей темы, используется только тогда, когда вы используете эту конкретную тему.
Думайте о functions.php темы как о плагине, который вы можете загрузить и установить на свой сайт. С помощью файла functions.php вы можете добавлять настраиваемые функции и создавать свои собственные. Для этого вам нужно понять язык PHP. Вы также можете использовать этот файл для предопределения функций (cсоздание хуков) для изменения файлов ядра WordPress. Прочтите: Что такое файл functions.php WordPress?
Файл functions.php темы
4. Ревизии постов, автосохранение и корзина
В Вордпрессе 2.6 появилась функция ревизии постов, которая делает авто-сохранение постов на тот случай, если зависнет браузер или компьютер. Или если вы хотите загрузить предыдущую версию контента.
Укажите количество ревизий, которое вы хотите хранить в базе данных:
Если вы хотите полностью отключить ревизии, замените 5 на false :
По умолчанию Вордпресс делает авто-сохранение каждые 60 секунд, если вы хотите изменить интервал автосохранения, укажите свое время в секундах:
После того, как вы удалили статью в Корзину, она будет находиться там по умолчанию 30 дней, после этого она будет полностью удалена из базы данных. Вы можете изменить интервал очистки корзины, например, до 5 дней:
Если вы хотите полностью отключить Корзину — поставьте 0, тогда контент будет удаляться сразу без помещения в Корзину.
Читайте также: