Перейти к содержимому

3. Структура темы

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

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

  1. style.css — мета-информация о теме и стили.
  2. index.php — основной шаблон вывода.

В начале этого файла обязательно должен быть заголовок в комментариях:

/*
Theme Name: My Custom Theme
Author: Yasha
Version: 1.0
Description: Обучающая тема для курса WordPress.
*/

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

graph LR
Request[Запрос пользователя] --> Archive[Архив / Категория]
Request --> Single[Одиночный пост]
Request --> Page[Страница]
Archive --> category_id[category-12.php]
category_id --> category[category.php]
category --> archive_general[archive.php]
Single --> single_post_type[single-post.php]
single_post_type --> single_general[single.php]
Page --> page_slug[page-about.php]
page_slug --> page_general[page.php]
archive_general --> index[index.php]
single_general --> index
page_general --> index
  • functions.php — “мозг” темы. Здесь подключаются скрипты, стили и регистрируются возможности темы.
  • header.php — верхняя часть сайта (теги head, навигация).
  • footer.php — нижняя часть сайта (подвал, скрипты).
  • sidebar.php — боковая панель.

Правильный способ подключения ресурсов в WordPress — использование хука wp_enqueue_scripts в файле functions.php.

functions.php
<?php
function my_theme_scripts() {
// Подключение стилей
wp_enqueue_style('main-styles', get_stylesheet_uri());
// Подключение кастомного JS
wp_enqueue_script('custom-js', get_template_directory_uri() . '/js/main.js', array(), '1.0', true);
}
add_action('wp_enqueue_scripts', 'my_theme_scripts');

Использование функций get_header() и get_footer() позволяет собирать страницу из этих фрагментов.

Файловая структура WordPress-темы: