• 🚀 Как создать свою тему на WordPress: пошаговое руководство - Павлов Студия
    Хотите заказать услугу прямо сейчас?

    🚀 Как создать свою тему на WordPress: пошаговое руководство

    🚀 Как создать свою тему на WordPress: пошаговое руководство

    📑 Содержание

    1. Введение

    2. Что такое тема WordPress

    3. Минимальная структура темы

    4. Основные файлы темы

      • style.css

      • index.php

      • functions.php

    5. Подключение CSS и JS файлов

    6. Создание шаблонов страниц

    7. Работа с циклами WordPress (Loop)

    8. Поддержка меню и виджетов

    9. Поддержка миниатюр и изображений записей

    10. Советы по дальнейшему развитию темы

    11. Заключение


    1. Введение

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

    Создание своей темы даёт полный контроль над дизайном и логикой отображения. Это полезно как начинающим разработчикам, так и профессионалам, которые создают проекты для клиентов.


    2. Что такое тема WordPress

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


    3. Минимальная структура темы

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

    /mytheme/
    ├── style.css
    └── index.php

    📌 style.css

    Это главный файл, который хранит метаинформацию о теме. Без него WordPress просто не увидит тему.

    Пример:

    /*
    Theme Name: My Custom Theme
    Theme URI: https://example.com/mytheme
    Author: Иван Петров
    Author URI: https://example.com
    Description: Моя первая тема WordPress
    Version: 1.0
    License: GNU General Public License v2 or later
    Text Domain: mytheme
    */

    📌 index.php

    Это базовый шаблон, который используется, если другие шаблоны не найдены. Например:

    <?php get_header(); ?>

    <main>
    <?php
    if (have_posts()):
    while (have_posts()): the_post(); ?>
    <h2><?php the_title(); ?></h2>
    <div><?php the_content(); ?></div>
    <?php endwhile;
    else:
    echo '<p>Нет записей для отображения.</p>';
    endif;
    ?>
    </main>

    <?php get_footer(); ?>


    4. Основные файлы темы

    Помимо style.css и index.php, в полноценной теме обычно есть:

    • functions.php — подключение скриптов, стилей, регистрация меню, виджетов.

    • header.php — шапка сайта.

    • footer.php — подвал.

    • sidebar.php — боковая колонка.

    • single.php — отображение отдельной записи.

    • page.php — отображение отдельной страницы.

    • archive.php — архив записей.


    5. Подключение CSS и JS файлов

    Нельзя подключать стили напрямую в header.php. Для этого используется хук wp_enqueue_scripts в functions.php:

    <?php
    function mytheme_scripts() {
    wp_enqueue_style('mytheme-style', get_stylesheet_uri());
    wp_enqueue_script('mytheme-scripts', get_template_directory_uri() . '/script.js', [], null, true);
    }
    add_action('wp_enqueue_scripts', 'mytheme_scripts');

    6. Создание шаблонов страниц

    В WordPress можно создавать собственные шаблоны страниц. Для этого в файле добавляем заголовок:

    <?php
    /*
    Template Name: Шаблон с боковой панелью
    */

    get_header(); ?>

    <div class="content">
    <div class="main">
    <?php
    while (have_posts()): the_post();
    the_content();
    endwhile;
    ?>
    </div>
    <?php get_sidebar(); ?>
    </div>

    <?php get_footer(); ?>


    7. Работа с циклами WordPress (Loop)

    Цикл — это сердце WordPress. Он отвечает за вывод записей.

    Пример стандартного цикла:

    <?php if (have_posts()): ?>
    <?php while (have_posts()): the_post(); ?>
    <article>
    <h2><a href="<?php the_permalink(); ?>"><?php the_title(); ?></a></h2>
    <div><?php the_excerpt(); ?></div>
    </article>
    <?php endwhile; ?>
    <?php else: ?>
    <p>Записей не найдено</p>
    <?php endif; ?>

    8. Поддержка меню и виджетов

    Чтобы зарегистрировать меню:

    <?php
    function mytheme_setup() {
    register_nav_menus([
    'main_menu' => 'Главное меню',
    'footer_menu' => 'Меню в подвале'
    ]);
    }
    add_action('after_setup_theme', 'mytheme_setup');

    Вывод меню:

    <?php wp_nav_menu(['theme_location' => 'main_menu']); ?>

    Регистрация сайдбара (виджетов):

    <?php
    function mytheme_widgets() {
    register_sidebar([
    'name' => 'Sidebar',
    'id' => 'sidebar-1',
    'before_widget' => '<div class="widget">',
    'after_widget' => '</div>',
    ]);
    }
    add_action('widgets_init', 'mytheme_widgets');

    9. Поддержка миниатюр и изображений записей

    Чтобы включить поддержку миниатюр:

    <?php
    add_theme_support('post-thumbnails');
    set_post_thumbnail_size(300, 200, true);

    Вывод миниатюры в шаблоне:

    <?php if (has_post_thumbnail()): ?>
    <div class="post-thumbnail">
    <?php the_post_thumbnail('medium'); ?>
    </div>
    <?php endif; ?>

    10. Советы по дальнейшему развитию темы

    • Используйте get_template_part() для повторяющихся частей кода.

    • Добавляйте кастомайзер (Customizer API), чтобы администратор мог менять цвета и шрифты.

    • Добавьте переводимость с помощью функций __() и _e().

    • Валидируйте HTML и следите за безопасностью (esc_html, esc_url и т. д.).


    11. Заключение

    Создание собственной темы на WordPress — это отличный способ освоить CMS и научиться делать сайты под любые задачи.
    Мы рассмотрели:

    • структуру темы,

    • обязательные файлы,

    • подключение стилей и скриптов,

    • работу с циклами, меню и виджетами.

    Теперь у тебя есть базис для разработки своей первой темы.
    Дальше можно углубляться в кастомные пост-типы, шаблоны таксономий, REST API и создавать полноценные проекты.

    Комментарии (0)

    Оставить комментарий

    Кейсы компании

    Кейс: создание кастомной корзины на 1С‑Битрикс с лицензией «Стандарт»

    Посмотреть

    Кастомная система комментариев WordPress с микроразметкой и AJAX

    Посмотреть

    Как создать компонент в Битрикс 1С, который изменяет цену на китайские юани

    Посмотреть

    🎯 Кейс Павлов Студио: как мы внедрили Яндекс SmartCaptcha для защиты всех форм сайта (включая Bitrix)

    Посмотреть

    Разработка онлайн-калькулятора для товаров на сайте wp

    Посмотреть

    Обновление сайта с битрикс 1с с версии php 5.6 до 8.2

    Посмотреть

    Разработка сервиса для сбора информации из соц.сети «Вконтате»

    Посмотреть

    Разработка мега-меню для сайта на wordpress https://doma-penoblok.ru/

    Посмотреть

    Разработка и сопровождение сайта  https://aaa-sitrak.ru/ с последующей интеграцией на 1с-битрикс

    Посмотреть

    Разработка интернет-магазина https://sklad38.ru/ на битрикс 1с

    Посмотреть

    Доработка сайта https://tochka-kontakta.ru/ для организации «Точка Контакта»

    Добро пожаловать в WordPress. Это ваша первая запись. Отредактируйте или удалите ее, затем начинайте создавать!

    Посмотреть
    Max Messenger