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

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

Почему важно создавать адаптивные шаблоны WordPress

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

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

Основные файлы и структура адаптивной темы

Минимальный набор файлов для рабочей темы WordPress:

  • style.css — описание темы и основные стили;
  • index.php — главный файл шаблона;
  • functions.php — подключение скриптов, регистрация меню и поддержек;
  • header.php — верхняя часть сайта с <head> и шапкой;
  • footer.php — нижняя часть сайта;
  • sidebar.php — боковая панель (необязательно).

Создадим структуру папки темы wpstuff-adaptive:

wpstuff-adaptive/
  style.css
  index.php
  functions.php
  header.php
  footer.php
  sidebar.php

Пример файла style.css с описанием темы

Чтобы WordPress распознал тему, в style.css должен быть заголовок:

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

Создание базовой HTML-разметки и подключение стилей

В header.php подключим шапку и добавим базовые метатеги для адаптивности:

<!DOCTYPE html>
<html lang="ru">
<head>
    <meta charset="UTF-8" />
    <meta name="viewport" content="width=device-width, initial-scale=1" />
    <title><?php wp_title('|', true, 'right'); ?></title>
    <?php wp_head(); ?>
</head>
<body <?php body_class(); ?>>
<header class="site-header">
    <div class="container">
        <h1 class="site-title"><a href="<?php echo esc_url(home_url('/')); ?>"><?php bloginfo('name'); ?></a></h1>
        <nav class="site-navigation">
            <?php wp_nav_menu(array('theme_location' => 'primary')); ?>
        </nav>
    </div>
</header>

Обратите внимание на метатег viewport — он отвечает за масштабирование на мобильных устройствах.

Регистрация меню и подключение скриптов в functions.php

Чтобы меню работало, зарегистрируем его и подключим стили:

function wpstuff_register_theme() {
    register_nav_menus(array(
        'primary' => __('Главное меню', 'wpstuff-adaptive')
    ));

    wp_enqueue_style('wpstuff-style', get_stylesheet_uri());
}
add_action('wp_enqueue_scripts', 'wpstuff_register_theme');

Адаптивная верстка с помощью CSS медиа-запросов

В style.css добавим базовые стили и адаптивность:

body {
    margin: 0;
    font-family: Arial, sans-serif;
}

.container {
    width: 90%;
    max-width: 1200px;
    margin: 0 auto;
}

.site-header {
    background-color: #222;
    color: #fff;
    padding: 20px 0;
}

.site-title a {
    color: #fff;
    text-decoration: none;
}

.site-navigation ul {
    list-style: none;
    padding: 0;
    margin: 0;
    display: flex;
    gap: 15px;
}

.site-navigation a {
    color: #fff;
    text-decoration: none;
}

/* Адаптивность для мобильных устройств */
@media (max-width: 768px) {
    .site-navigation ul {
        flex-direction: column;
        gap: 10px;
    }
}

Добавление мобильного меню (гамбургер)

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

function wpstuff_enqueue_scripts() {
    wp_enqueue_script('wpstuff-mobile-menu', get_template_directory_uri() . '/js/mobile-menu.js', array('jquery'), null, true);
}
add_action('wp_enqueue_scripts', 'wpstuff_enqueue_scripts');

Создайте файл js/mobile-menu.js с таким содержимым:

jQuery(document).ready(function($) {
    $('.menu-toggle').click(function() {
        $('.site-navigation ul').slideToggle();
    });
});

В header.php добавьте кнопку:

<button class="menu-toggle" aria-controls="primary-menu" aria-expanded="false">☰</button>

И в CSS добавьте стили:

.menu-toggle {
    display: none;
    background: none;
    border: none;
    font-size: 24px;
    color: #fff;
    cursor: pointer;
}
@media (max-width: 768px) {
    .menu-toggle {
        display: block;
    }
    .site-navigation ul {
        display: none;
        flex-direction: column;
    }
}

Пример базового цикла вывода записей в index.php

Для отображения записей блога в index.php используем стандартный loop WordPress:

<?php get_header(); ?>

<main class="container">
    <?php if (have_posts()) : ?>
        <?php 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; ?>
    <?php else : ?>
        <p>Записей не найдено.</p>
    <?php endif; ?>
</main>

<?php get_sidebar(); ?>
<?php get_footer(); ?>

Полезные плагины для разработки и отладки адаптивных тем

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

  • Query Monitor — помогает отследить запросы к базе, ошибки PHP и HTTP-запросы;
  • Regenerate Thumbnails — для быстрого пересоздания миниатюр после изменения размеров;
  • Debug Bar — панель с информацией для разработчика;
  • WP Retina 2x — адаптация изображений для экранов с высоким разрешением;
  • Theme Check — поможет проверить тему на соответствие стандартам WordPress.

Заключение по созданию адаптивного шаблона

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

Как создать собственный shortcode в WordPress с примерами кода
05.11.2025
Как создать адаптивный шаблон WordPress с нуля: подробное руководство
31.10.2025
Как удалить неиспользуемые посты и медиа в WordPress: практические советы и примеры кода
15.11.2025
Оптимизация браузерных исключений ошибок WordPress для повышения скорости сайта
20.05.2025