Вся правда о functions.php — WP Magazine
Одной из самых частых ошибок начинающих разработчиков WordPress — это использование файла темы functions.php не по назначению. В данной статье мы раскроем все мифы о данном файле и расскажем в каких случаях стоит его использовать.
Что такое functions.php
Если вы хоть раз открывали исходный код любой темы для WordPress, вероятно вы сталкивались с файлом под названием functions.php.
Файл functions.php
Основная цель данного файла — предоставить дополнительные функции необходимые для полноценной работы темы, а также установить некоторые параметры для ядра WordPress, например размер миниатюр, путь к файлам локализации темы, разделы для виджетов и другие.
Файл functions.php загружается при каждом запросе любой страницы в WordPress, включая запросы в панель администрирования и AJAX запросы. Это дает разработчикам темы возможность изменять любые аспекты их проекта на WordPress, а не только то, что связано с внешним видом.
К сожалению многие уроки WordPress в сети Интернет (серии «без плагинов») предлагают вставлять блоки кода именно в файл functions.php активной темы, потому что редактировать этот файл легче, чем создавать новый плагин, особенно через редактор файлов в панели администрирования WordPress.
Редактор файлов темы в WordPress
Таким образом после прочтения серии подобных уроков, файл functions.php становится огромным и нечитаемым, а при смене активной темы пропадает часть функционала, которая вовсе не относится к внешнему виду сайта.
Чем functions.php отличается от плагина
Если коротко — то ничем.
Если взглянуть на порядок загрузки ядра WordPress в файле wp-settings.php, то мы увидим что файл functions.php активной темы загружается немного позднее всех активных плагинов, но данный порядок не дает каких-либо преимуществ или недостатков. А содержание файла functions.php и файлов плагинов подключаются и выполняются идентичным образом.
Основным отличием плагинов от functions. php является то, что плагины можно выборочно активировать через интерфейс, а файл functions.php активной темы загружается всегда. Таким образом при смене активной темы мы теряем все, что было написано в старом файле functions.php, но наши активные плагины продолжают функционировать.
Мифы о производительности functions.php
Некоторые источники утверждают, что functions.php работает быстрее чем плагины, и иногда даже советуют переместить код из файла плагина в файл functions.php для его «ускорения». Это неправда.
Как мы уже упомянули, файлы плагинов и файл functions.php подключаются и исполняются идентичным образом, и PHP код размещенный в плагине и в файле functions.php будет выполняться с абсолютно одинаковой скоростью.
Список активных плагинов в базе данных WordPress хранится в одной опции, которая будет выбираться с одинаковой скоростью, независимо от количества активных плагинов. Иными словами, количество активных плагинов не влияет на скорость работы сайта на WordPress. Влияет лишь их содержание, ровно так же как и содержание файла functions.php.
Когда следует использовать functions.php
Как было сказано ранее, файл functions.php предназначен для функционала, связанного с темой или внешним видом сайта. Ниже представлен список примеров того, что следует писать именно в файле functions.php:
- Установление ширины содержимого в WordPress
- Объявление доступных разделов для виджетов в теме
- Установление пути к файлам локализации темы
- Объявление поддержки миниатюр и их размеры
- Объявление поддержки навигационного меню в теме
- Подключение требуемых скриптов и стилей для темы
- Подключение стилей темы для визуального редактора
- Создание раздела с настройками темы
- Создание дополнительных элементов управления в конфигураторе темы
- Дополнительные функции используемые в шаблонах темы
Список далеко не исчерпывающий, но дает понять какого рода функционал стоит хранить в файле functions.
- Код счетчиков Google Analytics или Яндекс.Метрики
- Произвольные типы записей или таксономии в WordPress
- Дополнительные скрипты и стили, не связанные с темой
- Дополнительные роли и привилегии
- Код для вставки рекламных баннеров в содержимое сайта
- Отключение RSS лент
- Скрытие версии ядра WordPress (этого делать вообще не стоит)
- Скрытие верхнего меню администрирования WordPress
- Отключение ревизий записей
- Отключение функций pingback/trackback
- Любые шорткоды
При столкновении с очередным отрывком кода, попробуйте задать себе простой вопрос — что произойдет при смене активной темы в WordPress? Если ваш ответ «перестанут работать счетчики посещаемости», «пропадут все произвольные типы записей», и т.д. то данный отрывок лучше хранить в виде плагина.
Как создать свой плагин
Для многих начинающих WordPress разработчиков тема создания собственных плагинов является сложной. Действительно для написания хорошего комплексного плагина для WordPress потребуется немало усилий и знаний в программировании, но, если вам нужно лишь вставить небольшой отрывок кода, то для этого подойдет и простой короткий плагин:
<?php /** * Plugin Name: Моя альтернатива файлу functions.php */ // Ваш код здесь
Сохраните этот файл под названием my-functions.php и разместите его в директории wp-content/plugins. После этого перейдите в раздел Плагины в панели администрирования WordPress и активируйте его.
Собственный плагин для WordPress
Также советуем не хранить все сниппеты в одном единственном плагине, а разбивать их на более мелкие отдельные плагины, чтобы с ними было удобнее работать.
Помните — количество активных плагинов не влияет на производительность сайта. Один плагин с десятью функциями будет работать с той же скоростью, что и десять плагинов содержащих по одной из этих же функций.
mu-plugins как альтернатива
В WordPress есть специальный вид плагинов, которые называются «must use» или mu-plugins. Эти плагины активны по умолчанию, и деактивировать их через панель администрирования возможности нет. В mu-plugins также отсутствует требование к заголовку PHP файла (Plugin Name и т.д.), поэтому код можно писать сразу после открытия тега <?php
.
Подобные плагины необходимо размещать в директории wp-content/mu-plugins. Если такая директория у вас отсутствует, вы можете ее создать.
Это неплохая альтернатива файлу functions.php, особенно тогда, когда вам необходимо написать функционал, который нельзя отключить, для чего часто ошибочно используется файл functions.php.
Так что в следующий раз, когда вы наткнетесь на статью про WordPress из серии «как сделать … без плагинов», не спешите вставлять код в файл темы functions.php — возможно данный код имеет смысл хранить именно в виде плагина.
Файл functions.php – зачем он нужен, как его редактировать в WordPress
WPuse.ru 06.02.2020
Доброго времени суток!
В WordPress можно реализовать множество возможностей. Причём для этого можно использовать как плагины, так и непосредственно вписывать необходимый код в файлы, что относятся к WordPress. И одним из таких популярных файлов является functions.php.
Содержание:
- Что за файл functions.php, каковы его задачи
- Где находится файл functions.php
- Редактирование файла functions.php
Что за файл functions.php, каковы его задачи
Данный файл в обязательном порядке располагается в директории с используемой темой (дизайна) сайта. В большинстве своём в этом файле прописываются те или иные функции, отвечающие за дизайн и функционал используемой темы сайта (дизайна). Однако это далеко не весь перечень возможностей, что позволяет реализовать данный файл. Этот файл «подхватывается» при непосредственной инициализации движка WordPress, что означает, что имеющийся в файле код исполняется при вызове совершенно любой страницы сайта, включая даже консоль WordPress.
Давайте посмотрим, какие задачи можно решать с использованием файла functions. php:
- Внешний вид, функционал темы – как уже говорилось выше, изначально в этом файле размещается код, в первую очередь отвечает за дизайн и функционал темы. Он может быть самым различным, на усмотрение автора, что создал тему.
- Функционал сайта – в этом файле может размещаться код, что отвечает в целом за функционал сайта, логику его работы. Вы можете добавить самый различный код, затрагивающий все возможные области функционирования сайта.
- Консоль WordPress – да, размещаемый в файле код подхватывается и при использовании админ-панели WordPress. Можно что-либо изменить там с помощью всё того же functions.php.
По принципу работы файл functions.php практически идентичен добавленному на сайт плагину. Однако есть и свои особенности:
- Файл functions.php располагается в директории с файлами темы (дизайна сайта). Если, к примеру, вы переключите тему на другую, то будет обрабатываться уже имеющийся там файл functions. php.
- Плагин можно в любой момент включить или отключить, а код в functions.php обрабатывается всегда. И если вы туда что-то вписали для расширения функционала, то для его отключения впоследствии следует будет удалить вписанный ранее вами код.
- Файл расположен в папке с темой. И если выйдет новая версия темы и вами она будет установлена, то данный файл будет перезаписан, а все сделанные вами в нём изменения будут затёрты.
Где находится файл functions.php
Необходимый файл располагается в директории, где расположены другие основные файлы темы (header.php, footer.php, single.php и так далее). А сама директория располагается по пути wp-content/themes/<название_темы>/
Стоит сказать, что одноимённый файл ещё имеется в папке /wp-includes/, где располагаются файлы самого движка WordPress. И этот файл не подлежит редактированию.
Редактирование файла functions.php
Упоминание файла functions.php часто встречается в различных руководствах для WordPress, позволяющих расширить тот или иной функционал сайта.
Отредактировать файл можно двумя способами, давайте их рассмотрим:
- Первый вариант заключается в использовании возможностей по редактированию файлов, что предлагает сам WordPress.
Необходимо в консоли WordPress зайти в меню Внешний вид и далее нажать по пункту Редактор тем и выбрать необходимый файл для правки.
Вписывать код необходимо после блока описания темы. На изображении ниже вы можете видеть пример данного блока.
В некоторых темах у файла functions.php данного блока нет. В этом случае вписываете желаемый код сразу после <?php. На изображении ниже наглядно это продемонстрировано.
- Второй вариант, позволяющий редактировать файлы в WordPress, это использование FTP клиента для доступа к файлам на хостинге\ сервере и популярного бесплатного текстового редактора под названием Notepad++ для непосредственного редактирования файла.
Этот способ весьма удобен и предпочтителен, ведь если внести какую-либо некорректную запись в файл functions. php, то сайт может перестать функционировать, включая админ-панель WordPress. Но это никак не повлияет на работоспособность FTP. Вы всегда сможете моментально отменить все внесённые в файл изменения.
И так, используя FTP клиент (их существует множество, как платных, так и полностью бесплатных), настройте в нём доступ к файлам своего сайта (инструкцию по настройке можно получить у провайдера хостинга). Открыв в нём список вашего сайта, перейдите в папку wp-content/themes/<название_темы>/ и далее откройте на редактирование файл.
Впишите или отредактируйте необходимое и сохраните результат. Если что-то пойдёт не так, то вы сможете моментально отменить все внесённые изменения, для этого в верхнем меню имеется пункт Правка -> Отмена или стрелочки на панели инструментов.
Вот мы и рассмотрели детально, что за файл, который весьма часто упоминается в статьях и материалах, где приводятся различные твики и функциональные решения для сайта, работающего на движке WordPress.
Пожертвование сайту WPuse.ru (cбор пожертвований осуществляется через сервис «ЮMoney»)
Что такое файл functions.php в WordPress?
В WordPress файл functions.php или файл функций темы — это шаблон, включенный в темы WordPress. Он действует как плагин для вашего сайта WordPress, который автоматически активируется с вашей текущей темой. Файл functions.php использует код PHP для добавления функций или изменения функций по умолчанию на сайте WordPress.
Например, тема WordPress может добавить немного кода в файл functions.php темы, чтобы добавить новую область виджетов в нижний колонтитул или добавить пользовательское приветственное сообщение на панель управления WordPress. Возможности безграничны!
Файл functions.php автоматически загружается при установке и активации темы на вашем сайте WordPress.
Редактирование файла functions.php с использованием пользовательских кодов позволяет добавлять типы сообщений, таксономии, короткие коды и многое другое для улучшения вашего веб-сайта.
Где находится файл functions.php?
Файл functions.php находится в папке вашей темы.
Если вы хотите добавить фрагмент кода на свой сайт WordPress, добавьте его в файл functions.php — это один из вариантов.
Но обычно это не лучший способ. WordPress пытается разделить дизайн и функциональность, когда это возможно. По этой причине у нас есть темы, определяющие дизайн, и плагины, определяющие функции.
Будет лучше, если вы сможете изменить тему WordPress, не изменяя функционирование вашего сайта, или изменить плагины, не влияя на дизайн вашего сайта.
Существует множество руководств по WordPress, в которых вам расскажут, как добавить фрагменты кода в файл functions.php вашей темы, но обычно это не очень хорошая идея.
Если вы решите отредактировать файл functions.php, будьте предельно осторожны. Вот 3 причины, по которым редактирование файла functions.php не является хорошей идеей:
- Изменения в файле functions.php будут потеряны при обновлении темы.
- Изменения будут потеряны, если вы измените тему WordPress.
- Ошибки кода в файле функций могут заблокировать доступ к вашему сайту.
Даже такая простая вещь, как отсутствующая точка с запятой, может привести к тому, что весь ваш сайт исчезнет с ошибкой, называемой «Белый экран смерти». Если это произойдет с вами, мы написали пошаговое руководство о том, как исправить белый экран смерти WordPress, чтобы вы могли восстановить доступ к своему сайту.
Ошибка кодирования в файле functions.php также может привести к другим ошибкам WordPress.
Вы должны редактировать файл functions.php, только если у вас есть дочерняя тема, а фрагменты кода будут использоваться только с активной дочерней темой. Например, вы можете включить фрагменты для пользовательских шрифтов, таблиц стилей или добавить файл языкового перевода специально для этой конкретной дочерней темы.
Лучший способ добавить пользовательские фрагменты кода в functions.php
Итак, если вам не нужно редактировать functions. php, куда вы должны добавлять фрагменты кода из онлайн-руководств?
Самый простой способ — использовать WPCode, мощный плагин для фрагментов кода WordPress, который упрощает добавление пользовательских функций WordPress с помощью фрагментов кода без редактирования файла functions.php вашей темы.
Хотя вы можете добавлять свои собственные фрагменты кода, он удобно поставляется со встроенной библиотекой фрагментов кода, где вы можете найти некоторые из моих самых популярных фрагментов кода WordPress, которые помогут вам устранить необходимость в отдельных плагинах.
Например, есть готовые фрагменты, которые помогут вам обеспечить безопасность вашего сайта WordPress, позволят загружать изображения SVG, выбирать редактор WordPress и отключать комментарии.
После установки и активации плагина вы можете перейти на страницу фрагментов кода и нажать кнопку «Добавить новый», чтобы создать свой первый фрагмент кода в WordPress.
Вы попадете на страницу «Добавить фрагмент».
Здесь вы можете выбрать фрагмент кода из готовой библиотеки или добавить собственный код.
Вам нужно начать с ввода заголовка для вашего пользовательского фрагмента кода, а затем вставить фрагмент кода в поле кода.
Не забудьте также выбрать правильный тип кода в раскрывающемся меню справа.
Чтобы узнать больше о том, как использовать WPCode, ознакомьтесь с нашим руководством по добавлению пользовательских фрагментов кода в WordPress.
Мы надеемся, что эта статья помогла вам узнать все о файле functions.php в WordPress и о том, как добавить фрагменты кода на свой сайт! Ознакомьтесь с дополнительной литературой ниже, чтобы узнать больше.
Вы также можете подписаться на наш канал YouTube для просмотра пошаговых видеоруководств по WordPress и следить за нами в Twitter и Facebook, чтобы быть в курсе последних обновлений.
Дополнительные показания
- 15 полезных приемов настройки WordPress, о которых вы могли не знать
- Как легко добавить пользовательский код в WordPress (без нарушения работы сайта)
- Как добавить код верхнего и нижнего колонтитула в WordPress (простой способ)
- Как WordPress на самом деле Работает за кулисами (инфографика)
- Руководство для начинающих по вставке фрагментов из Интернета в WordPress
- 32 Чрезвычайно полезные приемы для файла функций WordPress
- Плагин WordPress и файл Functions. php (что лучше?) 9 Twitter Youtube . В этой статье рассматриваются случаи, когда вам может понадобиться это сделать, и как это сделать безопасно. Давайте начнем с краткого введения этого важного файла и того, где вы можете его найти.
Файл функций WP определен
Каждая установка WordPress имеет файл functions.php в папке тем (/wp-content/themes). Его основная цель — добавить функции и возможности в активный шаблон с помощью кода PHP. Файл уже содержит код, относящийся к активной теме WordPress, но вы также можете добавить собственный код.
Functions.php и плагины
Ваши функции PHP работает как плагин, но зависит от темы. Это означает, что каждый файл functions.php принадлежит своей теме. Плагины отличаются тем, что они продолжают работать во всех активных темах. Таким образом, любые изменения в PHP-файле функций не переносятся, если вы переключаетесь на другую тему.
Вот 6 примеров того, что может сделать ваш файл functions.php.
- Добавление настраиваемых меню навигации
- Добавление полей профиля для поддержки авторов WP
- Добавление областей или боковых панелей для виджетов к сообщениям
- Настройка панели администратора WordPress
- Изменение сообщения о том, что ваш сайт WordPress находится на обслуживании
- Изменение поведения активного плагина
Добавить фрагменты кода с помощью плагина
Редактировать или модифицировать PHP-файлы функций с помощью фрагментов кода легко, но есть предупреждение. Если недавно добавленный код неверен или что-то случайно изменено, это может привести к поломке вашего сайта. Это проблема, если вы забыли, что делали, или не можете найти сломанный код. Попросите кого-нибудь с опытом обновить этот файл, если вы не уверены, что вносите изменения.
СДЕЛАЙТЕ НОВУЮ РЕЗЕРВНУЮ КОПИИ ВАШЕГО ВЕБ-САЙТА WORDPRESS ПЕРЕД НАЧАЛОМ. ПО КРАЙНЕЙ МЕРЕ СДЕЛАЙТЕ КОПИЮ ФУНКЦИЙ PHP ПЕРЕД РАБОТОЙ НАД НИМ.
Войдите в свою панель инструментов WP, затем перейдите в Внешний вид => Редактор тем .
При первом посещении редактора тем WP отображается предупреждающее сообщение.
Нажмите « Я понимаю », чтобы продолжить.
Подтвердите или переключитесь на правильную тему в раскрывающемся списке Выберите тему для редактирования (вверху справа).
Теперь щелкните ссылку Theme Functions справа от экрана Edit Themes.
Ваш следующий шаг зависит от того, нужно ли вам редактировать существующий код или добавить новый фрагмент.
Как редактировать существующий код (только для опытных пользователей)
Функции Файлы PHP огромны, поэтому самый быстрый способ найти нужный код — воспользоваться быстрым поиском.
Используйте сочетание клавиш CTRL + F , чтобы открыть окно поиска файлов.
Напечатать или вставить часть кода в поле поиска и нажмите Введите на клавиатуре.
Измените свой код и нажмите кнопку Обновить файл , чтобы сохранить изменения.
Проверьте сайт, чтобы убедиться, что обновление прошло успешно.
Как добавить фрагменты кода в функции PHP
Щелкните внутри файла и используйте сочетание клавиш CTRL + End , чтобы перейти в конец страницы.
Скопируйте и вставьте новый код внизу файла.
Нажмите кнопку Обновить файл , чтобы сохранить изменения.
Проверьте сайт, чтобы убедиться, что обновление прошло успешно.
Редактирование функций PHP с использованием FTP и файлового менеджера
Единственная причина для редактирования вашего WP functions.php с сервера веб-хостинга — это проблемы. Например, файл не отображается на панели инструментов WP. Или, может быть, вы не можете получить доступ к экрану редактора или не можете сохранить тему или дочернюю тему после ее изменения.
ВНИМАНИЕ! СДЕЛАЙТЕ НОВУЮ РЕЗЕРВНУЮ КОПИИ ВАШЕГО ВЕБ-САЙТА WORDPRESS ПЕРЕД НАЧАЛОМ. ПО КРАЙНЕЙ МЕРЕ СДЕЛАЙТЕ КОПИЮ ФУНКЦИЙ PHP ПЕРЕД РАБОТОЙ НАД НИМ.
Параметры FTP для веб-сайтов и блогов WordPress
Вы можете использовать либо файловый менеджер cPanel, либо автономный сторонний FTP-клиент.
Путь к файлу: /public_html/wp-content/themes/theme-name/functions.php
Использование стороннего FTP-клиента
- Загрузите копию файла functions.php на свой компьютер ( см. путь к файлу выше)
- Переименуйте его в copy-functions.php (это ваш резервный файл)
- Загрузите еще одну копию файла functions.php на свой компьютер с помощью FTP
- Откройте и отредактируйте файл в редакторе кода, таком как Notepad++, с рабочий стол
- Закройте файл и сохраните изменения
- Загрузите измененный файл functions.php на ваш FTP-сервер
Использование файлового менеджера панели управления (cPanel)
- Откройте файловый менеджер из вашей учетной записи cPanel
- Перейдите к файлу functions. php для вашего домена (путь к файлу см. выше)
- Щелкните правой кнопкой мыши и выберите Изменить или щелкните ссылку Изменить в строке меню
Теперь файл PHP открывается в новая вкладка браузера.
Отредактируйте файл functions.php, затем нажмите кнопку Сохранить изменения (справа вверху).
Если что-то пойдет не так с любым методом:
- Переименуйте copy-functions.php , который вы сохранили ранее, обратно в php
- Повторно загрузите файл functions.php на веб-сервер
- Выберите «ОК», «Заменить файл» или любой другой запрос подтверждения, который вы получите, чтобы перезаписать
- Попробуйте найти проблему или обратитесь за помощью к более опытному специалисту
Заключительные комментарии
Открыть и отредактировать PHP-файл функций несложно, но вы должны быть осторожны. Всегда добавляйте только тот код, который, как вы знаете, является безопасным и точным. Если сомневаетесь, доверьте это профессионалу.
Хотите изучить WordPress?
WordPress — замечательная платформа для создания веб-сайтов любого типа. Он используется крупными корпорациями и небольшими семейными сайтами.
Вам также могут понравиться
Комментарии
Мои книги
У меня есть целый ряд книг для веб-мастеров, которые можно купить на Amazon в форматах Kindle и Paperback. WordPress, SEO и самостоятельная публикация.
Полный ассортимент
на Amazon
Мои онлайн-курсы
Мои курсы охватывают ряд навыков, связанных с веб-мастерами, от изучения самого WordPress до установки SSL-сертификата на ваш сайт.
Получить коды купонов
На Udemy
Подпишитесь на мою рассылку
Энди Уильямс предлагает бесплатные советы и учебные пособия по интернет-маркетингу, WordPress, SEO и самостоятельной публикации с 2003 года!
Раскрытие информации: я являюсь аффилированным лицом ряда продуктов, рассмотренных на этом сайте.