Skip to content

Всё для WordPress, веб-разработки — и не только

На каком языке написан WordPress

На каком языке написан WordPress

Когда люди спрашивают, на каком языке написан WordPress, за этим вопросом почти всегда стоит другой: «С чего мне начать, если я хочу в нём разобраться?» И это правильный подход.

Разработка под WordPress, не магия и не закрытый клуб. Это стек из пяти технологий, четыре из которых знакомы любому верстальщику. Пятая, PHP, держит на себе ядро, темы, плагины и всю серверную логику. Но выучить придётся не «один язык», а понять, как они работают вместе, и в каком порядке их осваивать.

💡 Быстрый обзор:

  • Ядро WordPress написано на PHP. Данные живут в MySQL. Это серверная часть, скрытая от глаз пользователя.
  • В браузере страница собирается из HTML (структура), CSS (оформление) и JavaScript (интерактивность), три фронтенд-технологии.
  • Осваивать стек нужно в порядке: HTML, затем CSS, затем PHP, затем JavaScript, затем SQL. От простого к сложному.

PHP, двигатель WordPress

Ядро WordPress, это десятки тысяч строк PHP-кода. Когда браузер запрашивает страницу, сервер выполняет PHP-скрипты, собирает данные из базы, пропускает их через шаблоны темы и отдаёт готовый HTML. Пользователь PHP-кода не видит, он получает уже собранную страницу.

Пример PHP-кода с переменными и условной логикой

PHP в WordPress работает как дирижёр: он «дирижирует» HTML, вызывает функции из базы данных, подставляет настройки из админки и собирает финальную страницу. Любой шаблон темы, это PHP-файл с вкраплениями HTML. Любой плагин, это PHP-файл, который через хуки (add_action, add_filter) подключается к ядру.

Без PHP WordPress просто не запустится. Поэтому ответ на заглавный вопрос однозначен: WordPress написан на PHP. Но это не единственный язык, который нужен разработчику.

HTML, скелет каждой страницы

HTML не язык программирования, а язык разметки. Он не «вычисляет», он описывает структуру: где заголовок, где абзац, где картинка, где кнопка. Браузер читает HTML-разметку и превращает её в видимую страницу.

В WordPress HTML не хранится в виде отдельных файлов. Шаблоны темы написаны на PHP, но отдают они именно HTML. Когда вы редактируете страницу в Гутенберге, редактор сохраняет контент в базу, но на выходе посетитель всё равно получает HTML.

1<html>
2 <head>
3 <meta charset="UTF-8" />
4 <title>�,аголовок страницы в поиске</title>
5 </head>
6 <body>
7 <h1>�,аголовок страницы</h1>
8 <p class="intro">Текст вступительного абзаца</p>
9 </body>
10</html>

Ключевая особенность HTML, теги. У каждого тега своя роль. <h1>, это заголовок первого уровня. <p>, абзац. <a>, ссылка. �,акрывающий тег с косой чертой (</h1>) показывает, где элемент заканчивается. Некоторые теги, например <meta> или <img>, самозакрывающиеся: им пара не нужна.

HTML-теги могут иметь классы: class="intro" в примере выше. Класс, это «якорь» для CSS. Браузер находит все элементы с таким классом и применяет к ним стили из CSS-файла.

Итог: HTML определяет, что пользователь видит на странице. Но как это выглядит, решает CSS.

CSS, одежда сайта

CSS расшифровывается как Cascading Style Sheets, каскадные таблицы стилей. Если HTML даёт странице структуру, то CSS придаёт ей цвет, шрифт, отступы, расположение блоков и адаптивность под мобильные экраны.

CSS-код с правилами для классов HTML

Без CSS любой сайт выглядит как белый лист с чёрным текстом и синими ссылками. Оформление заголовков, сетка колонок, анимации, тени, скругления, всё это делает именно CSS.

В WordPress CSS живёт в файлах темы (обычно style.css). Каждая тема обязана иметь этот файл, без него WordPress не распознает тему. Плагины тоже могут подгружать свои CSS-файлы через механизм wp_enqueue_style().

1.intro {
2 color: #325050;
3 background: #fff;
4 font-family: 'Libre Baskerville', serif;
5 font-size: 0.85rem;
6 line-height: 1.6;
7}

Точка перед .intro означает: «примени эти стили ко ВСЕМ элементам с классом intro». Это каскад: один класс, множество элементов на разных страницах. Изменили правило в одном месте, обновился весь сайт.

Для современной WordPress-разработки важно знать не только базовый CSS, но и адаптивную вёрстку через media queries. Темы без адаптивности сегодня не выживают, Google ранжирует сайты по mobile-first.

JavaScript, поведение страницы

JavaScript, единственный из пятёрки, без которого WordPress технически может работать. Тема способна полноценно функционировать вообще без единой строчки JS. Но на практике без него не обходится ни один современный сайт.

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

1(function($) {
2 var navMenu = '.primary-navigation';
3 var pageContent = '.main-content';
4 var gap = parseInt($('html').css('font-size'), 10) * 2;
5
6 function setPageMin() {
7 var height = $(navMenu).height();
8 $(pageContent).css('min-height', height + gap);
9 }
10
11 $(window).on('load', function() {
12 setPageMin();
13 $(window).on('resize', function() {
14 setTimeout(setPageMin, 120);
15 });
16 });
17})(jQuery);

Этот пример на jQuery показывает типовую задачу: вычислить высоту навигации и задать минимальную высоту контентной области, чтобы страница не «прыгала». Код срабатывает при загрузке и при каждом изменении размера окна.

Но самое большое влияние JavaScript на WordPress случилось с приходом Гутенберга, блочного редактора, написанного на React. Весь интерфейс редактирования постов, все блоки (абзац, заголовок, галерея, колонки), это JavaScript-приложение, которое работает внутри админки WordPress.

Поэтому сегодня разработчик WordPress, который вообще игнорирует JavaScript, сильно ограничен. Тему сверстать можно, но кастомные блоки Гутенберга без JS уже не напишешь.

SQL и MySQL, где живут данные

Посты, страницы, настройки, пользователи, комментарии, мета-поля, весь контент WordPress хранится в базе данных MySQL (или MariaDB). PHP общается с базой через SQL-запросы, но разработчику редко приходится писать «голый» SQL.

WordPress предоставляет собственный слой абстракции, класс wpdb. Вызовы вроде get_posts(), update_post_meta() и WP_Query уже содержат готовые SQL-запросы внутри. Это защищает от типичных ошибок и SQL-инъекций, при условии, что вы используете встроенные методы, а не пишете ручные запросы к базе.

Тем не менее понимать SQL полезно: когда проект вырастает до десятков тысяч постов и запросы начинают тормозить, умение прочитать EXPLAIN и найти отсутствующий индекс, бесценный навык.

Как устроена тема WordPress

Тема WordPress, это не монолит. Это набор PHP-файлов, каждый из которых отвечает за свой тип страницы. index.php, главная и всё по умолчанию. single.php, отдельный пост. page.php, статическая страница. archive.php, архив рубрики. WordPress сам выбирает нужный шаблон по иерархии, это называется Template Hierarchy.

Внутри каждого шаблона: стандартные PHP-функции ядра WordPress. the_title() выводит заголовок. the_content(): тело поста. wp_nav_menu(): меню. Полный список доступен в документации WordPress. HTML и PHP в теме перемешаны: открыли <?php, вызвали функцию, закрыли ?>, пошёл HTML. Это не идеальная архитектура по современным меркам, но она работает на 40%+ сайтов интернета.

Для создания темы нужно знать PHP, HTML и CSS, как минимум. JavaScript, опционально, но для интерактивных элементов (мобильное меню, табы, аккордеоны) пригодится.

Как устроен плагин WordPress

Плагин, это PHP-файл (минимум один) со специальным заголовком-комментарием в начале. В этом комментарии WordPress читает название, версию и автора, всё, что вы видите в админке на странице плагинов.

Плагин взаимодействует с ядром через хуки. Есть два типа:

  • Actions (add_action), выполняют код в определённый момент: при загрузке страницы, при сохранении поста, при активации плагина.
  • Filters (add_filter), перехватывают и модифицируют данные: меняют текст, добавляют CSS-класс, подменяют URL.

Самый простой плагин, буквально несколько строк:

1<?php
2/**
3 * Plugin Name: Приветственный плагин
4 * Description: Добавляет приветствие в конец каждого поста.
5 * Version: 1.0
6 */
7
8function my_greeting($content) {
9 if (is_single()) {
10 $content .= '<p>Спасибо, что читаете наш блог!</p>';
11 }
12 return $content;
13}
14add_filter('the_content', 'my_greeting');

Увидели add_filter? Именно так плагины WordPress расширяют функциональность, не правкой ядра (это категорически запрещено), а перехватом данных через хуки. Поэтому обновления WordPress не ломают кастомный код, при условии, что разработчик использовал официальное API, а не лез в файлы ядра.

WordPress и Node.js: замены не будет

Слухи о том, что WordPress «переходит на Node.js», ходят с 2015 года, с момента появления Calypso, десктопного интерфейса админки WordPress.com, написанного на Node.js и React. �,атем появился Гутенберг, тоже на React. JavaScript стал заметнее, и кто-то решил, что PHP доживает последние дни.

Это не так. Официальная позиция WordPress неизменна: ядро остаётся на PHP. Переписывать 20-летнюю кодовую базу на Node.js никто не планирует, это бессмысленно и сломало бы обратную совместимость с тысячами тем и плагинов.

Что реально произошло: WordPress превратился в гибридную платформу. Бэкенд, PHP и MySQL. Фронтенд админки, JavaScript (React). Публичная часть, HTML, CSS и немного JS. REST API, встроенный в ядро с версии 4.7, позволяет JavaScript-приложениям общаться с WordPress без перезагрузки страницы. Это открыло дорогу headless-решениям, где WordPress работает как безголовый CMS-бэкенд, а фронтенд собран на Next.js или Gatsby.

Итог: учить Node.js и React для работы с WordPress полезно, но не вместо PHP, а вместе с ним.

С чего начать изучение WordPress

Маршрут обучения выстроен от простого к сложному, от того, что видит пользователь в браузере, к тому, что происходит на сервере.

Шаг 1: HTML. Без понимания тегов, атрибутов и структуры документа двигаться дальше бессмысленно. HTML, это алфавит веба. К счастью, базовый уровень осваивается за неделю.

Шаг 2: CSS. Когда страница готова структурно, её нужно оформить. Изучите блочную модель, позиционирование, flexbox, grid и media queries. Без адаптивной вёрстки WordPress-тему не собрать.

Шаг 3: PHP. Вот теперь, самое важное. Учите PHP в контексте WordPress: как работают функции ядра, что такое цикл WP_Query, как устроена иерархия шаблонов. Абстрактный «PHP вообще» нужен как база, но фокус, на том, что реально встречается в темах и плагинах.

Шаг 4: JavaScript. Начните с простого: jQuery для манипуляции DOM, обработка событий. �,атем, современный JavaScript (ES6+), а после, React для кастомных блоков Гутенберга.

Шаг 5: SQL. Не пишите запросы вручную без крайней необходимости, но умейте прочитать и понять, что происходит под капотом WP_Query. На больших проектах это сэкономит часы отладки.

Порядок принципиален. Если начать с JavaScript, игнорируя PHP, вы сможете писать блоки Гутенберга, но не сможете собрать тему. Если начать с PHP без HTML/CSS, серверный код будет, а показывать пользователю нечего. Двигайтесь по маршруту, и через несколько месяцев сможете собрать полноценную тему с нуля.

⁉️🤔 Частые вопросы

Нужно ли знать все пять языков, чтобы сделать тему WordPress?

Чтобы собрать простую тему, достаточно PHP, HTML и CSS. JavaScript нужен для интерактивных элементов, мобильное меню, слайдер, ленивая загрузка. SQL на старте не обязателен: готовые функции ядра скрывают запросы к базе. Но для сложных проектов и оптимизации без JS и SQL уже не обойтись.

Можно ли стать разработчиком WordPress, зная только JavaScript?

Нет. Ядро, темы и плагины работают на PHP. JavaScript пригодится для блоков Гутенберга и интерактивности на фронтенде, но без PHP вы не сможете создать даже простейший плагин. JavaScript и PHP в WordPress, партнёры, а не конкуренты.

Правда ли, что скоро WordPress полностью перейдёт на JavaScript?

Нет. Официальная позиция команды WordPress: ядро остаётся на PHP. JavaScript расширяет возможности (Гутенберг, REST API), но не заменяет PHP на серверной стороне. Опасения возникли из-за роста популярности React в админке, но это эволюция, а не замена платформы.

Сколько времени займёт изучение WordPress-разработки с нуля?

При последовательном подходе (HTML → CSS → PHP → JS → SQL) и ежедневной практике, от 4 до 8 месяцев до уровня, когда вы уверенно собираете кастомную тему и простой плагин. Первые две недели, только HTML и CSS. Дальше PHP займёт основное время, потому что на нём держится всё.

Обязательно ли учить jQuery или можно сразу React?

jQuery до сих пор используется в большинстве тем WordPress и встроен в ядро, его знание пригодится для поддержки legacy-проектов. Но для новых разработок (особенно блоков Гутенберга) учите React. Начинайте с современного JavaScript (ES6+), затем React, это перспективнее.

Стоит ли учить WordPress в 2026 году

Короткий ответ: да. WordPress работает на 43%+ всех сайтов интернета, и этот показатель стабильно держится в диапазоне 43-44% последние несколько лет. Спрос на разработчиков, которые понимают не только «нажать кнопку установить тему», но и написать кастомный функционал на PHP, стабильно высокий.

Главное, правильный порядок. HTML и CSS дают фундамент за пару недель. PHP открывает доступ к ядру, хукам и плагинам. JavaScript добавляет интерактивность и перспективу роста (Гутенберг, headless, React). SQL замыкает картину на уровне базы данных.

Начинайте с первого шага, и через полгода вы будете смотреть на WordPress не как на «конструктор сайтов», а как на мощную платформу, которую вы контролируете на каждом уровне, от HTML-тега до SQL-индекса.