Первая тема WordPress
Первая тема WordPress
Создадим дочернюю тему поверх стандартной Twenty Twenty-Four — безопасный способ кастомизации: обновления родительской темы не затирают ваш код.
Обзор CMS: WordPress.
Локальная установка
Варианты:
- Local WP, DDEV, Docker;
- хостинг с PHP + MySQL и установщиком на
https://site/wp-admin/install.php.
После установки в админке: Внешний вид → Темы — активируйте Twenty Twenty-Four (или другую блочную тему по умолчанию).
Структура дочерней темы
Каталог: wp-content/themes/ituniverse-child/
ituniverse-child/
style.css
functions.php
index.php
style.css (обязательные метаданные)
/*
Theme Name: IT Universe Child
Template: twentytwentyfour
Version: 1.0.0
Description: Учебная дочерняя тема
*/
/* Дополнительные стили */
.site-title a {
color: #2563eb;
}
Template должен совпадать с папкой родительской темы (twentytwentyfour).
functions.php
<?php
add_action('wp_enqueue_scripts', function () {
$parent = 'twentytwentyfour-style';
wp_enqueue_style($parent, get_template_directory_uri() . '/style.css');
wp_enqueue_style(
'ituniverse-child',
get_stylesheet_uri(),
[$parent],
wp_get_theme()->get('Version')
);
});
add_action('after_setup_theme', function () {
add_theme_support('title-tag');
add_theme_support('post-thumbnails');
});
index.php
Минимальный fallback-шаблон (для классических тем; у block-тем иногда достаточно theme.json, но index.php не помешает):
<?php get_header(); ?>
<main class="wp-block-group" style="padding:2rem">
<h1><?php bloginfo('name'); ?></h1>
<p><?php bloginfo('description'); ?></p>
<?php if (have_posts()) : ?>
<?php while (have_posts()) : the_post(); ?>
<article <?php post_class(); ?>>
<h2><a href="<?php the_permalink(); ?>"><?php the_title(); ?></a></h2>
<?php the_excerpt(); ?>
</article>
<?php endwhile; ?>
<?php else : ?>
<p>Записей пока нет.</p>
<?php endif; ?>
</main>
<?php get_footer(); ?>
Активируйте тему: Внешний вид → Темы → IT Universe Child → Активировать.
Свой виджет в подвале (хук)
functions.php:
add_action('wp_footer', function () {
echo '<p style="text-align:center">Учебная тема · ' . esc_html(date('Y')) . '</p>';
});
esc_html() — экранирование вывода (защита от XSS).
Плагин «Hello» (опционально)
wp-content/plugins/ituniverse-hello/ituniverse-hello.php:
<?php
/**
* Plugin Name: IT Universe Hello
* Description: Учебный плагин
* Version: 1.0.0
*/
add_shortcode('hello', function ($atts) {
$name = isset($atts['name']) ? sanitize_text_field($atts['name']) : 'мир';
return '<p>Привет, ' . esc_html($name) . '!</p>';
});
В редакторе записи: [hello name="WordPress"].
Активация: Плагины → IT Universe Hello.
Отладка
В wp-config.php (только локально):
define('WP_DEBUG', true);
define('WP_DEBUG_LOG', true);
define('WP_DEBUG_DISPLAY', false);
Лог: wp-content/debug.log.
Дальше
theme.jsonи блочные шаблоны (FSE);- CPT для портфолио;
- PHPUnit для плагинов с бизнес-логикой;
- Laravel — если проект перерастает CMS.
См. также
Другие статьи этого же раздела в боковом меню (как на странице «О разделе»). PHP как язык веб-разработки - роль серверного исполнения, базовый синтаксис и место в современном стеке. Экосистема PHP-приложений - фреймворки, инструменты, пакеты и типовые архитектурные подходы веб-разработки. Фундамент для начинающего программиста - что повторить, как работать, чего ожидать. Модель исполнения PHP - жизненный цикл запроса, серверный контекст и экосистема популярных CMS. История PHP - эволюция языка от простых скриптов до зрелой платформы серверной веб-разработки. Composer в PHP - управление зависимостями, автозагрузка классов и воспроизводимая сборка проектов. Параметр opcache.fast_shutdown ускоряет завершение работы скрипта за счёт пропуска стандартной процедуры освобождения памяти. Вместо этого используется механизм сборщика мусора операционной системы. Локальная среда разработки на PHP - настройка стека, запуск приложения и отладка без продакшен-сервера. Набор советов, правил, принципов и обычаев в разработке на этом языке. Фреймворки и библиотеки PHP - организация сервисов, вспомогательные компоненты и ускорение разработки веб-приложений. Гайд по установке и настройке с написанием первой программы и её запуском. Примеры простых и полезных консольных приложений с демонстрацией концепций языка.PHP - язык веб-разработки
Экосистема PHP-приложений
Что требуется знать перед началом изучения языка программирования PHP
Модель исполнения PHP
История языка PHP
Composer - управление зависимостями в PHP
Настройка веб-сервера для работы с PHP
Локальная среда разработки на PHP
Рекомендации по разработке на PHP
Фреймворки и библиотеки PHP
Первая программа на PHP
Простые приложения на PHP