Как создать адаптивный шаблон WordPress с нуля

Введение в создание адаптивного шаблона WordPress

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

Мы пройдём все основные этапы: структуру файлов, подключение стилей и скриптов, создание главной страницы и шаблона записи, а также добавим базовые функции, необходимые для работы темы. В конце статьи вы получите рабочий пример, который сможете использовать как отправную точку для своих проектов.

Основы структуры шаблона WordPress

Любая тема WordPress — это набор файлов, которые располагаются в отдельной папке в директории wp-content/themes. Минимально для работы темы нужны два файла:

  • style.css — файл с основными стилями и заголовком темы;
  • index.php — главный шаблон, который выводит содержимое.

Однако для удобства и правильной работы рекомендуется добавить ещё несколько файлов: header.php, footer.php, functions.php, single.php и page.php. Они помогут структурировать код и разделить логику.

Пример минимального style.css с обязательным заголовком темы:

/*
Theme Name: WPTest Adaptive Theme
Theme URI: https://wptest.ru
Author: WPTest Team
Author URI: https://wptest.ru
Description: Простой адаптивный шаблон WordPress с нуля
Version: 1.0
License: GNU General Public License v2 or later
Text Domain: wptest-adaptive
*/

Создание адаптивной верстки с использованием CSS

Адаптивность достигается с помощью медиа-запросов в CSS и гибкой верстки на базе flexbox или grid. В нашем примере возьмём простой подход с flexbox для основного контента и сайдбара.

Добавим базовые стили в style.css:

body {
  margin: 0;
  font-family: Arial, sans-serif;
  line-height: 1.6;
  color: #333;
}

.container {
  display: flex;
  flex-wrap: wrap;
  max-width: 1200px;
  margin: 0 auto;
  padding: 20px;
}

.content {
  flex: 1 1 600px;
  padding: 20px;
}

.sidebar {
  flex: 0 0 300px;
  padding: 20px;
  background-color: #f4f4f4;
}

@media (max-width: 768px) {
  .container {
    flex-direction: column;
  }
  .sidebar {
    order: -1;
    flex: 1 1 100%;
  }
}

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

Подключение стилей и скриптов через functions.php

В WordPress все стили и скрипты нужно подключать через функцию wp_enqueue_scripts. Создадим файл functions.php и добавим туда код подключения нашего style.css:

<?php
function wptest_enqueue_styles() {
    wp_enqueue_style('wptest-style', get_stylesheet_uri());
}
add_action('wp_enqueue_scripts', 'wptest_enqueue_styles');
?>

Если вы планируете добавлять JavaScript, например, для выпадающего меню или интерактивных элементов, то регистрируйте и подключайте их аналогично.

Создание шаблонов header.php и footer.php

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

<!-- header.php -->
<!DOCTYPE html>
<html lang="ru">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <?php wp_head(); ?>
</head>
<body>
<header>
  <div class="container">
    <h1><a href="<?php echo esc_url(home_url('/')); ?>">WPTest Adaptive Theme</a></h1>
    <nav><?php wp_nav_menu(array('theme_location' => 'primary')); ?></nav>
  </div>
</header>
<!-- footer.php -->
<footer>
  <div class="container">
    <p>© 2024 WPTest.ru. Все права защищены.</p>
  </div>
</footer>
<?php wp_footer(); ?>
</body>
</html>

Не забудьте вызвать эти шаблоны в index.php и других основных файлах темы с помощью get_header() и get_footer().

Регистрация меню и виджетов в functions.php

Для управления меню и виджетами регистрируем их в functions.php:

function wptest_setup_theme() {
    register_nav_menus(array(
        'primary' => 'Главное меню'
    ));

    register_sidebar(array(
        'name' => 'Основной сайдбар',
        'id' => 'sidebar-1',
        'before_widget' => '<div class="widget">',
        'after_widget' => '</div>',
        'before_title' => '<h3 class="widget-title">',
        'after_title' => '</h3>'
    ));
}
add_action('after_setup_theme', 'wptest_setup_theme');

Таким образом, в админке WordPress появится возможность настраивать меню и виджеты.

Создание главного шаблона index.php с адаптивным выводом

В index.php подключим заголовок и подвал, а между ними выведем контент и сайдбар:

<?php get_header(); ?>

<div class="container">
    <main class="content">
        <?php if (have_posts()) : while (have_posts()) : the_post(); ?>
            <article id="post-<?php the_ID(); ?>">
                <h2><a href="<?php the_permalink(); ?>"><?php the_title(); ?></a></h2>
                <div class="entry-content"><?php the_excerpt(); ?></div>
            </article>
        <?php endwhile; else: ?>
            <p>Записей не найдено.</p>
        <?php endif; ?>
    </main>

    <aside class="sidebar">
        <?php dynamic_sidebar('sidebar-1'); ?>
    </aside>
</div>

<?php get_footer(); ?>

Создание шаблона записи single.php и страницы page.php

Для вывода отдельной записи создадим single.php:

<?php get_header(); ?>
<div class="container">
    <main class="content">
        <?php if (have_posts()) : while (have_posts()) : the_post(); ?>
            <article id="post-<?php the_ID(); ?>">
                <h1><?php the_title(); ?></h1>
                <div class="entry-content"><?php the_content(); ?></div>
            </article>
        <?php endwhile; else: ?>
            <p>Запись не найдена.</p>
        <?php endif; ?>
    </main>

    <aside class="sidebar">
        <?php dynamic_sidebar('sidebar-1'); ?>
    </aside>
</div>
<?php get_footer(); ?>

Для страниц создаём аналогичный page.php, меняя только заголовок и вывод содержимого.

Оптимизация и советы для адаптивной темы

Для повышения скорости загрузки адаптивного шаблона рекомендуем:

  • Минимизировать CSS и JavaScript;
  • Использовать современные форматы изображений (WebP);
  • Подключать только необходимые шрифты и библиотеки;
  • Тестировать тему на разных устройствах и разрешениях;
  • Поддерживать кроссбраузерность.

Также можно подключить плагин Autoptimize для автоматической оптимизации ресурсов, а для адаптивных изображений использовать встроенную поддержку WordPress (функция add_theme_support('responsive-embeds') и srcset).

Заключение

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

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

Как оптимизировать загрузку шаблонов WordPress для улучшения производительности
15.01.2026
Как удалить дублированные метаданные в WordPress
15.12.2025
Как сделать автоматический откат обновлений WordPress при ошибках
12.01.2026
Оптимизация кэширования и удаление старых кэшей в WordPress
02.01.2026
Как использовать REST API в WordPress для создания кастомных эндпоинтов
29.11.2025