Файл functions.php в WordPress — это один из ключевых инструментов для настройки сайта. Иными словами, это место, куда можно добавить собственный код и изменить поведение сайта без правки ядра системы.
Он работает как встроенный мини-плагин: всё, что вы добавляете в этот файл, автоматически применяется при загрузке темы.
Где находится functions.php в WordPress
В WordPress каждый элемент системы отвечает за свою часть работы, и файл functions.php — не исключение. При этом важно понимать, что на сайте может быть не один такой файл, а сразу несколько.
В первую очередь стоит знать: каждая тема WordPress содержит собственный файл functions.php. Это удобно, потому что позволяет настраивать функциональность отдельно для каждой темы. Однако есть важный нюанс — при смене темы все изменения, внесённые в этот файл, могут быть потеряны.
Кроме того, существует ещё один файл functions.php, о котором часто забывают новички — это файл, входящий в ядро WordPress. Давайте разберёмся, где находятся оба варианта и чем они отличаются.
Файл functions.php в ядре WordPress
Системный functions.php является частью самого WordPress. Он входит в базовый набор файлов и отвечает за фундаментальную работу системы.
Найти его можно в следующем каталоге:
wp-includes/functions.phpЭтот файл содержит ключевые функции, на которых строится вся работа WordPress. По сути, это внутренний механизм платформы, который обеспечивает её стабильность и корректную работу.
Никогда не редактируйте файл из ядра. Любое обновление WordPress просто перезапишет ваши изменения, а ошибка может полностью сломать сайт.
Если вам нужно что-то изменить — используйте файл темы, а не ядра.
Файл functions.php в теме WordPress
Второй и основной файл, с которым работают пользователи — это functions.php, расположенный в папке темы.
Путь к нему выглядит так:
wp-content/themes/название_темы/functions.phpИменно этот файл предназначен для редактирования и добавления собственного функционала.
Файл темы:
- безопаснее в использовании
- имеет более простую структуру
- содержит меньше кода
- предназначен для доработки сайта
Если в нём возникает ошибка, сайт чаще всего можно быстро восстановить, особенно если у вас есть доступ через FTP или панель хостинга.
Как работает functions.php
Чтобы понять ценность этого файла, важно разобраться, как он вообще работает.
Когда пользователь открывает сайт, WordPress не просто показывает страницу — он проходит определённую цепочку загрузки файлов.
Вот как это происходит:
- Загружается ядро WordPress
- Подключаются основные системные файлы
- Загружаются плагины
- Подключается активная тема
- Загружается файл
functions.phpтемы - Выполняются хуки, фильтры и вывод страницы
Файл
functions.phpзагружается после ядра и плагинов, но до вывода страницы.
Это означает, что functions.php позволяет изменять поведение ядра WordPress и плагинов, которые установлены на вашем сайте.
Еще один важный момент, который необходимо отметить. Если вы используете дочернюю тему, то загрузка файла functions.php происходит в следующем порядке:
functions.phpродительской темыfunctions.phpдочерней темы
Но, в отличие от других файлов шаблона, functions.php не заменяется, а подключается дополнительно (расширяет родительский файл). Это значит, что код из обоих файлов работает одновременно.
При совпадении имён функций возникнет ошибка PHP, поэтому перед объявлением функции рекомендуется проверять её существование:
if (!function_exists('test')) {
function test() {}
}Что можно делать через functions.php
Возможности этого файла практически не ограничены. Но в целом, его используют для настройки и доработки сайта.
Вот самые распространенные задачи:
Базовые настройки темы
- включение миниатюр записей
- добавление поддержки логотипа
- регистрация меню
Работа с интерфейсом
- добавление новых виджетов
- изменение внешнего вида элементов
- настройка страницы входа
Подключение файлов
- CSS-стили
- JavaScript
- сторонние библиотеки
Расширение функциональности
- создание шорткодов
- добавление новых функций
- изменение поведения записей
Через
functions.phpможно изменить почти любой аспект сайта — от мелких деталей до логики работы.
Как получить доступ к файлу
Есть несколько способов открыть functions.php. Выбор зависит от вашего опыта.
Способ 1
Через админку WordPress
Зайдите в админку сайта в раздел Внешний вид > Редактор тем.

Способ 2
Через FTP
Подключитесь к сайту через файловый менеджер (FileZilla). Откройте файл functions.php на редактирование.

Как редактировать functions.php
Работа с этим файлом требует аккуратности. Лучше придерживаться понятного алгоритма:
- Обязательно сделайте резервную копию
functions.phpили всей папки вашего шаблона. - Откройте файл одним из способов описанных в предыдущем разделе.
- Внесите изменения в файл или добавьте новый код. Например, фрагмент кода, который добавит вашей теме поддержку миниатюр записей.
add_theme_support( 'post-thumbnails' );- Сохраните изменения.
- Проверьте работу сайта.
Не стоит вносить сразу много изменений — лучше делать по одному и проверять результат.
Частые ошибки functions.php
Редактирование файла functions.php может привести к проблемам на сайте. Перечислим самые распространенные проблемы и их решения.
- Синтаксические ошибки. Чаще всего возникают из-за пропущенных точек с запятой, неправильных скобок, кавычек или опечаток..
- Белый экран. Самая частая проблема после изменений в файле. Обычно возникает из-за критической PHP-ошибки в
functions.php. Для исправления необходимо открыть файл и откатить изменения. - Сбой в работе сайта. Приводит к полной недоступности сайта. Чтобы узнать причину ошибки, необходимо в файле
wp-config.phpвключить режим отладки:
define('WP_DEBUG', true);Безопасное изменение functions.php
Как вы уже поняли, изменять functions.php достаточно рискованно для сайта, особенно, если это рабочий сайт с посетителями. Поэтому, для безопасного изменения файла лучше использовать тестовый сайт. Тестовый сайт — это полная копия вашего основного сайта, который используется для тестирования и разработки.
Преимущества использования тестовой среды:
- Предотвращение ошибок и простоев. Если после изменения кода возникнут ошибки, это никак не повлияет на работу вашего основного сайта.
- Тестирование новых функций. Прежде чем добавлять новый функционал на рабочий сайт, убедитесь что все работает должным образом.
- Безопасность. Рабочий сайт всегда остается защищенным и доступным для пользователей.
Наиболее популярный код в functions.php
- Подключение js-скриптов и css-стилей:
add_action('wp_enqueue_scripts', 'enqueue_theme_scripts');
function enqueue_theme_scripts()
{
wp_enqueue_style(
'style',
get_template_directory_uri() . '/assets/css/main.min.css',
[],
filemtime(get_theme_file_path('/assets/css/main.min.css'))
);
wp_enqueue_script(
'script',
get_template_directory_uri() . '/assets/js/app.min.js',
[],
filemtime(get_theme_file_path('/assets/js/app.min.js')),
[
'in_footer' => true
]
);
}- Добавление поддержки дополнительных функций шаблона:
add_action('after_setup_theme', 'custom_theme_setup');
function custom_theme_setup() {
add_theme_support('post-thumbnails');
register_nav_menus(array(
'primary' => 'Меню в шапке',
'footer' => 'Меню в подвале'
));
}- Регистрация новых размеров миниатюр:
add_action('after_setup_theme', 'add_custom_thumb_sizes');
function add_custom_thumb_sizes() {
add_image_size('custom-thumbnail', 350, 350, true);
add_image_size('banner', 1200, 380, true);
}- Регистрация нового шорткода:
add_shortcode('custom_text', 'output_shortcode_custom_text');
function output_shortcode_custom_text() {
return 'Произвольный текст';
}