Понимание основной структуры темы WordPress
WordPress-тема – это не просто набор таблиц стилей, определяющих внешний вид сайта; это совокупность файлов, соответствующих определённым стандартам. Эти файлы взаимодействуют между собой, указывая WordPress, как отображать содержимое сайта. Самая простая тема содержит всего два файла:style.css и index.phpОднако функционально мощные темы могут включать в себя десятки файлов шаблонов, файлов с функциями и файлов с ресурсами.
Основные файлы и их функции
Каждая тема для WordPress должна включать в себя определенный элемент (или компонент). style.css Этот файл не только является основой для определения стиля веб-сайта, но и содержит комментарии в его заголовочной части, в которых хранятся метаданные темы: название темы, автор, описание и версия. Именно эти данные помогают системе WordPress определить, является ли тема действительно действительной (т. е. соответствующей стандартам).
Другим базовым файлом является… index.phpЭто файл-шаблон по умолчанию для отображения контента по определённой теме. Когда система WordPress не может найти более специфический файл-шаблон для текущего запроса, она автоматически переключается на использование этого шаблона по умолчанию. index.php。
Рекомендуемое чтение Полное руководство по разработке тем для WordPress: от основ до создания собственных сайтов。
Иерархия шаблонов.
Система тем WordPress следует строгим правилам иерархии шаблонов. Это означает, что при запросе определенной страницы WordPress ищет подходящий шаблон в определенном порядке. Например, при просмотре статьи в блоге WordPress в первую очередь ищет шаблон, предназначенный для отображения статей. single-post.phpЕсли его нет, то его нужно найти. single.phpИ только в конце используется… index.phpПонимание этой иерархии является основой для выполнения сложных настроек (продвинутых пользовательских настроек).
Создайте свою первую базовую тему.
Создание темы с нуля — это лучший способ понять, как она функционирует. Для начала мы используем инструменты, предоставляемые системой WordPress… wp-content/themes Создайте новую папку в каталоге и назовите её, например, “my-first-theme”.
Написание информации для заголовка таблицы стилей (stylesheet header)
В этой папке создайте… style.css Файл, а затем введите следующую базовую информацию о заголовочном блоке:
/*
Theme Name: My First Theme
Theme URI: https://example.com/my-first-theme
Author: Your Name
Author URI: https://example.com
Description: 这是我开发的第一个WordPress主题,用于学习。
Version: 1.0
License: GNU General Public License v2 or later
Text Domain: my-first-theme
*/ Создание базового шаблона индекса
Далее создайте index.php Это самая простая из доступных шаблонов; она использует встроенные функции WordPress для получения и отображения названия сайта, а также списка всех статей.
<!DOCTYPE html>
<html no numeric noise key 1014>
<head>
<meta charset="<?php bloginfo( 'charset' ); ?>">
<meta name="viewport" content="width=device-width, initial-scale=1">
</head>
<body no numeric noise key 1011>
<header>
<h1><a href="/ru/</?php echo esc_url( home_url( '/' ) ); ?>"></a></h1>
<p></p>
</header>
<main>
<article>
<h2><a href="/ru/</?php the_permalink(); ?>"></a></h2>
<div></div>
</article>
<p><?php esc_html_e( 'Sorry, no posts matched your criteria.', 'my-first-theme' ); ?></p>
</main>
</body>
</html> В этот момент вы сможете увидеть этот базовый тематический шаблон в разделе “Внешний вид > Темы” в менеджере WordPress и активировать его.
Рекомендуемое чтение Полное практическое руководство по разработке тем для WordPress: создание собственных тем с нуля。
Использование шаблонных файлов и хуков для выполнения пользовательских настроек
Чтобы функционал темы был насыщенным и её структура была чёткой, вам необходимо умело использовать шаблонные файлы и систему хуков (hooks) WordPress.
Разделить шаблон на модульные компоненты
Профессиональная тема не будет складывать весь код в одну кучу. index.php Да. Мы используем это. get_header(), get_footer(), get_sidebar() Для разделения шаблона используются такие функции. Сначала необходимо… index.php Структуры HTML для средней и конечной частей были перемещены в только что созданные файлы. header.php и footer.php Файл, затем его изменение. index.php Как указано ниже:
<main>
<article>
<h2><a href="/ru/</?php the_permalink(); ?>"></a></h2>
<div></div>
</article>
<p><?php esc_html_e( 'Sorry, no posts matched your criteria.', 'my-first-theme' ); ?></p>
</main> Добавление функций с помощью файла функций
functions.php Файл является “мозгом” темы (тематического дизайна сайта) и используется для добавления специальных функций, регистрационных форм, областей с мини-приложениями, а также для включения стилей таблиц и скриптов. Создайте этот файл и добавьте в него следующий базовый код для регистрации навигационного меню:
<?php
function my_first_theme_setup() {
// 注册一个导航菜单位置
register_nav_menus( array(
'primary' => __( 'Primary Menu', 'my-first-theme' ),
) );
// 添加文章缩略图支持
add_theme_support( 'post-thumbnails' );
}
add_action( 'after_setup_theme', 'my_first_theme_setup' );
// 排入样式表和脚本
function my_first_theme_scripts() {
wp_enqueue_style( 'main-style', get_stylesheet_uri() );
wp_enqueue_script( 'main-js', get_template_directory_uri() . '/js/main.js', array(), null, true );
}
add_action( 'wp_enqueue_scripts', 'my_first_theme_scripts' );
?> Затем вы можете… header.php Используйте это в Китае. wp_nav_menu() Функция предназначена для отображения этого меню.
Реализация реагирующего дизайна и разработка подтем (subthemes)
Современные веб-сайты должны быть адаптированы к экранам различных устройств. Кроме того, для безопасного обновления основной темы (parent theme) без потери пользовательских настроек необходимо владеть навыками работы с подтемами (subthemes).
Применение принципов реагирующего дизайна (responsive design) к приложениям
В style.css В этом примере используются CSS-медиаквери для создания реактивного дизайна. Например, для планшетов и мобильных устройств задаются разные правила стиля:
Рекомендуемое чтение Полное руководство по разработке тем для WordPress: создание пользовательских сайтов с нуля。
/* 基础样式 */
.container { width: 100%; max-width: 1200px; margin: 0 auto; }
/* 平板设备 (宽度小于 768px) */
@media (max-width: 768px) {
.container { padding: 0 15px; }
.sidebar { display: none; }
}
/* 手机设备 (宽度小于 480px) */
@media (max-width: 480px) {
h1 { font-size: 1.5em; }
} Создание подтемы для замены основной темы
Подтемы позволяют вам изменять или расширять функции другой темы (родительской темы). Создайте новую папку, например, под названием “my-first-theme-child”, и внутри нее разместите необходимые файлы и элементы интерфейса. style.cssВ заголовочной информации должна быть строка “Template”, чтобы указать имя каталога родительской темы.
/*
Theme Name: My First Theme Child
Template: my-first-theme
Version: 1.0
*/ Затем, в подтеме functions.php Вам необходимо включить стилистические таблицы для родительской темы и дочерних тем.
<?php
add_action( 'wp_enqueue_scripts', 'my_child_theme_scripts' );
function my_child_theme_scripts() {
// 排入父主题样式表
wp_enqueue_style( 'parent-style', get_template_directory_uri() . '/style.css' );
// 排入子主题样式表,位于父主题样式之后
wp_enqueue_style( 'child-style', get_stylesheet_uri(), array( 'parent-style' ) );
}
?> После этого вы можете создать файл шаблона с тем же именем в подтеме (например, header.phpМожно использовать эти файлы для замены соответствующих файлов родительской темы или добавлять новые CSS-правила с целью изменения внешнего вида.
резюме
Разработка тем для WordPress начинается с понимания их основной структуры, затем переходит к практическому созданию базовых тем, а далее – к глубокой настройке с использованием продвинутых функций (таких как иерархия шаблонов, хаки, реагирующий дизайн и подтемы). Соблюдая стандартизированную структуру файлов и практики разработки, вы можете создавать темы с мощными функциями, которые легко обслуживать и имеют профессиональный внешний вид. Главное – применять знания на практике, начиная с изменения простых элементов темы. index.php и style.css Начните постепенно осваивать систему тем для WordPress, чтобы полностью овладеть её функционалом.
Часто задаваемые вопросы
Как минимум, какие файлы необходимы для создания темы для WordPress?
Для создания темы для WordPress необходимо как минимум два файла:style.css и index.php。
Среди них,style.css В заголовочных комментариях темы должны содержаться правильные метаданные о теме; это критически важно для того, чтобы WordPress смог распознать и использовать эту тему. index.php Как файл-шаблон по умолчанию, он отвечает за обработку запросов, для которых не найдено более подходящее конкретное шаблоно.
Как настроить отображение отдельной страницы статьи?
Чтобы настроить отображение отдельной статьи по своему усмотрению, вам необходимо создать соответствующий элемент в иерархии шаблонов WordPress. single.php Файлы, или, для более точного контроля над процессом создания контента, можно использовать шаблоны, предназначенные для конкретных типов статей. single-post.php。
В этом файле вы можете свободно организовать расположение заголовков статей, их содержимого, метаданных (автора, времени публикации, категорий) и области для комментариев. Для этого используйте теги-шаблоны, предоставляемые системой WordPress. the_title(), the_content(), the_author() Пожалуйста, предоставьте текст, который необходимо перевести.
Что предназначено для файла functions.php?
functions.php Это основной функциональный файл темы; он выполняет роль плагина, предназначенного для добавления новых функций, механизмов взаимодействия («хуков») и фильтров в саму тему.
Основные функции этого файла включают: инициализацию параметров темы (например, настройки регистрационного меню, раздела с приложениями, поддержки добавления специальных изображений); включение CSS-шаблонов и JavaScript-скриптов; создание пользовательских сокращенных команд; изменение стандартного поведения WordPress с помощью хуков (hooks); а также настройку параметров, характерных для данной темы. Этот файл автоматически вызывается системой WordPress при загрузке темы.
Какие преимущества есть при использовании подтем (subtopics)?
Основное преимущество использования подтем (subthemes) заключается в том, что они позволяют безопасно изменять и настраивать основную тему (parent theme) без необходимости напрямого редактирования исходных файлов этой основной темы.
Это означает, что при публикации обновлений безопасности или функциональных улучшений для родительской темы вы можете непосредственно обновить её, и все ваши собственные изменения (стили, файлы шаблонов, дополнительные функции), внесённые с помощью дочерних тем, будут сохранены и не будут перезаписаны. Это значительно повышает эффективность и безопасность обслуживания сайта и является одной из лучших практик в разработке на WordPress.
Что дальше, что дальше?
Расширенное чтение и практические знания
Следующие статьи связаны с темой этой статьи и подходят для дальнейшего углубленного чтения. Зачастую лучше начать с той статьи, которая наиболее близка к вашей текущей проблеме, а затем постепенно переходить к другим темам.
- Руководство по разработке тем для WordPress: Создание пользовательских сайтов с нуля
- Полное руководство по разработке тем для WordPress: практический курс от начала до мастерства
- Полное руководство по разработке тем для WordPress: создание профессиональных шаблонов веб-сайтов с нуля
- Практика разработки тем для WordPress: создание реагирующих корпоративных сайтов с нуля
- Создание тем для WordPress без использования кода: полное руководство от начала до мастерства